作業を時短!WordPressの投稿や固定ページ、カテゴリーなどの作成を自動で一括で実行できる実装方法を解説

みなさんこんにちは!エンジニアの高澤です!
今回は作業を時短!WordPressの投稿や固定ページ、カテゴリーなどの作成を自動で一括で実行できる実装方法を解説していきたいと思います。
今回の記事では、WordPressでテーマやプラグインを開発されているエンジニアの方、またWebサイト制作をされているエンジニアの方に向けて便利なツールとなるように執筆しておりますが、ブロガーの方や企業のウェブ担当者の方まで、ご利用できる内容となっておりますので、よろしければぜひ当記事をご活用ください。
目次
当記事の内容でできること
まず、当記事の内容でできることを事前にお伝えしておきたいと思います。
まずそもそも当記事ではWordPressの管理画面側に関する様々な作業をコード化して、ユーザーの皆さんの作業の時短につながることを目的に執筆しております。
その時短につながるであろうコードとして、現時点で以下の内容でサンプルコードを掲載しております。
- 投稿ページを20件を自動で作成
- カテゴリー5件を自動で作成
- タグ5件を自動で作成
- 投稿とカテゴリーをランダムに自動で紐付け
- 投稿とタグをランダムに自動で紐付け
- 固定ページを20件を自動で作成
それぞれ汎用性がありご自身でカスタマイズいただければ柔軟に作業を自動化できるかと思いますので、どうぞご自由にご活用いただければと思います。
内容は随時増やしていけたらと思いますので、よろしくお願いいたします。
必ずご注意いただきたいこと
まず何より必ず注意いただきたいのは、事前に必ずバックアップを取得してください、と言うことです。
当記事で掲載するサンプルコードは、いずれもデータベースのデータを直接書き換えたり削除したり追加したりする処理が含まれております。
そのため、使い方に関しての説明は省きますが、初心者でも非常に簡単にバックアップを取得できるAll-in-One WP Migration and Backupと言うプラグインなどをお使くことをおすすめいたします。

大変恐縮ですが、データの消失などに関してこちらでは一切責任を負えないため、くれぐれも何卒ご注意いただけますようお願いいたします。
投稿ページを20件を自動で作成
以下のコードは投稿ページを20件を自動で作成するためのコードになります。
まずはコードはfunctions.phpにコピー&ペーストしてください。
<?php
// 管理画面から一度だけサンプル記事20件を作成する関数
// 以下のURLにアクセスすると実行されます。
// https://あなたのサイト/wp-admin/edit.php?create_sample_posts_20=1
function create_sample_posts_20() {
if ( ! is_admin() ) return;
if ( ! current_user_can('manage_options') ) return;
if ( ! isset($_GET['create_sample_posts_20']) || $_GET['create_sample_posts_20'] != '1' ) return;
for ($i = 1; $i <= 20; $i++) {
$post_id = wp_insert_post(array(
'post_title' => 'サンプル記事' . $i,
'post_name' => 'sample-post-' . $i,
'post_status' => 'publish',
'post_type' => 'post',
'post_content' => 'これはサンプル記事' . $i . 'の本文です。',
));
}
add_action('admin_notices', function() {
echo '<div class="notice notice-success is-dismissible"><p>サンプル記事を20件作成しました。</p></div>';
});
}
add_action('admin_init', 'create_sample_posts_20');
ペーストが完了したら、必ずデータのバックアップを取得していただき、以下のURLへアクセスしてください。アクセスすると、コードの処理が実行されます。(アクセスする前に必ずバックアップを取得してください)
URLの「あなたのサイト」の部分は、ご自身のサイトのドメインに置き換えてアクセスしてください。(例:ume-noki.comなど)
https://あなたのサイト/wp-admin/edit.php?create_sample_posts_20=1
すると、下図のように投稿ページが自動で追加されていることが確認できます。

カテゴリー5件を自動で作成
以下のコードはカテゴリー5件を自動で作成するためのコードになります。
まずはコードはfunctions.phpにコピー&ペーストしてください。
<?php
// 管理画面から一度だけサンプルカテゴリー5件を作成する関数
// 以下のURLにアクセスすると実行されます。
// https://あなたのサイト/wp-admin/edit-tags.php?taxonomy=category&create_sample_categories_5=1
function create_sample_categories_5() {
if ( ! is_admin() ) return;
if ( ! current_user_can('manage_options') ) return;
if ( ! isset($_GET['create_sample_categories_5']) || $_GET['create_sample_categories_5'] != '1' ) return;
// 「未分類」はWordPress標準で存在するので何もしない
// サンプルカテゴリー1〜5のみ追加
for ($i = 1; $i <= 5; $i++) {
$slug = 'category' . $i;
if (!term_exists($slug, 'category')) {
wp_insert_term('カテゴリー' . $i, 'category', array('slug' => $slug));
}
}
add_action('admin_notices', function() {
echo '<div class="notice notice-success is-dismissible"><p>サンプルカテゴリーを5件作成しました(未分類はそのまま残ります)。</p></div>';
});
}
add_action('admin_init', 'create_sample_categories_5');
ペーストが完了したら、必ずデータのバックアップを取得していただき、以下のURLへアクセスしてください。アクセスすると、コードの処理が実行されます。(アクセスする前に必ずバックアップを取得してください)
URLの「あなたのサイト」の部分は、ご自身のサイトのドメインに置き換えてアクセスしてください。(例:ume-noki.comなど)
https://あなたのサイト/wp-admin/edit-tags.php?taxonomy=category&create_sample_categories_5=1
すると、下図のようにカテゴリーが自動で追加されていることが確認できます。

タグ5件を自動で作成
以下のコードはタグ5件を自動で作成するためのコードになります。
まずはコードはfunctions.phpにコピー&ペーストしてください。
<?php
// 管理画面から一度だけサンプルタグ5件を作成する関数
// 以下のURLにアクセスすると実行されます。
// https://あなたのサイト/wp-admin/edit-tags.php?taxonomy=post_tag&create_sample_tags_5=1
function create_sample_tags_5() {
if ( ! is_admin() ) return;
if ( ! current_user_can('manage_options') ) return;
if ( ! isset($_GET['create_sample_tags_5']) || $_GET['create_sample_tags_5'] != '1' ) return;
for ($i = 1; $i <= 5; $i++) {
wp_insert_term('タグ' . $i, 'post_tag', array('slug' => 'tag' . $i));
}
add_action('admin_notices', function() {
echo '<div class="notice notice-success is-dismissible"><p>サンプルタグを5件作成しました。</p></div>';
});
}
add_action('admin_init', 'create_sample_tags_5');
ペーストが完了したら、必ずデータのバックアップを取得していただき、以下のURLへアクセスしてください。アクセスすると、コードの処理が実行されます。(アクセスする前に必ずバックアップを取得してください)
URLの「あなたのサイト」の部分は、ご自身のサイトのドメインに置き換えてアクセスしてください。(例:ume-noki.comなど)
https://あなたのサイト/wp-admin/edit-tags.php?taxonomy=post_tag&create_sample_tags_5=1
すると、下図のようにタグが自動で追加されていることが確認できます。

投稿とカテゴリーをランダムに自動で紐付け
以下のコードは投稿とカテゴリーをランダムに自動で紐付けするためのコードになります。
まずはコードはfunctions.phpにコピー&ペーストしてください。
<?php
// 管理画面から一度だけサンプル記事20件とサンプルカテゴリー5件をランダムに紐付ける関数
// 以下のURLにアクセスすると実行されます。
// https://あなたのサイト/wp-admin/edit.php?link_sample_posts_categories=1
function link_sample_posts_to_categories_randomly() {
if ( ! is_admin() ) return;
if ( ! current_user_can('manage_options') ) return;
if ( ! isset($_GET['link_sample_posts_categories']) || $_GET['link_sample_posts_categories'] != '1' ) return;
// サンプル記事20件を取得
$posts = get_posts(array(
'post_type' => 'post',
'post_status' => 'publish',
'numberposts' => 20,
'orderby' => 'date',
'order' => 'ASC',
'fields' => 'ids',
'suppress_filters' => false,
));
// すべてのカテゴリーIDを取得(未分類を除外)
$categories = get_categories(array(
'hide_empty' => false,
));
$category_ids = array();
foreach ($categories as $cat) {
if ($cat->slug !== 'uncategorized') {
$category_ids[] = $cat->term_id;
}
}
if (empty($posts) || empty($category_ids)) return;
foreach ($posts as $post_id) {
shuffle($category_ids);
$selected = array_slice($category_ids, 0, 1);
wp_set_post_terms($post_id, $selected, 'category', false);
}
add_action('admin_notices', function() {
echo '<div class="notice notice-success is-dismissible"><p>すべての投稿のカテゴリーを未分類以外からランダムに1つ差し替えました。</p></div>';
});
}
add_action('admin_init', 'link_sample_posts_to_categories_randomly');
ペーストが完了したら、必ずデータのバックアップを取得していただき、以下のURLへアクセスしてください。アクセスすると、コードの処理が実行されます。(アクセスする前に必ずバックアップを取得してください)
URLの「あなたのサイト」の部分は、ご自身のサイトのドメインに置き換えてアクセスしてください。(例:ume-noki.comなど)
https://あなたのサイト/wp-admin/edit.php?link_sample_posts_categories=1
すると、下図のように投稿とカテゴリーをランダムに自動で紐付けが自動で追加されていることが確認できます。

投稿とタグをランダムに自動で紐付け
以下のコードは投稿とタグをランダムに自動で紐付けするためのコードになります。
まずはコードはfunctions.phpにコピー&ペーストしてください。
<?php
// 管理画面から一度だけサンプル記事20件とサンプルタグ5件をランダムに紐付ける関数
// 以下のURLにアクセスすると実行されます。
// https://あなたのサイト/wp-admin/edit.php?link_sample_posts_tags=1
function link_sample_posts_to_tags_randomly() {
if ( ! is_admin() ) return;
if ( ! current_user_can('manage_options') ) return;
if ( ! isset($_GET['link_sample_posts_tags']) || $_GET['link_sample_posts_tags'] != '1' ) return;
$posts = get_posts(array(
'post_type' => 'post',
'post_status' => 'publish',
'numberposts' => 20,
'orderby' => 'date',
'order' => 'ASC',
'fields' => 'ids',
'suppress_filters' => false,
));
$tags = get_terms(array(
'taxonomy' => 'post_tag',
'hide_empty' => false,
'number' => 5,
'orderby' => 'id',
'order' => 'ASC',
));
if (empty($posts) || empty($tags)) return;
$tag_ids = array_map(function($tag){return $tag->term_id;}, $tags);
foreach ($posts as $post_id) {
// 1〜3個のタグをランダムで割り当て
$num = rand(1, 3);
shuffle($tag_ids);
$selected = array_slice($tag_ids, 0, $num);
wp_set_post_terms($post_id, $selected, 'post_tag', false);
}
add_action('admin_notices', function() {
echo '<div class="notice notice-success is-dismissible"><p>サンプル記事20件にサンプルタグ5件をランダムに紐付けました。</p></div>';
});
}
add_action('admin_init', 'link_sample_posts_to_tags_randomly');
ペーストが完了したら、必ずデータのバックアップを取得していただき、以下のURLへアクセスしてください。アクセスすると、コードの処理が実行されます。(アクセスする前に必ずバックアップを取得してください)
URLの「あなたのサイト」の部分は、ご自身のサイトのドメインに置き換えてアクセスしてください。(例:ume-noki.comなど)
https://あなたのサイト/wp-admin/edit.php?link_sample_posts_tags=1
すると、下図のように投稿とタグをランダムに自動で紐付けが自動で追加されていることが確認できます。

固定ページを20件を自動で作成
以下のコードは固定ページを20件を自動で作成するためのコードになります。
まずはコードはfunctions.phpにコピー&ペーストしてください。
<?php
// 管理画面から一度だけサンプル固定ページ20件を作成する関数
// 以下のURLにアクセスすると実行されます。
// https://あなたのサイト/wp-admin/edit.php?post_type=page&create_sample_pages_20=1
function create_sample_pages_20() {
if ( ! is_admin() ) return;
if ( ! current_user_can('manage_options') ) return;
if ( ! isset($_GET['create_sample_pages_20']) || $_GET['create_sample_pages_20'] != '1' ) return;
for ($i = 1; $i <= 20; $i++) {
wp_insert_post(array(
'post_title' => 'サンプル固定ページ' . $i,
'post_name' => 'sample-page-' . $i,
'post_status' => 'publish',
'post_type' => 'page',
'post_content' => 'これはサンプル固定ページ' . $i . 'の本文です。',
));
}
add_action('admin_notices', function() {
echo '<div class="notice notice-success is-dismissible"><p>サンプル固定ページを20件作成しました。</p></div>';
});
}
ペーストが完了したら、必ずデータのバックアップを取得していただき、以下のURLへアクセスしてください。アクセスすると、コードの処理が実行されます。(アクセスする前に必ずバックアップを取得してください)
URLの「あなたのサイト」の部分は、ご自身のサイトのドメインに置き換えてアクセスしてください。(例:ume-noki.comなど)
https://あなたのサイト/wp-admin/edit.php?post_type=page&create_sample_pages_20=1
すると、下図のように固定ページが自動で追加されていることが確認できます。

まとめ
今回はWordPressで投稿や固定ページ、カテゴリーなどの作成を、自動かつ一括で実行する方法について解説しました。
本記事は、WordPressのテーマやプラグインを開発されているエンジニアの方はもちろん、Webサイト制作に携わる方々にとっても、作業の効率化や時短に役立つ内容となるよう意識して執筆しました。
また、ブロガーの方や企業のWeb担当者の方にとっても、日々の更新業務をスムーズに行うための実用的なヒントになるかと思います。
ぜひ、業務や運用の中で本記事の内容をご活用いただき、WordPress作業の効率化にお役立てください。
お気軽に皆さんのご要望をお聞かせください!
どんなに些細なことでも構いません!よろしければ記事や当サイトへの「こんな記事があったら仕事とかで役に立つな〜」や「こうだったらもっと役に立つのに!」といったようなご要望等をお気軽にお聞かせください!今後のサービス改善にお役立てさせていただきます!
例1)Reactの技術記事を書いてほしい!
例2)WordPressの使い方とかを初心者向けに解説してほしい!...など