MENU

【WordPress】記事の複製をプラグインを使わずに行う方法

WordPressでの投稿や固定ページの複製は、コンテンツのリライトや再利用において非常に便利な作業です。

プラグインを使用せずに、簡単な操作でページを複製する方法を2つ紹介します。

まずは、ブロックエディタを利用してページ内のすべてのブロックをコピーし、新しいページに貼り付ける方法。

次に、テーマの functions.php ファイルを編集して、投稿一覧に複製ボタンを追加する方法です。

これらの手法を使うことで、効率的にコンテンツを管理し、作業をスムーズに進めることができます。

目次から探す

方法1.ページすべてのブロックをコピーする

WordPressでは、投稿や固定ページの内容を簡単に複製することができます。

この方法では、ページ内のすべてのブロックをコピーして、新しいページに貼り付ける手順を説明します。

ブロックのコピー

まず、複製したい投稿または固定ページの編集画面を開きます。

画面の右上にある三点リーダー(⋮)をクリックすると、メニューが表示されます。

このメニューの中から「すべてのブロックをコピー」を選択します。

この操作により、ページ内のすべてのブロックがクリップボードにコピーされます。

別のページに貼り付ける

次に、複製先のページを新規追加します。

新しいページの編集画面に移動したら、本文編集エリアにカーソルを置きます。

ここで、先ほどコピーした内容を貼り付けます。

通常、キーボードの Ctrl + V (Windows)または Command + V (Mac)を使って貼り付けることができます。

貼り付けが完了すると、元のページのすべてのブロックが新しいページに表示されます。

これで、内容の複製が完了です。

必要に応じて、タイトルやその他の設定を変更して、投稿を公開する準備を整えましょう。

この方法を使えば、プラグインを使用せずに簡単にページを複製できるため、記事のテンプレートを用意しておけば効率よく記事を作成できるようになります。

方法2:複製ボタンを追加する

WordPressでは、管理画面の記事一覧ページから投稿や固定ページを複製するための専用のボタンを追加することも可能です。

この方法では、テーマの functions.php ファイルを編集して、複製ボタンを作成する手順を説明します。

functions.phpの編集

まず、WordPressの管理画面にログインし、外観メニューから「テーマエディター」を選択します。

次に、右側のファイルリストから functions.php を見つけてクリックします。

このファイルに以下のコードを追加します。

function add_duplicate_post_link($actions, $post) {
    if (current_user_can('edit_posts')) {
        $actions['duplicate'] = '<a href="' . wp_nonce_url('admin.php?action=duplicate_post&post=' . $post->ID, 'duplicate_post_' . $post->ID) . '" title="複製" rel="permalink">複製</a>';
    }
    return $actions;
}
add_filter('post_row_actions', 'add_duplicate_post_link', 10, 2);
function duplicate_post() {
    global $wpdb;
    if (!isset($_GET['post']) || !isset($_GET['action']) || $_GET['action'] != 'duplicate_post') {
        wp_die('不正なリクエストです。');
    }
    $id = intval($_GET['post']);
    $post = get_post($id);
    if (isset($post->ID)) {
        $new_post = array(
            'post_title' => $post->post_title . ' (コピー)',
            'post_content' => $post->post_content,
            'post_status' => 'draft',
            'post_type' => $post->post_type,
            'post_author' => $post->post_author,
        );
        $new_post_id = wp_insert_post($new_post);
        if ($new_post_id) {
            wp_redirect(admin_url('post.php?action=edit&post=' . $new_post_id));
            exit;
        }
    }
}
add_action('admin_action_duplicate_post', 'duplicate_post');

このコードは、投稿一覧に「複製」リンクを追加し、そのリンクをクリックすることで選択した投稿を複製する機能を実装します。

コードを追加したら、変更を保存してください。

複製ボタンの確認

次に、投稿一覧ページに移動します。

複製したい投稿の行に移動すると、追加した「複製」リンクが表示されているはずです。

他の項目と同じ用に、カーソルを合わせると表示される

このリンクをクリックすると、選択した投稿が複製され、新しい投稿がドラフトとして作成されます。

新しい投稿は、元の投稿のタイトルに「(コピー)」が追加された状態で作成されます。

これにより、元の内容をそのまま引き継ぎつつ、新しい投稿として編集を行うことができます。

この方法を使うことで、複製作業がさらに簡単になり、効率的にコンテンツを管理できるようになります。

プラグインを使用せずに、WordPressの機能を拡張する良い手段です。

目次から探す