Como Duplicar Uma Página no WordPress

Como Duplicar Uma Página no WordPress

Já passou por uma situação em que você quer dar uma repaginada no design da sua página atual, mas, ao mesmo tempo, quer manter o conteúdo dela intacto para uso futuro? Claro, você pode facilmente copiar, colar e salvar tudo num rascunho, mas não levaria junto a otimização do SEO, os templates de página, as imagens e assim por diante. 

Existem, ainda, outras situações em que você quer clonar uma postagem de blog só para fazer alguns ajustes em uma cópias dele e compará-lo com a versão original. Bem, poderiam haver inúmeras circunstâncias em que você precisa apenas duplicar uma página no WordPress. Ou mesmo um post.

É inútil investir seu tempo em algo que demoraria tanto quando você pode economizar tempo simplesmente duplicando uma página ou um post no WordPress com um único clique. Neste tutorial, você vai aprender como duplicar uma página no WordPress com a ajuda de alguns plugins. Essa é a maneira mais simples de fazer isso.

Vamos começar!

O Que Você Vai Precisar

Antes de iniciar esse guia, você vai precisar do seguinte:

  • Acesso ao admin do seu painel WordPress.

Opção 1: Duplicar Página no WordPress com o Plugin Duplicate Post

O plugin Duplicate Post é uma das maneiras mais fáceis de clonar ou duplicar um post ou uma página no WordPress. Ele não apenas permite que você crie um clone de conteúdo, mas você também pode colocar suas próprias opções de personalização.

Você pode ter, por exemplo, um prefixo ou um sufixo pré-definido que pode ser adicionado antes ou depois do título da página ou post duplicado. Além disso, você também pode restringir as funcionalidades do plugin de acordo com as permissões que o usuário que está trabalhando naquele momento tem.

Para duplicar um post ou uma página usando esse plugin, siga os passos abaixo:

  1. Instale e ative o plugin.
    plugin duplicate post
  2. Agora, clique em Páginas > Todas as páginas.
  3. Agora vá até o post ou a página que você quer duplicar e você verá duas novas opções lá: Clonar e Novo Rascunho.
    opção de clonar com o plugin duplicate post
  • Clicando em Clonar você cria uma versão clonada de um determinado post.
  • Clicando em Novo Rascunho você cria uma versão clonada de um determinado post e ainda pode abri-lo no editor de postagens. Você então pode começar a editá-lo e escolher entre salvá-lo como um rascunho ou publicá-lo definitivamente.

Opção 2: Duplicar uma Página no WordPress com o Plugin Duplicate Page and Post

O Duplicate Page and Post é outro plugin que você pode usar para duplicar páginas ou posts rapidamente. Esse plugin ajuda você a criar uma página ou post duplicado ao mesmo tempo em que mantém intacto todo o conteúdo deles, incluindo o título e o estilo geral.

Usar esse plugin é bastante fácil. Você só precisa seguir os passos abaixo.

  1. Instale e ative o plugin.
    plugin duplicate page and post
  2. Agora, vá em Páginas > Todas as páginas se você quer criar uma cópia clonada de uma página. Ou vá em Posts > Todos os posts se você quer criar uma cópia clonada de um post.
  3. Vá até o post que você quer clonar e clique em Duplicate.
    opção de duplicar com o plugin duplicate post and page
  4. Você será redirecionado para uma cópia clonada do respectivo post ou página clonada. Daqui, você pode editar o conteúdo como quiser e, então, clique em Salvar como rascunho ou Publicar.
    salvar e publicar um rascunho ou conteúdo com o plugin duplicate post and page

Opção 3: Duplicar uma Página no WordPress com o Plugin Post Duplicator

Se os plugins anteriores não servirem bem ao que você procura, você pode optar por testar o Post Duplicator. Esse plugin ajuda você a criar uma réplica perfeita do post que escolher, ao mesmo tempo em que mantém os campos de personalização e também as taxonomias personalizadas.

Tudo o que você precisa fazer é:

  1. Instalar e ativar o plugin.
    plugin post duplicator no wordpress
  2. Agora, vá ao post ou à página que você quer duplicar e clique em Duplicate Página ou Duplicate Post, dependendo do que você quer fazer, e crie uma cópia clonada do arquivo.
    opção de duplicar página com o plugin post duplicator no wordpress
  3. O plugin vai instantaneamente duplicar a página ou o post.
    opção de copiar ou duplicar página ou post no wordpress

Opção 4: Duplicar uma Página no WordPress sem Usar Plugins

Importanet!Atenção: Nós recomendamos fazer backup do seu site antes de editar qualquer arquivo no WordPress.

Além de utilizar plugins, você também pode usar códigos no WordPress para duplicar posts ou páginas. Se você gosta de programação, você vai se encontrar aqui. E mesmo que você não esteja familiarizado com essa prática, estamos aqui para ajudar. Abaixo você encontra o code snippet que habilita a duplicação de posts no WordPress.

/*
 * 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 );

Além desse snippet ser usado para duplicação de posts, você também pode usá-lo para duplicar páginas no WordPress. Basta substituir a última linha do código por esta linha abaixo:

add_filter('page_row_actions', 'rd_duplicate_post_link', 10, 2);
adicionar código no wordpress para duplicar página ou post

Tudo o que você precisa fazer é colocar esse código no arquivo functions.php. Para fazer isso, você pode usar tanto o File Manager, o Cliente FTP FileZilla ou o editor de arquivos do próprio WordPress, como mostramos abaixo.

Assim que fizer isso, você poderá ir em Todas as páginas ou em Todos os posts e duplicar qualquer um deles apertando o botão Duplicate. Quando fizer isso, o WordPress vai criar uma cópia da página ou do post que você selecionou e vai salvá-lo como rascunho. Tranquilo, né?

Conclusão

Temos certeza de que você deve estar pensando por que você nunca tinha ouvido falar sobre estes plugins antes. Mas antes tarde do que nunca! Esperamos que o tutorial acima tenha respondido todas as suas perguntas e agora você já sabe como duplicar uma página no WordPress.

Todos os plugins mencionados acima não apenas não rápidos, mas também bem confiáveis para usar no seu site feito numa hospedagem de WordPress. Então por que investir tanto tempo numa tarefa complexa quando você pode cumpri-la em apenas alguns cliques?

Tem algum pedido ou qualquer experiência que queira compartilhar? Conte tudo para a gente nos comentários abaixo. Para mais guias WordPress e tutoriais, não deixe de visitar os conteúdos sobre WordPress no nosso blog!

Author
O autor

Andrei L.

Jornalista e conteudista SEO/Localização na Hostinger Brasil. Tem experiência em WordPress e na produção de conteúdos de tecnologia otimizados para conquistar as melhores posições no Google. É fã de games, adora vôlei, ama o inverno e está sempre buscando se aperfeiçoar no Inglês.