IT аутсорсинг Сопровождение 1С Разработка сайтов в СПб
+7 (812) 677-73-31
Звоните с 10:00 до 19:00
Заказать звонок
Каталог
  • Программы 1С
    Программы 1С
    • Продукты 1С
    • 1С:Комплект поддержки (ИТС)
    • Сервисы 1С
    • Дополнительные лицензии 1С
  • Программное обеспечение
    Программное обеспечение
    • Видеонаблюдение
    • CMS управление сайтами
    • CRM системы
    • Антивирусы
  • Торговое оборудование
    Торговое оборудование
    • Терминалы сбора данных
    • Онлайн-кассы
    • Сканеры штрихкодов
    • Принтеры этикеток
Акции
Услуги
  • Консультации и поддержка 1C
  • IT-Аутсорсинг
Техно-Блог
Решения и сервисы
  • Веб сервисы
    • Яндекс ИКС
    • Проверка позиций
Как купить
  • Условия оплаты
  • Условия доставки
  • Гарантия на товар
Компания
  • Новости
  • Проекты
    • Интернет-магазины
    • Корпоративные сайты
    • Базовое SEO
  • Вакансии
  • Лицензии
  • Политика
  • Отзывы
Контакты
Ещё
    IT аутсорсинг Сопровождение 1С Разработка сайтов в СПб
    Каталог
    • Программы 1С
      Программы 1С
      • Продукты 1С
      • 1С:Комплект поддержки (ИТС)
      • Сервисы 1С
      • Дополнительные лицензии 1С
    • Программное обеспечение
      Программное обеспечение
      • Видеонаблюдение
      • CMS управление сайтами
      • CRM системы
      • Антивирусы
    • Торговое оборудование
      Торговое оборудование
      • Терминалы сбора данных
      • Онлайн-кассы
      • Сканеры штрихкодов
      • Принтеры этикеток
    Акции
    Услуги
    • Консультации и поддержка 1C
    • IT-Аутсорсинг
    Техно-Блог
    Решения и сервисы
    • Веб сервисы
      • Яндекс ИКС
      • Проверка позиций
    Как купить
    • Условия оплаты
    • Условия доставки
    • Гарантия на товар
    Компания
    • Новости
    • Проекты
      • Интернет-магазины
      • Корпоративные сайты
      • Базовое SEO
    • Вакансии
    • Лицензии
    • Политика
    • Отзывы
    Контакты
    Ещё
      IT аутсорсинг Сопровождение 1С Разработка сайтов в СПб
      Телефоны
      +7 (812) 677-73-31
      Заказать звонок
      • Главная
      • Каталог
        • Назад
        • Каталог
        • Программы 1С
          • Назад
          • Программы 1С
          • Продукты 1С
          • 1С:Комплект поддержки (ИТС)
          • Сервисы 1С
          • Дополнительные лицензии 1С
        • Программное обеспечение
          • Назад
          • Программное обеспечение
          • Видеонаблюдение
          • CMS управление сайтами
          • CRM системы
          • Антивирусы
        • Торговое оборудование
          • Назад
          • Торговое оборудование
          • Терминалы сбора данных
          • Онлайн-кассы
          • Сканеры штрихкодов
          • Принтеры этикеток
      • Акции
      • Услуги
        • Назад
        • Услуги
        • Консультации и поддержка 1C
        • IT-Аутсорсинг
      • Техно-Блог
      • Решения и сервисы
        • Назад
        • Решения и сервисы
        • Веб сервисы
          • Назад
          • Веб сервисы
          • Яндекс ИКС
          • Проверка позиций
      • Как купить
        • Назад
        • Как купить
        • Условия оплаты
        • Условия доставки
        • Гарантия на товар
      • Компания
        • Назад
        • Компания
        • Новости
        • Проекты
          • Назад
          • Проекты
          • Интернет-магазины
          • Корпоративные сайты
          • Базовое SEO
        • Вакансии
        • Лицензии
        • Политика
        • Отзывы
      • Контакты
      • +7 (812) 677-73-31
      Контактная информация
      198188, Город Санкт-Петербург, улица Зайцева, дом 41
      info@rapid-brain.ru
      • Вконтакте
      • Twitter
      • YouTube
      • LinkedIn
      Главная
      -
      Блог
      -Как скопировать страницу в WordPress

      Как скопировать страницу в WordPress

      Поделиться
      10 января 2020
      // Веб
      Как скопировать страницу в WordPress

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


      Во время работы над сайтом может возникнуть потребность в дублировании страниц. Например, для более быстрого заполнения контента однотипными страницами/постами. Также может возникнуть ситуация, когда нужно внести правки в страницу и иметь исходный вариант. Опцию дублирования можно подключить с помощью плагина или вручную добавить код в тему. Рассмотрим в этой статье подключение с помощью добавления кода в файл function.php.

      1. В админ панели wordpress зайдите в раздел внешний вид – редактор тем.
      2. Справа в файлах активной темы найдите файл functions.php
      3. Внимание! Перед следующим шагом рекомендуется сделать бэкап вашего сайта.
      4. В конец файла вставить следующий код:
      /*
       * 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);

      5.Нажмите внизу обновить файл.

      6.Готово. Теперь рядом со страницами и файлами появится кнопка duplicate. При нажатии на которую, открывается копия страницы/поста.


      Фотогалерея
      • Как скопировать страницу в WordPress
      • Как скопировать страницу в WordPress

      Теги
      WordPress Инструкция Настройка
      Поделиться
      Назад к списку
      • Комментарии
      Загрузка комментариев...
      Категории
      • 1С7
      • Администрирование2
      • Веб6
      Это интересно
      • Как отключить комментарии в WordPress
        Как отключить комментарии в WordPress
        10 января 2020
      • UMI CMS Работа корзины с товарами имеющим опции
        UMI CMS Работа корзины с товарами имеющим опции
        21 апреля 2019
      • Активация DEV ключа на UMI CMS
        Активация DEV ключа на UMI CMS
        1 декабря 2018
      • UMI CMS фиксированный размер скидки для товаров каталога
        UMI CMS фиксированный размер скидки для товаров каталога
        9 марта 2017
      • Полезные моменты для разработчика на UMI CMS
        Полезные моменты для разработчика на UMI CMS
        9 марта 2017
      Облако тегов
      1С-Отчетность 1С: Бухгалтерия 1С: ЗУП 1С: Управление торговлей 1С:Предприятие MAC OS UMI USB VPN Windows WordPress Инструкция Касса Настройка Обновление Обработки Отчеты
      Кабинет сотрудника
      Компания
      О компании
      Новости
      Вакансии
      Политика
      Информация
      Помощь
      Условия оплаты
      Условия доставки
      Гарантия на товар
      Помощь
      Блог
      Вопрос-ответ
      Бренды
      Будьте всегда в курсе!
      Узнавайте о самом важном и интересном первым
      Оставайтесь на связи
      • Вконтакте
      • Twitter
      • YouTube
      • LinkedIn
      Наши контакты
      +7 (812) 677-73-31
      info@rapid-brain.ru
      198188, Город Санкт-Петербург, улица Зайцева, дом 41
      2023 © ООО «Рапид Брэйн» - комплексное сопровождение IT