Como duplicar uma página ou postagem no WordPress
Publicados: 2021-08-26Procurando uma maneira de duplicar uma página, postagem ou outro tipo de conteúdo do WordPress?
Ser capaz de duplicar facilmente o conteúdo do WordPress pode ser útil em todos os tipos de situações, desde a criação em massa de conteúdo semelhante até a atualização de conteúdo antigo, ajustes de design e muito mais.
Em muitos casos, porém, é mais do que apenas copiar e colar texto entre páginas diferentes. Além do conteúdo que você criou, você também pode querer preservar seu design e as configurações da postagem, como suas categorias, tags, autor, campos personalizados e outros metadados.
Nesta postagem, forneceremos um guia abrangente sobre como você pode duplicar completamente uma página WordPress, postar e muito mais usando soluções 100% gratuitas.
No final, você poderá duplicar qualquer conteúdo do seu site com o clique de um botão - vamos começar.
Índice
- Como duplicar uma postagem ou página no WordPress: três métodos
- Como duplicar uma página do WordPress usando um plug-in
- Postagem duplicada de Yoast
- Postagem duplicada
- WooCommerce
- Como duplicar uma página do WordPress usando o editor
- Editor de Bloco (Gutenberg)
- Elementor
- Como duplicar uma página WordPress manualmente com código
Como duplicar uma postagem ou página no WordPress: três métodos
Existem três métodos principais que você pode usar para duplicar uma página, postagem ou outro tipo de postagem do WordPress:
- Plug - in - a maneira mais fácil de duplicar uma postagem ou página é usar um dos muitos plug-ins dedicados (a maioria dos quais é gratuito).
- Editor - dependendo de quão completamente você deseja duplicar o conteúdo, você poderá usar apenas o editor se você se preocupar apenas em duplicar o conteúdo e o design.
- Código manual - para os que fazem você mesmo, você pode apenas adicionar algum código personalizado ao arquivo functions.php do tema filho.
Cobriremos todos os três métodos - vamos examiná-los ...
Como duplicar uma página do WordPress usando um plug-in
Existem muitos plug-ins que facilitam a duplicação de postagens, páginas ou outro conteúdo em seu site.
Se você tem uma loja WooCommerce, WooCommerce inclui seu próprio recurso integrado para duplicar produtos - mais sobre isso abaixo. E se você não fizer isso, você encontrará muitos plug-ins gratuitos no WordPress.org, incluindo o seguinte:
- Postagem duplicada de Yoast
- Postagem duplicada
- Página duplicada
- Post Duplicator
- Página e postagem duplicadas
Além do WooCommerce, mostraremos como ele funciona com dois dos plug-ins gratuitos da lista acima:
- Yoast Duplicate Post porque é muito fácil de usar e inclui um recurso exclusivo “Reescrever e Republicar” que é ótimo para atualizar o conteúdo existente.
- Postagem duplicada porque dá a você um controle mais granular em algumas áreas.
Ambos os plug-ins são gratuitos e também testamos ambos para garantir que funcionem com designs do Elementor e conteúdo criado com o editor WordPress nativo. Imaginamos que todos os outros plug-ins acima também funcionarão com o Elementor, embora não os tenhamos testado especificamente.
Postagem duplicada de Yoast
Primeiro, vamos dar uma olhada no Yoast Duplicate Post. Este plugin é ótimo se você deseja apenas uma maneira rápida e fácil de duplicar postagens, páginas ou qualquer outro tipo de postagem personalizada.
Além de permitir a clonagem de conteúdo, ele também inclui um recurso exclusivo de Reescrever e Republicar que o ajuda a atualizar o conteúdo existente. Essencialmente, esse recurso permite duplicar o conteúdo para fazer alterações e, em seguida, “mesclar” a versão duplicada de volta à versão original quando quiser que as alterações sejam ativadas.
Para começar, instale e ative o plugin Yoast Duplicate Post gratuito do WordPress.org.
Agora, você tem algumas maneiras diferentes de duplicar conteúdo.
Primeiro, você pode ir para a lista principal de Postagens ou Páginas . Se você passar o mouse sobre um item da lista, verá três opções:
- Clonar - duplique o conteúdo e mantenha a guia do seu navegador na lista de postagens / páginas.
- Novo rascunho - duplique o conteúdo e abra o editor do conteúdo duplicado para que você possa começar a trabalhar imediatamente.
- Reescrever e republicar - este é um recurso útil para atualizar o conteúdo antigo, como discutimos acima. A principal diferença é que ele permitirá que você mescle o conteúdo de volta à postagem original quando terminar.
A abordagem mais simples é apenas clicar em Clonar . Em seguida, você verá uma nova entrada de rascunho para o conteúdo duplicado aparecer na lista. O plug-in irá marcá-lo com um aviso de “Rascunho de Personalização” para que você saiba que é a versão duplicada:
Em segundo lugar, você também pode duplicar o conteúdo de dentro do editor do WordPress. Você encontrará essas opções na seção Status e visibilidade da barra lateral Postagem / Página :
Por fim, você também pode duplicar postagens ou páginas em massa usando as opções do plug-in na lista suspensa de ações em massa da lista de postagens ou páginas :
- Use a caixa de seleção para selecionar todas as postagens ou páginas que deseja duplicar.
- Escolha o método de duplicação no menu suspenso - Clonar ou Reescrever e publicar novamente .
- Clique em Aplicar .
Se você deseja personalizar o comportamento do plugin, pode ir para Configurações → Duplicar postagem . Esta área permite que você:
- Escolha o conteúdo a ser duplicado.
- Adicione um prefixo ou sufixo personalizado ao título do conteúdo duplicado.
- Escolha como solicitar o conteúdo duplicado no menu.
- Selecione quais tipos de postagem qualificar para duplicação.
- Escolha quais funções de usuário têm a capacidade de duplicar conteúdo.
- Personalize onde exibir os links / botões de postagem duplicados.
Postagem duplicada
Duplicate Post tem a mesma função básica do Yoast Duplicate Post, pois torna mais fácil duplicar rapidamente um post ou página.
Algumas vantagens deste plugin em relação ao Yoast Duplicate Post são:
- Permite duplicar uma postagem / página várias vezes com um clique. Por exemplo, você pode instruí-lo a criar quatro cópias duplicadas.
- Oferece um pouco mais de controle sobre o conteúdo que você duplica entre as postagens.
- Inclui um recurso para verificar se há conteúdo duplicado em seu site, o que é útil para localizar rapidamente duplicatas.
- Permite copiar conteúdo entre diferentes sites de rede multisite do WordPress, incluindo aqueles em um subdomínio (embora este recurso exija o plugin premium de $ 19,98).
- Oferece a opção de converter postagens em páginas e vice-versa (também requer a versão premium).
Se você não precisa desses recursos, recomendamos usar Yoast Duplicate Post, pois é mais popular e dá conta do recado. Mas se você quiser esses recursos, esta é outra opção sólida a se considerar.
Para começar, instale e ative o plugin gratuito Duplicate Post do WordPress.org. Assim que você ativá-lo, ele começará a funcionar.
Vá para a lista de Postagens / Páginas e passe o mouse sobre a parte do conteúdo que deseja duplicar. Você verá uma nova opção para Copiar . Se você passar o mouse sobre isso, expandirá algumas configurações adicionais para escolher quantas duplicatas fazer e quais configurações usar (mais sobre isso em um segundo):
Assim como no Yoast Duplicate Post, você também pode usar as caixas de seleção e a lista suspensa de ações em massa para copiar várias postagens em massa.
Para definir as configurações do plug-in, você pode ir para a nova guia Copiar e excluir postagens no painel do WordPress. É aqui que você pode definir todas as configurações, incluindo:
- Qual conteúdo duplicar.
- Quem pode duplicar conteúdo.
- Para quais tipos de postagem personalizados habilitar a duplicação.
- Etc.
Uma coisa boa é que você pode criar vários perfis de configurações e escolher qual configuração usar ao duplicar conteúdo.
Se você rolar até o final da área de configurações, também pode encontrar o recurso para verificar se há conteúdo duplicado em seu site:
Novamente, se você deseja apenas uma maneira simples de duplicar o conteúdo, recomendamos usar o plugin Yoast Duplicate Post. Mas se algum desses recursos chamar sua atenção, Duplicate Post também funciona bem.
WooCommerce
Se você estiver usando o WooCommerce para criar uma loja de comércio eletrônico, o WooCommerce inclui seu próprio recurso integrado para duplicar produtos - não há necessidade de instalar um plug-in separado.
Para duplicar um produto, vá para a área Produtos em seu painel. Em seguida, passe o mouse sobre o produto que deseja duplicar e clique em Duplicar :
Você também pode duplicar um produto de dentro do editor de produtos clicando na opção Copiar para um novo rascunho nas configurações de Publicação :
Observação - essas opções aparecem apenas em produtos. Se quiser duplicar postagens e páginas, você precisará instalar um dos plug-ins acima.
Como duplicar uma página do WordPress usando o editor
Se você está preocupado principalmente em duplicar o conteúdo / design de um post ou página, pode ficar bem sem um plug-in, graças a alguns recursos de editor integrados.
Nesta seção, mostraremos como duplicar rapidamente um design que você criou com o editor de bloco nativo (Gutenberg) ou Elementor.
É importante observar que ambos os métodos apenas duplicam o conteúdo e o design - você precisará recriar manualmente quaisquer metadados importantes, como título, categorias, tags, campos personalizados, etc.
Editor de Bloco (Gutenberg)
Para duplicar rapidamente o conteúdo do editor de bloco, comece abrindo o editor da postagem ou página que deseja duplicar.
Clique no ícone de três pontos no canto superior direito para expandir o menu. Em seguida, escolha a opção de Copiar todo o conteúdo :
Agora, crie uma nova postagem ou página. Em seguida, clique no editor e cole o conteúdo. Você também pode:
- Use um atalho de teclado como Ctrl + V ou Cmd + V.
- Clique com o botão direito e escolha colar.
Você deve ver uma cópia exata do conteúdo original no editor. No entanto, você precisará adicionar manualmente o título, as categorias, as tags, etc.
Elementor
Nota - você pode duplicar páginas ou posts construídos com Elementor usando os plugins que mencionamos acima. Mas se você está preocupado principalmente em duplicar o design de uma postagem / página do Elementor (ao invés de outros metadados como autor e categorias), você pode fazer isso usando o sistema de template do Elementor.
Temos um guia sobre como duplicar uma página Elementor, mas aqui está a ideia básica.
Primeiro, você pode salvar seu design como um modelo na interface do editor Elementor:
Em seguida, você pode criar uma nova postagem ou página e inserir o modelo da biblioteca de modelos Elementor.
Se você deseja duplicar mais do que apenas uma única página, você também pode usar o recurso de kits de sites da Elementor para exportar / importar designs de sites completos.
O recurso de importação / exportação Elementor permite que você importe suas próprias criações e crie um novo site em segundos. Basta criar um blueprint que pode ser usado para vários projetos ou reutilizar sua criação web favorita. Em seguida, exporte todo o site e aplique-o a seus outros projetos.
Você pode usar sua própria criação ou escolher em nossa biblioteca de kits de sites feitos por designers. Basta aplicá-lo ao seu site, adicionar conteúdo e torná-lo seu.
Como duplicar uma página WordPress manualmente com código
Se preferir a abordagem do-it-yourself (DIY), você também pode criar sua própria função de página duplicada usando algum código personalizado. Este método não adiciona nenhum benefício sobre a rota do plugin, além de eliminar a necessidade de instalar outro plugin em seu site.
No entanto, se evitar outro plug-in é importante para você, essa abordagem é adequada e funcionará com o conteúdo regular do editor e o Elementor.
Para usar este código, você precisa adicioná-lo ao arquivo functions.php do seu tema ou a um plugin de gerenciamento de código como trechos de código. Se você adicioná-lo ao arquivo functions.php , certifique-se de usar um tema filho.
<?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'] = 'ID, basename(__FILE__), 'duplicate_nonce' ) . '" title="Duplicate this item" rel="permalink">Duplicate'; } return $actions; } add_filter( 'post_row_actions', 'rd_duplicate_post_link', 10, 2 );
<?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'] = 'ID, basename(__FILE__), 'duplicate_nonce' ) . '" title="Duplicate this item" rel="permalink">Duplicate'; } return $actions; } add_filter( 'post_row_actions', 'rd_duplicate_post_link', 10, 2 );
<?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'] = 'ID, basename(__FILE__), 'duplicate_nonce' ) . '" title="Duplicate this item" rel="permalink">Duplicate'; } return $actions; } add_filter( 'post_row_actions', 'rd_duplicate_post_link', 10, 2 );
Por padrão, o snippet permite a duplicação de postagens e páginas. Se você só quiser habilitá-lo para um ou outro, você pode remover o filtro page_row_actions ou post_row_actions na parte inferior do trecho de código.
Melhore o seu processo de criação na web duplicando páginas e postagens
Ser capaz de duplicar uma página, postagem ou outro tipo de postagem do WordPress é muito útil quando você está trabalhando em um site WordPress.
Nesta postagem, compartilhamos três métodos diferentes que você pode usar para duplicar conteúdo.
Para a maioria das pessoas, a maneira mais fácil de clonar totalmente uma postagem ou página é por meio do plug-in Yoast Duplicate Post gratuito. Ele começa a trabalhar imediatamente e funciona com o editor de bloco (Gutenberg), Elementor e o editor TinyMCE clássico. Ele também funciona com todos os tipos de postagem, de páginas a postagens e qualquer tipo de postagem personalizada que você possa estar usando.
Se você tem uma loja WooCommerce, também pode usar o recurso integrado do WooCommerce para duplicar produtos. Ou você pode adicionar algum código personalizado ao seu site se preferir não instalar outro plug-in.
Por último, se você só precisa duplicar o conteúdo / design de um post, pode usar o sistema de template do Elementor ou usar a opção do editor de bloco para copiar todo o conteúdo.
Antes de irmos, um rápido lembrete. Você não deseja publicar conteúdo duplicado na maioria das situações, pois isso pode afetar negativamente o seu SEO. Portanto, se você estiver duplicando uma página sem alterar seu conteúdo (talvez apenas para alterar a URL), considere redirecionar a página original quando terminar.
Você ainda tem dúvidas sobre como duplicar uma página ou postagem do WordPress? Deixe-nos saber na seção de comentários.