WordPressの投稿またはページを複製する方法は?
公開: 2020-11-03ページや投稿を複製すると、ウェブサイトを簡単に作成できます。 単にコンテンツをコピーして貼り付けるだけではありません。
WordPressの投稿とページの複製は、クリックするだけでテーマ設定、SEOデータ、画像を調整するのに役立ちます。
コンテンツを除いて、まったく同じようなページや投稿を作成する必要がある場合は、複数あります。 たとえば、コンテンツを少し変更するだけで、同じルックアンドフィールの販売ページを作成できます。
一度設定して、他のページで再利用するのがどれほど楽しいか想像してみてください。
それは素晴らしいでしょう?
以下の記事では、WordPressで投稿やページを複製する方法を紹介しています。 プラグインを使用して、プラグインを使用せずに、手動でそれを行う方法についてのアイデアを得ることができます。
目次
- なぜWordPressの投稿やページを複製するのですか?
- WordPressの投稿またはページを複製する方法は?
- プラグインの使用
- Yoast Duplicate Post
- 重複ページ
- ページと投稿を複製する
- プラグインを使用せずに
- Functions.phpコード経由
- コードを手動でコピーして貼り付ける
- 結論
なぜWordPressの投稿やページを複製するのですか?
Webサイトを構築しているときに、サイト内の2つ以上のページの設定が同じになる場合があります。
コンテンツをコピーして貼り付けることはできますが、ページの設定を手動で調整する必要があります。 このような場合、投稿またはページを複製する方がより自然で効率的なオプションです。
そうすることで、投稿やページの編集を開始し、すぐに作業を開始できます。 さらに、複数のページを持つWebサイトを処理する方が簡単です。
問題は、WordPressの投稿やページをどのように複製できるかということです。
WordPressの投稿またはページを複製する方法は?
WordPressの投稿またはページを複製する方法は3つあります。 それはWordPressなので、あなたのために仕事をするためのプラグインがあります。 プラグインを使用せずに手動で使用したい場合は、それを選択することもできます。
プラグインの使用
プラグインは、Webサイトからページや投稿を複製するときに、安全性と使いやすさを保証します。 これらはWordPressテーマと簡単に統合して、拡張機能を提供します。 最良のことは、これらのプラグインを使用して1行のコードを記述する必要がないことです。
Yoast Duplicate Post
ほとんどのWordPressユーザーにとって、DuplicatePostはよく知られている名前かもしれません。 これは、ページや投稿を複製するための最も人気があり、頼りになるオプションだからです。
コンテンツから、ページや投稿に関連付けられたコメントまで、すべてのクローンを作成できます。 このプラグインを使用するには、次の手順に従います。
- プラグインをインストールしてアクティブ化します。
- ダッシュボードから、[投稿]> [すべて]または[ページ]> [すべて]に移動します。
- コピーする元の投稿/ページに移動して、[クローン]をクリックします。
- バルクアクションを使用して、一度に複数のページのクローンを作成できます。


重複ページ
Duplicate Pageは、従来のプラグインと比較して、いくつかの機能が追加されたもう1つの優れたプラグインです。 ページ、投稿、カスタム投稿タイプの複製を作成できます。 コピーを作成したら、ドラフト、パブリック、プライベート、または保留中の任意の形式で保存できます。
プラグインを使用するには、以下の手順に従ってください。
- プラグインをインストールしてアクティブ化します。
- 必要に応じて構成設定を調整します。
- [ページ]> [すべて]または[投稿]> [すべて]に移動し、複製するコンテンツを選択します。
- [これを複製]をクリックすると、完了です。

ページと投稿を複製する
このプラグインは最も軽量で高速です。 他のプラグインのような高度な機能はないかもしれませんが、最も効率的なプラグインの1つです。
このプラグインを使用して投稿とページを複製するには、次の手順に従います。
- プラグインをインストールしてアクティブ化します。
- [投稿/すべて]または[ページ/すべて]に移動します。
- 複製するページまたは投稿を開きます。
- [複製]ボタンを押します。


プラグインを使用せずに
はい、プラグインは素晴らしいです。 しかし、投稿やページを複製する方法はそれだけではありません。 プラグインなしで手動で行うことを選択できます。 以下に、それを行うためのいくつかの方法を示します。
Functions.phpコード経由
関数.phpファイルを使用して投稿とページを複製できます。 既存のfunctions.phpに数行のコードを記述します。 ただし、functions.phpファイルに変更を加える前に、サイトを完全にバックアップしてください。
コードがどのように機能するかを理解するには、コードの基本的な理解が必要です。 今のところ、以下のコードをコピーして貼り付けてください。
/* * Function for post duplication. Dups appear as drafts. User is redirected to the edit screen */ function rd_duplicate_post_as_draft(){ global $wpdb; if (! ( isset( $_GET['post']) || isset( $_POST['post']) || ( isset($_REQUEST['action']) && 'rd_duplicate_post_as_draft' == $_REQUEST['action'] ) ) ) { wp_die('No post to duplicate has been supplied!'); } /* * Nonce verification */ if ( !isset( $_GET['duplicate_nonce'] ) || !wp_verify_nonce( $_GET['duplicate_nonce'], basename( __FILE__ ) ) ) return; /* * get the original post id */ $post_id = (isset($_GET['post']) ? absint( $_GET['post'] ) : absint( $_POST['post'] ) ); /* * and all the original post data then */ $post = get_post( $post_id ); /* * if you don't want current user to be the new post author, * then change next couple of lines to this: $new_post_author = $post->post_author; */ $current_user = wp_get_current_user(); $new_post_author = $current_user->ID; /* * if post data exists, create the post duplicate */ if (isset( $post ) && $post != null) { /* * new post data array */ $args = array( 'comment_status' => $post->comment_status, 'ping_status' => $post->ping_status, 'post_author' => $new_post_author, 'post_content' => $post->post_content, 'post_excerpt' => $post->post_excerpt, 'post_name' => $post->post_name, 'post_parent' => $post->post_parent, 'post_password' => $post->post_password, 'post_status' => 'draft', 'post_title' => $post->post_title, 'post_type' => $post->post_type, 'to_ping' => $post->to_ping, 'menu_order' => $post->menu_order ); /* * insert the post by wp_insert_post() function */ $new_post_id = wp_insert_post( $args ); /* * get all current post terms ad set them to the new post draft */ $taxonomies = get_object_taxonomies($post->post_type); // returns array of taxonomy names for post type, ex array("category", "post_tag"); foreach ($taxonomies as $taxonomy) { $post_terms = wp_get_object_terms($post_id, $taxonomy, array('fields' => 'slugs')); wp_set_object_terms($new_post_id, $post_terms, $taxonomy, false); } /* * duplicate all post meta just in two SQL queries */ $post_meta_infos = $wpdb->get_results("SELECT meta_key, meta_value FROM $wpdb->postmeta WHERE post_id=$post_id"); if (count($post_meta_infos)!=0) { $sql_query = "INSERT INTO $wpdb->postmeta (post_id, meta_key, meta_value) "; foreach ($post_meta_infos as $meta_info) { $meta_key = $meta_info->meta_key; if( $meta_key == '_wp_old_slug' ) continue; $meta_value = addslashes($meta_info->meta_value); $sql_query_sel[]= "SELECT $new_post_id, '$meta_key', '$meta_value'"; } $sql_query.= implode(" UNION ALL ", $sql_query_sel); $wpdb->query($sql_query); } /* * finally, redirect to the edit post screen for the new draft */ wp_redirect( admin_url( 'post.php?action=edit&post=' . $new_post_id ) ); exit; } else { wp_die('Post creation failed, could not find original post: ' . $post_id); } } add_action( 'admin_action_rd_duplicate_post_as_draft', 'rd_duplicate_post_as_draft' ); /* * Add the duplicate link to action list for post_row_actions */ function rd_duplicate_post_link( $actions, $post ) { if (current_user_can('edit_posts')) { $actions['duplicate'] = '<a href="' . wp_nonce_url('admin.php?action=rd_duplicate_post_as_draft&post=' . $post->ID, basename(__FILE__), 'duplicate_nonce' ) . '" title="Duplicate this item" rel="permalink">Duplicate</a>'; } return $actions; } add_filter( 'post_row_actions', 'rd_duplicate_post_link', 10, 2 );
投稿の代わりにページのクローンを作成する場合は、コードの最後の行に投稿の代わりにページを追加して、小さな変更を加えます。

add_filter('page_row_actions', 'rd_duplicate_post_link', 10, 2);
コードを手動でコピーして貼り付ける
このプロセスは、クローンを作成する各ページまたは投稿からコードをコピーして貼り付ける必要があるため、一部の人にとっては面倒なプロセスになる可能性があります。
投稿またはページを手動で複製するには、以下の手順に従います。
- 複製するページまたは投稿を開きます。
- [その他のツールとオプション]メニューに移動します。
- コードエディタを選択します。
- 複製するページまたは投稿のコードをコピーします。
- [新しい投稿]または[新しいページ]をクリックします。
- 新しいページでコードエディタを開きます。
- コードを貼り付けます。
- [その他のツールとオプション]メニューに移動します。
- ビジュアルエディタを選択します。
- 表示されるページまたは投稿は、古いもののクローンです。
結論
WordPressの投稿やページを複製する方法には多くのオプションがあります。 プラグインを使用するか、プラグインなしでページと投稿のクローンを作成するかを選択できます。 プラグインはあなたの仕事をより簡単にします。 一方、プラグインなしでそれを行うと、物事を完全に制御できます。
したがって、ニーズに最適な方法を使用してください。 また、WordPressのページIDと投稿IDを見つける方法を確認し、私たちの記事が役に立ったかどうかをお知らせください。