Как дублировать запись или страницу WordPress?
Опубликовано: 2020-11-03Дублирование страницы или поста упрощает создание веб-сайта. Это гораздо больше, чем просто копирование и вставка содержимого.
Дублирование записей и страниц WordPress может помочь вам настроить параметры темы, SEO-данные и изображения одним щелчком мыши.
Есть несколько случаев, когда вам нужно будет создавать страницы или посты, за исключением контента, который абсолютно аналогичен. Например, создайте страницы продаж с таким же внешним видом, но с небольшими изменениями содержимого.
Представьте, как весело было бы установить настройку один раз и повторно использовать ее для других страниц?
Это было бы здорово, правда?
В статье ниже вы найдете способы дублирования записей или страниц в WordPress. Вы получите представление о том, как сделать это вручную, с помощью плагина и без плагина.
Оглавление
- Зачем дублировать пост или страницу WordPress?
- Как дублировать запись или страницу WordPress?
- Использование плагинов
- Yoast Дублировать сообщение
- Дублировать страницу
- Дублировать страницу и пост
- Без использования плагинов
- Через код functions.php
- Скопируйте и вставьте код вручную
- Вывод
Зачем дублировать пост или страницу WordPress?
При создании веб-сайта иногда две или более страниц вашего сайта могут стать идентичными в своих настройках.
Хотя вы можете копировать и вставлять содержимое, вам необходимо настроить параметры страниц вручную. В таком случае дублирование поста или страницы — более естественный и эффективный вариант.
Таким образом, вы можете приступить к редактированию поста или страницы и сразу же приступить к работе. Кроме того, с веб-сайтами с несколькими страницами легче работать.
Теперь вопрос в том, как вы можете дублировать запись или страницу WordPress?
Как дублировать запись или страницу WordPress?
Есть три способа дублировать запись или страницу WordPress. Поскольку это WordPress, есть плагины, которые сделают всю работу за вас. Если вы не хотите использовать плагин и хотите сделать это вручную, вы также можете выбрать его.
Использование плагинов
Плагины обеспечивают безопасность и удобство при дублировании страниц и сообщений с вашего сайта. Они легко интегрируются с темой WordPress, чтобы предоставить вам расширенные функциональные возможности. Лучше всего то, что вам не нужно писать ни строчки кода с этими плагинами.
Yoast Дублировать сообщение
Для большинства пользователей WordPress Duplicate Post может быть хорошо известным именем. Это потому, что это самый популярный и удобный вариант для дублирования страниц и сообщений.
Вы можете клонировать все, от контента до даже комментариев, связанных со страницей или публикацией. Чтобы использовать этот плагин, выполните следующие действия.
- Установите и активируйте плагин.
- В панели управления перейдите в «Сообщения» > «Все» или «Страница» > «Все».
- Перейдите к исходному сообщению/странице, которую вы хотите скопировать, и нажмите «Клонировать».
- Вы можете клонировать несколько страниц одновременно, используя массовые действия.


Дублировать страницу
Duplicate Page — еще один отличный плагин с несколькими дополнительными функциями по сравнению с традиционными плагинами. Вы можете создавать дубликаты страниц, сообщений и пользовательских типов сообщений. После того, как вы создали копию, вы можете сохранить ее в любой желаемой форме как черновик, общедоступную, личную или ожидающую рассмотрения.
Чтобы использовать плагин, выполните следующие действия:
- Установите и активируйте плагин.
- Настройте параметры конфигурации в соответствии с вашими потребностями.
- Перейдите в «Страницы» > «Все» или «Сообщения» > «Все» и выберите контент, который хотите дублировать.
- Нажмите «Дублировать это», и все готово.

Дублировать страницу и пост
Этот плагин самый легкий и быстрый. Хотя он может не иметь расширенных функций, как другие плагины, это один из самых эффективных плагинов.
Чтобы дублировать свои сообщения и страницу с помощью этого плагина, выполните следующие действия:
- Установите и активируйте плагин.
- Перейдите в «Сообщения/Все» или «Страницы/Все».
- Откройте страницу или сообщения, которые вы хотите клонировать.
- Нажмите кнопку «Дублировать».


Без использования плагинов
Да, плагины отличные. Но это не единственный способ дублировать посты и страницы. Вы можете сделать это самостоятельно без плагинов. Ниже приведены несколько способов, которыми вы можете это сделать.
Через код functions.php
Вы можете дублировать свои сообщения и страницы, используя файл functions.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 и идентификатор сообщения, и сообщите нам, была ли наша статья полезна для вас.