Cómo duplicar una página o publicación en WordPress

Publicado: 2023-02-12

Duplicar una página o publicación en WordPress puede significar más que simplemente copiar y pegar el contenido. También puede conservar la plantilla de la página, los datos de SEO y las imágenes para ahorrar tiempo al rediseñar su sitio web o actualizar su contenido.

Afortunadamente, duplicar páginas y publicaciones y todos sus datos asociados en WordPress puede ser fácil. Hay formas simples de hacer el trabajo, con y sin un complemento.

En este artículo, veremos cómo crear un clon de página duplicada de WordPress o publicar de forma segura, e introduciremos algunos complementos que pueden ayudar. ¡Entremos de inmediato!

Tabla de contenido
1. Clone fácilmente una página en WordPress con estos complementos
1.1. 1. Publicación duplicada
1.2. 2. Página y publicación duplicadas
1.3. 3. Página duplicada
1.4. 4. Duplicador de publicaciones
2. Duplicar una página en WordPress sin un complemento
2.1. 1. Habilite la clonación a través del código functions.php
2.2. 2. Copie y pegue manualmente el código para duplicar una página
3. Sigue aprendiendo con WP Engine

Clona fácilmente una página en WordPress con estos complementos

Clonar una página en WordPress es muy simple cuando usa un complemento de WordPress, porque todo se hace directamente en su tablero. Los complementos también son la forma más segura de duplicar una publicación o página, ya que no modificará el código de su sitio directamente.

Si está buscando la herramienta adecuada, aquí hay cuatro complementos que vale la pena revisar.

1. Publicación duplicada

Una de las opciones de acceso para la página de WordPress y la clonación de publicaciones es Publicación duplicada. Este complemento popular es fácil de usar y clona todo, desde el contenido de la página o publicación hasta los comentarios asociados. También ofrece una opción de prefijo o sufijo, para diferenciar tu post original y el clon.

Para duplicar una publicación de WordPress con esta herramienta, solo necesita:

  1. Instalar y activar el complemento.
  2. En su panel de WordPress, vaya a Publicaciones > Todas cuando clone publicaciones, o Páginas > Todas cuando clone páginas.
  3. Navegue a la página original o publicación que desea copiar y haga clic en Clonar para duplicarla.
  4. Se pueden seleccionar varias páginas o publicaciones, y puede clonarlas todas a la vez usando acciones masivas .

2. Página y publicación duplicadas

Duplicate Page and Post no tiene muchas funciones, pero lo compensa con la velocidad. Este ligero complemento de publicación duplicada es una de las formas más rápidas de clonar una publicación o página en WordPress, y no sobrecargará su sitio con campanas y silbatos innecesarios.

Para clonar una página o publicación con este complemento, siga los siguientes pasos:

  1. Instalar y activar el complemento.
  2. Ve a Publicaciones > Todas o Páginas > Todas , según lo que quieras duplicar.
  3. Coloca el cursor sobre la página o publicación que deseas clonar.
  4. Haga clic en la opción Duplicar .

3. Página duplicada

Duplicate Page ofrece algunas funciones adicionales que otros complementos de clonación no ofrecen. Este complemento duplicará publicaciones, páginas y tipos de publicaciones personalizadas. Además, puede guardar las copias resultantes como borradores, pendientes, públicas o privadas.

Para usar Página duplicada, solo necesita:

  1. Instalar y activar el complemento.
  2. Configure sus ajustes para satisfacer sus necesidades.
  3. Vaya a Páginas > Todas o Publicaciones > Todas para encontrar el contenido que desea duplicar.
  4. Haga clic en la opción Duplicar esto .

4. Duplicador de publicaciones

Otro complemento de clonación simple es Post Duplicator. Esta solución crea un duplicado exacto de cualquier publicación o página, incluidos tipos de publicaciones personalizadas, campos personalizados y taxonomías personalizadas. Es rápido y fácil de usar, y no debería agregar mucho peso a su sitio.

Para duplicar contenido con esta herramienta, sigue estos pasos:

  1. Instale el complemento y actívelo.
  2. Vaya a Publicaciones > Todas o Páginas > Todas para encontrar el contenido que desea clonar.
  3. Coloca el cursor sobre la publicación o la página.
  4. Haga clic en la opción Página duplicada o Publicación duplicada .

Duplicar una página en WordPress sin un complemento

Por supuesto, no tiene que usar un complemento para clonar una página o publicar en WordPress. Esto también se puede hacer manualmente, ya sea editando el archivo funtions.php o copiando y pegando el código correspondiente. Veamos cómo funcionan ambos métodos.

1. Habilite la clonación a través del código functions.php

Una de las formas manuales de clonar una página o publicación de WordPress es editar el código en su archivo functions.php . Si bien esto puede ser fácil de hacer, primero debe tener cuidado y hacer una copia de seguridad de su sitio web.

Para habilitar la clonación de publicaciones, deberá acceder a su archivo functions.php y abrirlo para editarlo, utilizando el Protocolo seguro de transferencia de archivos (FTP) o cualquier otro método que prefiera. Luego, deberá agregar el siguiente fragmento de código al final del archivo:

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

Para habilitar la clonación de páginas también, use el mismo código pero reemplace la línea final con:

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

Después de eso, puede guardar el archivo y volver a cargarlo en su servidor. Luego puede regresar a su tablero de WordPress. Ahora debería aparecer un botón Duplicar cuando pasa el cursor sobre una página o publicación que desea clonar.

2. Copie y pegue manualmente el código para duplicar una página

Si no desea editar su archivo functions.php , puede copiar y pegar manualmente el código de la página o publicación que desea clonar. Para hacer esto, necesitarás:

  1. Abra la página o publicación que desea duplicar.
  2. Haga clic en el menú Más herramientas y opciones .
  3. Seleccione Editor de código .
  4. Copie el código de la página o publicación.
  5. Haga clic en Nueva publicación o Nueva página .
  6. En la nueva publicación o página, abra el Editor de código .
  7. Pegue el código.
  8. Haga clic en el menú Más herramientas y opciones .
  9. Seleccione Editor visual .
  10. La nueva página o publicación ahora debería ser un clon de la anterior.

Este proceso puede llevar un poco de tiempo y deberá hacerlo individualmente para cada página o publicación que desee copiar. Es por eso que recomendamos usar un complemento de página duplicada de WordPress si está buscando duplicar una gran cantidad de contenido.

Sigue aprendiendo con WP Engine

Optimizar su experiencia de WordPress es fácil con la clonación de páginas. También hay muchas otras formas de ahorrar tiempo, como migrar páginas o publicaciones entre sitios de WordPress e incluso copiar entornos de desarrollo.

Aquí en WP Engine, ofrecemos los mejores recursos para los desarrolladores que desean crear una gran experiencia digital para sus clientes. ¡Consulta nuestros planes para comenzar de inmediato!