Как сделать дубликат страницы или поста в WordPress

Опубликовано: 2021-08-26

Ищете способ дублировать страницу WordPress, запись или другой тип контента?

Возможность легко дублировать контент WordPress может быть полезна во всех типах ситуаций, от массового создания аналогичного контента до обновления старого контента, настройки дизайна и многого другого.

Однако во многих случаях речь идет не только о копировании и вставке текста между разными страницами. В дополнение к созданному вами контенту вы также можете сохранить его дизайн и настройки публикации, такие как ее категории, теги, автор, настраиваемые поля и другие метаданные.

В этом посте мы дадим вам исчерпывающее руководство о том, как вы можете полностью дублировать страницу WordPress, пост и многое другое, используя 100% бесплатные решения.

К концу вы сможете дублировать любой контент на своем сайте одним нажатием кнопки — давайте начнем.

Оглавление

  • Как дублировать запись или страницу в WordPress: три метода
  • Как дублировать страницу WordPress с помощью плагина
  • Yoast Дублировать сообщение
  • Дублировать сообщение
  • WooCommerce
  • Как дублировать страницу WordPress с помощью редактора
  • Редактор блоков (Гутенберг)
  • Элементор
  • Как дублировать страницу WordPress вручную с помощью кода
Ускорьте процесс создания веб-сайтов еще больше с помощью полных наборов веб-сайтов

Как дублировать запись или страницу в WordPress: три метода

Существует три основных метода, которые вы можете использовать для дублирования страницы WordPress, записи или другого пользовательского типа записи:

  • Плагин — самый простой способ продублировать пост или страницу — использовать один из множества специализированных плагинов (большинство из которых бесплатны).
  • Редактор — в зависимости от того, насколько тщательно вы хотите дублировать контент, вы можете использовать только редактор, если вас интересует только дублирование контента и дизайна.
  • Ручной код — для тех, кто делает все сам, вы можете просто добавить некоторый собственный код в файл functions.php вашей дочерней темы.

Мы рассмотрим все три метода — давайте пройдемся по ним…

Как дублировать страницу WordPress с помощью плагина

Существует множество плагинов, которые позволяют легко дублировать сообщения, страницы или другой контент на вашем сайте.

Если у вас есть магазин WooCommerce, WooCommerce включает собственную встроенную функцию для дублирования товаров — подробнее об этом ниже. А если нет, то на WordPress.org вы найдете множество бесплатных плагинов, в том числе следующие:

  • Yoast Дублировать сообщение
  • Дублировать сообщение
  • Дублировать страницу
  • Почтовый дубликатор
  • Дублировать страницу и пост

Помимо WooCommerce, мы покажем вам, как он работает с двумя бесплатными плагинами из списка выше:

  • Yoast Duplicate Post , потому что он очень прост в использовании и включает в себя уникальную функцию «Переписать и опубликовать повторно», которая отлично подходит для обновления существующего контента.
  • Дублируйте публикацию , потому что это дает вам более детальный контроль в некоторых областях.

Оба плагина бесплатны, и мы также протестировали оба, чтобы убедиться, что они работают как с дизайном Elementor, так и с контентом, созданным с помощью родного редактора WordPress. Мы предполагаем, что все остальные плагины, указанные выше, также будут работать с Elementor, хотя мы специально их не тестировали.

Yoast Дублировать сообщение

Во-первых, давайте взглянем на Yoast Duplicate Post. Этот плагин отлично подходит, если вам просто нужен быстрый и простой способ дублировать сообщения, страницы или любой другой пользовательский тип сообщений.

Помимо возможности клонирования контента, он также включает в себя уникальную функцию «Переписать и опубликовать повторно», которая помогает обновлять существующий контент. По сути, эта функция позволяет вам дублировать контент для внесения изменений, а затем «объединять» дублированную версию обратно с исходной версией, когда вы хотите внести изменения в жизнь.

Для начала установите и активируйте бесплатный плагин Yoast Duplicate Post с WordPress.org.

Теперь у вас есть несколько разных способов дублировать контент.

Во-первых, вы можете перейти к основному списку сообщений или страниц . Если вы наведете курсор на элемент в списке, вы увидите три варианта:

  • Клонировать — продублируйте контент и сохраните вкладку браузера в списке постов/страниц.
  • Новый черновик — продублируйте содержимое и откройте редактор дублированного содержимого, чтобы сразу же приступить к работе.
  • Переписать и опубликовать заново — это полезная функция для обновления старого контента, о чем мы говорили выше. Ключевое отличие состоит в том, что он позволит вам объединить контент обратно в исходный пост, как только вы закончите.
дубликат-страницы-1-опции-в-списке-страниц

Самый простой подход — просто нажать « Клонировать» . Затем вы увидите новую черновую запись для дублированного контента в списке. Плагин пометит его уведомлением «Черновик настройки», чтобы вы знали, что это дубликат версии:

Во-вторых, вы также можете дублировать контент из редактора WordPress. Вы найдете эти параметры в разделе « Статус и видимость » боковой панели «Запись /Страница» :

Наконец, вы также можете массово дублировать сообщения или страницы, используя параметры плагина в раскрывающемся списке массовых действий в списке сообщений или страниц :

  1. Используйте флажок, чтобы выбрать все сообщения или страницы, которые вы хотите продублировать.
  2. В раскрывающемся списке выберите метод дублирования — « Клонировать » или « Переписать и опубликовать заново ».
  3. Нажмите Применить .

Если вы хотите настроить поведение плагина, вы можете перейти в « Настройки» → «Дублировать публикацию» . Эта область позволяет:

  • Выберите, какой контент дублировать.
  • Добавьте пользовательский префикс или суффикс к заголовку дублированного контента.
  • Выберите, как упорядочить дублированный контент в меню.
  • Выберите, какие типы сообщений сделать доступными для дублирования.
  • Выберите, какие роли пользователей имеют возможность дублировать контент.
  • Настройте, где отображать повторяющиеся ссылки/кнопки сообщений.
дубликат-страницы-5-yoast-дублировать-пост-настройки-область

Дублировать сообщение

Duplicate Post выполняет ту же основную функцию, что и Yoast Duplicate Post, в том смысле, что позволяет легко быстро дублировать сообщение или страницу.

Несколько преимуществ этого плагина перед Yoast Duplicate Post заключаются в том, что он:

  1. Позволяет дублировать запись/страницу несколько раз одним щелчком мыши. Например, вы можете сказать ему создать четыре копии-дубликата.
  2. Дает вам немного больше контроля над тем, какой контент вы дублируете между сообщениями.
  3. Включает функцию сканирования вашего сайта на наличие дублирующегося контента, что полезно для быстрого поиска дубликатов.
  4. Позволяет копировать контент между различными многосайтовыми сетевыми сайтами WordPress, в том числе на поддоменах (хотя для этой функции требуется премиальный плагин за 19,98 долларов США).
  5. Дает вам возможность конвертировать сообщения в страницы и наоборот (также требуется премиум-версия).

Если вам не нужны эти функции, мы рекомендуем использовать Yoast Duplicate Post, поскольку он более популярен и выполняет свою работу. Но если вам нужны эти функции, это еще один хороший вариант для рассмотрения.

Для начала установите и активируйте бесплатный плагин Duplicate Post с WordPress.org. Как только вы активируете его, он начнет работать.

Перейдите к списку сообщений/страниц и наведите указатель мыши на фрагмент контента, который вы хотите продублировать. Вы увидите новую опцию « Копировать ». Если вы наведете курсор на это, вы развернете некоторые дополнительные настройки, чтобы выбрать, сколько дубликатов делать и какие настройки использовать (подробнее об этом чуть позже):

дубликат страницы-6-дубликат-пост-плагин

Как и в случае с Yoast Duplicate Post, вы также можете использовать флажки и раскрывающийся список массовых действий для массового копирования нескольких сообщений.

Чтобы настроить параметры плагина, вы можете перейти на новую вкладку « Копировать и удалить сообщения » на панели управления WordPress. Здесь вы можете настроить все параметры, включая:

  • Какой контент дублировать.
  • Кто может дублировать контент.
  • Для каких пользовательских типов сообщений включить дублирование.
  • И т.п.

Приятно то, что вы можете создать несколько профилей настроек и выбрать, какую конфигурацию использовать при дублировании контента.

Если вы прокрутите вниз области настроек, вы также можете найти функцию сканирования дублированного контента на вашем сайте:

Опять же, если вам просто нужен простой способ дублирования контента, мы рекомендуем использовать плагин Yoast Duplicate Post. Но если какая-либо из этих функций привлекла ваше внимание, Duplicate Post также работает хорошо.

WooCommerce

Если вы используете WooCommerce для создания магазина электронной коммерции, WooCommerce включает в себя собственную встроенную функцию для дублирования продуктов — нет необходимости устанавливать отдельный плагин.

Чтобы дублировать продукт, перейдите в раздел « Продукты » на панели инструментов. Затем наведите указатель мыши на продукт, который вы хотите продублировать, и нажмите « Дублировать» :

Вы также можете продублировать продукт из редактора продуктов, щелкнув параметр « Копировать в новый черновик » в настройках публикации :

Примечание . Эти параметры отображаются только на продуктах. Если вы хотите дублировать сообщения и страницы, вам необходимо установить один из плагинов, указанных выше.

Как дублировать страницу WordPress с помощью редактора

Если вы в основном заинтересованы в дублировании содержимого/дизайна поста или страницы, вам может не хватить плагина благодаря некоторым встроенным функциям редактора.

В этом разделе мы покажем вам, как быстро продублировать дизайн, созданный вами с помощью встроенного редактора блоков (Gutenberg) или Elementor.

Важно отметить, что оба эти метода будут дублировать только контент и дизайн — вам нужно будет вручную воссоздать все важные метаданные, такие как заголовок, категории, теги, настраиваемые поля и т. д.

Редактор блоков (Гутенберг)

Чтобы быстро продублировать содержимое из редактора блоков, начните с открытия редактора публикации или страницы, которую вы хотите продублировать.

Щелкните значок с тремя точками в правом верхнем углу, чтобы развернуть меню. Затем выберите параметр « Копировать все содержимое »:

дубликат-страницы-11-дубликат-контента-gutenberg

Теперь создайте новый пост или страницу. Затем щелкните в редакторе и вставьте содержимое. Вы также можете:

  • Используйте сочетание клавиш, например Ctrl + V или Cmd + V.
  • Щелкните правой кнопкой мыши и выберите вставить.

Вы должны увидеть точную копию исходного контента в редакторе. Однако вам нужно будет вручную добавить заголовок, категории, теги и т. д.

Элементор

Примечание . Вы можете дублировать страницы или сообщения, созданные с помощью Elementor, с помощью плагинов, о которых мы упоминали выше. Но если вас в основном беспокоит дублирование дизайна поста/страницы Elementor (а не другие метаданные, такие как автор и категории), вы можете сделать это, используя систему шаблонов Elementor.

У нас есть руководство о том, как дублировать страницу Elementor, но вот основная идея.

Во-первых, вы можете сохранить свой дизайн как шаблон из интерфейса редактора Elementor:

дубликат-страницы-12-элемент-шаблон

Затем вы можете создать новый пост или страницу и вставить шаблон из библиотеки шаблонов Elementor.

Если вы хотите продублировать больше, чем одну страницу, вы также можете использовать функцию наборов веб-сайтов Elementor для экспорта / импорта полных дизайнов веб-сайтов.

Дублируйте свой полный дизайн веб-сайта, импортировав свой собственный набор веб-сайтов

Функция импорта/экспорта Elementor позволяет импортировать собственные творения и создавать новый веб-сайт за считанные секунды. Просто создайте план, который можно использовать для нескольких проектов, или повторно используйте свое любимое веб-творение. Затем экспортируйте весь веб-сайт и примените его к другим своим проектам.

Вы можете использовать свое собственное творение или выбрать из нашей библиотеки дизайнерских наборов для веб-сайтов. Просто примените его к своему веб-сайту, добавьте контент и сделайте его своим.

Как дублировать страницу WordPress вручную с помощью кода

Если вы предпочитаете подход «сделай сам» (DIY), вы также можете создать свою собственную функцию дублирования страницы, используя некоторый пользовательский код. Этот метод не дает никаких преимуществ по сравнению с маршрутом плагина, кроме устранения необходимости устанавливать другой плагин на вашем сайте.

Однако, если для вас важно избегать использования другого плагина, этот подход подойдет и будет работать с обычным содержимым редактора и Elementor.

Чтобы использовать этот код, вам нужно добавить его либо в файл functions.php вашей темы, либо в плагин управления кодом, такой как фрагменты кода. Если вы добавите его в файл functions.php , обязательно используйте дочернюю тему.

 $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>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 ); <code readonly="true">$current_user = wp_get_current_user(); $new_post_author = $current_user-&gt;ID; /* * if post data exists, create the post duplicate */ if (isset( $post ) &amp;&amp; $post != null) { /* * new post data array */ $args = array( &#39;comment_status&#39; =&gt; $post-&gt;comment_status, &#39;ping_status&#39; =&gt; $post-&gt;ping_status, &#39;post_author&#39; =&gt; $new_post_author, &#39;post_content&#39; =&gt; $post-&gt;post_content, &#39;post_excerpt&#39; =&gt; $post-&gt;post_excerpt, &#39;post_name&#39; =&gt; $post-&gt;post_name, &#39;post_parent&#39; =&gt; $post-&gt;post_parent, &#39;post_password&#39; =&gt; $post-&gt;post_password, &#39;post_status&#39; =&gt; &#39;draft&#39;, &#39;post_title&#39; =&gt; $post-&gt;post_title, &#39;post_type&#39; =&gt; $post-&gt;post_type, &#39;to_ping&#39; =&gt; $post-&gt;to_ping, &#39;menu_order&#39; =&gt; $post-&gt;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-&gt;post_type); // returns array of taxonomy names for post type, ex array(&quot;category&quot;, &quot;post_tag&quot;); foreach ($taxonomies as $taxonomy) { $post_terms = wp_get_object_terms($post_id, $taxonomy, array(&#39;fields&#39; =&gt; &#39;slugs&#39;)); wp_set_object_terms($new_post_id, $post_terms, $taxonomy, false); } /* * duplicate all post meta just in two SQL queries */ $post_meta_infos = $wpdb-&gt;get_results(&quot;SELECT meta_key, meta_value FROM $wpdb-&gt;postmeta WHERE post_id=$post_id&quot;); if (count($post_meta_infos)!=0) { $sql_query = &quot;INSERT INTO $wpdb-&gt;postmeta (post_id, meta_key, meta_value) &quot;; foreach ($post_meta_infos as $meta_info) { $meta_key = $meta_info-&gt;meta_key; if( $meta_key == &#39;_wp_old_slug&#39; ) continue; $meta_value = addslashes($meta_info-&gt;meta_value); $sql_query_sel[]= &quot;SELECT $new_post_id, &#39;$meta_key&#39;, &#39;$meta_value&#39;&quot;; } $sql_query.= implode(&quot; UNION ALL &quot;, $sql_query_sel); $wpdb-&gt;query($sql_query); } /* * finally, redirect to the edit post screen for the new draft */ wp_redirect( admin_url( &#39;post.php?action=edit&amp;post=&#39; . $new_post_id ) ); exit; } else { wp_die(&#39;Post creation failed, could not find original post: &#39; . $post_id); } } add_action( &#39;admin_action_rd_duplicate_post_as_draft&#39;, &#39;rd_duplicate_post_as_draft&#39; ); /* * Add the duplicate link to action list for post_row_actions */ function rd_duplicate_post_link( $actions, $post ) { if (current_user_can(&#39;edit_posts&#39;)) { $actions[&#39;duplicate&#39;] = &#39;&lt;a&gt;ID, basename(__FILE__), &#39;duplicate_nonce&#39; ) . &#39;&quot; title=&quot;Duplicate this item&quot; rel=&quot;permalink&quot;&gt;Duplicate&lt;/a&gt;&#39;; } return $actions; } add_filter( &#39;post_row_actions&#39;, &#39;rd_duplicate_post_link&#39;, 10, 2 );</code> $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>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 );
			

По умолчанию фрагмент включает дублирование как для сообщений, так и для страниц. Если вы хотите включить его только для одного или другого, вы можете удалить фильтр page_row_actions или post_row_actions в нижней части фрагмента кода.

Улучшите процесс создания веб-сайтов, дублируя страницы и сообщения

Возможность дублировать страницу, запись или другой тип записи WordPress очень удобна, когда вы работаете над сайтом WordPress.

В этом посте мы поделились тремя различными методами, которые вы можете использовать для дублирования контента.

Для большинства людей самый простой способ полностью клонировать сообщение или страницу — использовать бесплатный плагин Yoast Duplicate Post. Он сразу начинает работать и работает с редактором блоков (Gutenberg), Elementor и редактором Classic TinyMCE. Он также работает со всеми типами сообщений, от страниц до сообщений и любыми пользовательскими типами сообщений, которые вы можете использовать.

Если у вас есть магазин WooCommerce, вы также можете использовать встроенную функцию WooCommerce для дублирования товаров. Или вы можете добавить собственный код на свой сайт, если не хотите устанавливать другой плагин.

Наконец, если вам нужно только продублировать контент/дизайн поста, вы можете использовать систему шаблонов Elementor или использовать опцию редактора блоков для копирования всего контента.

Прежде чем мы пойдем, одно краткое напоминание. Вы не хотите публиковать дублированный контент в большинстве ситуаций, так как это может негативно повлиять на SEO. Поэтому, если вы дублируете страницу без изменения ее содержимого (возможно, просто для изменения URL-адреса), вам следует подумать о перенаправлении исходной страницы после завершения.

У вас все еще есть вопросы о том, как продублировать страницу или запись WordPress? Дайте нам знать в разделе комментариев.

Получите размещенный веб-сайт WP Мгновенно
Учить больше
Получить хостинг
веб-сайт ВП
Немедленно
Учить больше
Присоединяйтесь к нашему глобальному сообществу создателей веб-сайтов
Присоединяйся сейчас
Почувствуйте дух сообщества в нашем центре
Присоединяйся сейчас
Общайтесь с другими веб-создателями
Найти встречи