Como duplicar páginas corretamente no WordPress (com 2 maneiras)
Publicados: 2022-09-23Não perca tempo duplicando manualmente cada página do seu site WordPress. Se você tem a intenção de duplicar muitas páginas, vamos mostrar 2 soluções para duplicar páginas no WordPress de maneira fácil e rápida.
Quando você precisa duplicar páginas no WordPress?
Às vezes, você precisa duplicar páginas no WordPress para exibir conteúdo diferente, mas no mesmo layout de página. Você pode fazer isso manualmente, o que significa que você precisa copiar o modelo e os elementos de SEO, incluindo meta descrições e tags de título. E esse processo é repetido muitas vezes, o que leva seu tempo e esforço.
Se você precisar de outra solução que seja mais conveniente e que economize tempo, mas ainda assim altamente eficaz, uma sugestão para você é duplicar páginas no WordPress via plugins ou arquivo functions.php. Hoje, gostaríamos de trazer instruções detalhadas sobre isso. Vamos começar!
Como duplicar páginas no WordPress
Na verdade, existem dois métodos principais para duplicar páginas no WordPress. A primeira é usar plugins duplicadores do WordPress para fazer isso. E outra é adicionar código ao arquivo functions.php para gerar páginas duplicadas ou até mesmo posts duplicados.
No entanto, recomendamos que você escolha um plugin para atingir seus objetivos. Adicionar código ao editor de arquivos de tema às vezes causa um erro no seu site WordPress e tudo fica complicado. Portanto, é uma boa idéia para você obter uma solução segura.
Usando plugins para duplicar páginas no WordPress
Para ser honesto, no mercado atual, vários plugins úteis aparecem para ajudá-lo a duplicar páginas no WordPress. No entanto, gostaríamos de apresentar dois plugins fáceis de usar e eficazes: Yoast Duplicate Post e Duplicate Page and Post.
Agora, vamos dar uma olhada nas instruções detalhadas para usar o Yoast Duplicate Post para o seu site WordPress.
- Faça login no seu painel de administração do WordPress -> Vá para Plugins -> Adicionar novo .
- Encontre Yoast Duplicate Post -> Instale e ative -o.
- No painel de administração, escolha Abrir página -> Todas as páginas .
- Selecione a página que deseja duplicar, haverá 2 novas opções: Clone e New Draft .
- Se você espera duplicar páginas no WordPress , basta clicar no botão Clonar . Caso você precise gerar uma nova página contendo conteúdo copiado , vamos escolher a opção Novo Rascunho .
Outro plugin para ajudá-lo a clonar a página atual é Duplicate Page and Post . Vamos seguir o passo abaixo:
- Faça login no seu painel de administração do WordPress -> Vá para Plugins -> Adicionar novo .
- Pesquisar página e postagem duplicadas -> Instalar e ativá -lo.
- Acesse Abrir Página -> Todas as Páginas .
- Clique na página que você precisa copiar, a opção Duplicar aparecerá para você fazer isso. Após pressioná-lo, um novo rascunho estará disponível para você editar o conteúdo.
Usando o arquivo Functions.php para duplicar páginas no WordPress
A segunda maneira de duplicar páginas no WordPress é inserir o código no arquivo Functions.php. Para fazer isso, vamos abrir Appearance -> Theme File Editor -> Functions.php .
Agora, é hora de você duplicar páginas no WordPress adicionando o seguinte trecho de código ao arquivo 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('page_row_actions', 'rd_duplicate_post_link', 10, 2);

Embrulhar
Resumindo, vamos economizar tempo na clonagem das páginas seguindo um dos dois métodos para duplicar páginas no WordPress acima. Se você tiver algum problema relacionado aos tópicos, por que não deixa seu comentário abaixo para que possamos apoiá-lo?
Por último, mas não menos importante, não se esqueça de que nosso mercado oferece vários Temas WordPress gratuitos atraentes e amigáveis para dispositivos móveis. Portanto, não os perca se precisar de um novo tema para o seu site WordPress!