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

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

Это работает только до определенной степени, так как большая часть вашего форматирования, такая как функции, изображения и SEO, будет потеряна, и ее придется переделывать. Для получения дополнительной информации по этой теме вы можете ознакомиться с этой статьей на дублирование страницы в WordPress.

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

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

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

Копирование страницы WordPress без плагинов

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

Немного кодирования

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

Доступ к файлу Functions.php

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

Первый способ - использовать FTP-клиент, поэтому вам сначала нужно установить Ftp Клиент. Запустите FTP-клиент, нажмите «Подключиться» и укажите свое имя пользователя и пароль для подключения к FTP-серверу. Затем вы можете получить доступ к соответствующему файлу, выбрав «WordPress Root», затем «WP Content», затем «Themes», затем «Current Themes», и вы наконец попадете в functions.php. Затем вы можете загрузить файл, отредактировать его при необходимости и загрузить обратно в соответствующее место.

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

Теперь вы знаете, как получить доступ к файлу functions.php, чтобы вносить изменения в код без плагина; основная цель - дублировать страницу. Следующим шагом является ввод соответствующего кода, который будет дублировать страницу. Не волнуйтесь, если вы плохо разбираетесь в кодировании, потому что мы включили необходимый код, который вы можете просто скопировать и вставить.

/ * * Функция дублирования постов.  Dups отображаются как сквозняки.  Пользователь перенаправляется на экран редактирования * / function rd_duplicate_post_as_draft () {global $ wpdb; если (!  (isset ($ _GET ['post']) || isset ($ _POST ['post']) || (isset ($ _ REQUEST ['action']) && 'rd_duplicate_post_as_draft' == $ _REQUEST ['action']) )) {wp_die ('Сообщение для дублирования не отправлено!'); } / * * Проверка nonce * / if (! Isset ($ _GET ['duplicate_nonce']) ||! Wp_verify_nonce ($ _GET ['duplicate_nonce'], basename (__FILE__))) return; / * * получить исходный идентификатор сообщения * / $ post_id = (isset ($ _ GET ['post'])?  абсент ($ _GET ['сообщение']): абсент ($ _POST ['сообщение'])); / * * и все исходные данные поста, затем * / $ post = get_post ($ post_id); / * * если вы не хотите, чтобы текущий пользователь был автором нового сообщения, * измените следующие несколько строк на это: $ new_post_author = $ post-> post_author; * / $ current_user = wp_get_current_user (); $ new_post_author = $ current_user-> ID; / * * если данные сообщения существуют, создать дубликат сообщения * / if (isset ($ post) && $ post! = null) {/ * * массив данных нового сообщения * / $ 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); / * * вставляем сообщение с помощью функции wp_insert_post () * / $ new_post_id = wp_insert_post ($ args); / * * получить все текущие условия публикации и установить их для нового черновика сообщения * / $ taxonomies = get_object_taxonomies ($ post-> post_type); // возвращает массив названий таксономии для типа сообщения, ex array ("category", "post_tag"); foreach ($ taxonomies как $ taxonomy) {$ post_terms = wp_get_object_terms ($ post_id, $ taxonomy, array ('fields' => 'slugs')); wp_set_object_terms ($ new_post_id, $ post_terms, $ taxonomy, false); } / * * дублировать все мета сообщений всего за два SQL-запроса * / $ post_meta_infos = $ wpdb-> get_results ("ВЫБРАТЬ meta_key, meta_value FROM $ wpdb-> postmeta WHERE post_id = $ post_id"); if (count ($ post_meta_infos)! = 0) {$ sql_query = "ВСТАВИТЬ $ wpdb-> postmeta (post_id, meta_key, meta_value)"; foreach ($ post_meta_infos как $ meta_info) {$ meta_key = $ meta_info-> meta_key; if ($ meta_key == '_wp_old_slug') продолжить; $ meta_value = добавляет косые черты ($ meta_info-> meta_value); $ sql_query_sel [] = "ВЫБЕРИТЕ $ new_post_id, '$ meta_key', '$ meta_value'"; } $ sql_query. = implode ("ОБЪЕДИНЕНИЕ ВСЕХ", $ sql_query_sel); $ wpdb-> запрос ($ sql_query); } / * * наконец, перенаправляем на экран редактирования сообщения для нового черновика * / wp_redirect (admin_url ('post.php? action = edit & post ='.  $ new_post_id)); выход; } else {wp_die ('Ошибка создания сообщения, не удалось найти исходное сообщение:'.  $ post_id); }} add_action ('admin_action_rd_duplicate_post_as_draft', 'rd_duplicate_post_as_draft'); / * * Добавить повторяющуюся ссылку в список действий для post_row_actions * / function rd_duplicate_post_link ($ actions, $ post) {if (current_user_can ('edit_posts')) {$ actions ['duplicate'] = '  wp_nonce_url ('admin.php? action = rd_duplicate_post_as_draft & post ='.  $ post-> ID, базовое имя (__ FILE__), 'duplicate_nonce'). 

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

add_filter ('post_row_actions', 'rd_duplicate_post_link', 10, 2);

Заключение

Теперь вы знаете, как скопировать страницу WordPress без плагинов. Как видите, всего два шага. Сначала откройте файл functions.php, скопируйте и вставьте этот код в файл, а затем обновите его. Это так просто, и как только вы закончите, у вас будет точная копия исходной страницы.

    0 комментария

    Нет коментариев.