Cómo duplicar una página en WordPress

Cómo duplicar una página en WordPress

¿Alguna vez te has enfrentado a una situación en la que quieres darle un nuevo aire a tu página actual con un nuevo diseño, pero quieres mantener intacto el contenido para usarlo en el futuro? Seguramente puedes usar copiar / pegar y guardar todo el contenido en un borrador, pero esto no movería la optimización SEO, las plantillas de página, las imágenes destacadas y otros datos asociados.

También hay ocasiones en que quieres clonar tu blog/página existente solo para hacer algunos ajustes en una de las copias y compararla con la versión anterior. Bien, ¡podría haber muchísimas circunstancias cuando solo necesitas duplicar una página o una publicación en WordPress!

Es inútil tener que hacerlo dos veces cuando realmente puedes ahorrar tu tiempo simplemente duplicando la página o la entrada deseada en WordPress con un solo clic. En este tutorial, aprenderemos cómo duplicar una página en WordPress con la ayuda de plugins ya que es la manera más fácil y sencilla de hacerlo.

Así que empecemos.

Cómo Duplicar una Página en WordPress – Video

En la Academia de Hostinger hemos creado este tutorial por si prefieres saber cómo duplicar una página de WordPress en video.

Suscribirse ¡Para más videos educativos! Academia de Hostinger

Lo que necesitarás

Antes de comenzar esta guía, necesitarás lo siguiente:

  • Acceso al Panel de administración de WordPress

Opción 1 – Duplicar una página/entrada con el plugin Duplicate Post

El plugin Duplicate Post es una de las formas más sencillas con las cuales puedes clonar tu página o entrada en WordPress. No solo te permite crear un clon, sino que también puedes elegir agregar tus propias opciones de personalización. Puedes tener un sufijo o prefijo predefinido que se puede agregar antes o después del título de la página o entrada clonada. Además, también puedes restringir la funcionalidad del plugin en función de los roles del usuario.

Para clonar tu entrada/página con este plugin, sigue los pasos que se detallan a continuación:

  1. Instala y activa el plugin.Plugin Duplicate Post de WordPress
  1. A continuación, haz clic en Páginas -> Todas las páginas.
  2. Ahora pasa el cursor sobre la página o entrada que deseas clonar, y verás dos nuevas opciones allí: Clonar y Nuevo borrador.Nuevas opciones de Clonar página y nuevo borrador
  • Puedes hacer clic en Clonar para crear una versión clonada de la entrada seleccionada.
  • Puedes hacer clic en Nuevo borrador para crear una versión clonada de la entrada seleccionada y abrirla en el editor de entradas. Luego puedes comenzar la edición y elegir guardarla como borrador o publicarla.

Opción 2 – Clonar una página/entrada con el plugin Duplicate Page and Post

Duplicate Page y Post es otro plugin que se puede utilizar para clonar páginas y entradas rápidamente. El plugin te ayuda a crear un duplicado de una página o entrada mientras se asegura de que todo el contenido, título y estilo de la página o la entrada se conserven tal como está.

Usar este plugin es bastante fácil. Solo tienes que seguir estos pasos:

  1. Instala y activa el plugin Duplicate Page and Post.Plugin de WordPress Duplicate Page y Post
  1. A continuación, ve a Páginas -> Todas las páginas si quieres crear una copia clonada de una página, o a Entradas-> Todas las entradas si deseas crear una copia clonada de tu entrada.
  2. Pasa el cursor sobre la entrada que deseas clonar y haz clic en Clone Me!.Clonar entrada en WordPress con el plugin Duplicate Page and Post
  3. A continuación, serás redirigido a una copia clonada de la entrada o la página, respectivamente. Edítalo y haz clic en Publicar (Publish) o en Guardar borrador (Save Draft).Ejemplo de entrada clonada en WordPress

Opción 3 – Usar Post Duplicator para clonar entradas y páginas de WordPress

Si los dos plugins anteriores no se adaptan muy bien a tus necesidades, puedes optar por usar Post Duplicator. Este plugin te permitiría crear una réplica exacta de la entrada seleccionada al mismo tiempo que conserva los campos personalizados y las taxonomías personalizadas.

Esto es todo lo que tienes que hacer es:

  1. Instala y activa el plugin.Plugin Post Duplicator para WordPress
  2. Pasa el cursor sobre la entrada o la página que quieres duplicar y haz clic en Duplicar entrada/Duplicar página para crear una copia clonada.Opciones de Página duplicada de WordPress
  3. El plugin duplicará al instante la página o entrada.

Opción 4 – Duplicar una página o entrada de WordPress sin usar plugins

Además de utilizar plugins, también puedes usar código para duplicar páginas y entradas de WordPress. Todo lo que tienes que hacer es pegar este código en tu archivo functions.php. Para hacer esto, puedes usar el Administrador de archivos, el cliente FTP o el editor de archivos de WordPress incorporado.

Si optas por la segunda opción, lee nuestro artículo para conocer los mejores editores HTML para editar código.

Agregar función para duplicar la página de WordPress

Por otro lado, si quieres usar un editor de archivos incorporado para duplicar entradas o páginas en tu sitio, navega a Apariencia en tu panel de control de WordPress. Ve al Editor de Temas y selecciona Funciones del Tema.

Alternativamente, puedes usar el Administrador de archivos de Hostinger para configurar el archivo functions.php.

Ahora, veamos las instrucciones paso a paso para duplicar una página o una entrada en tu sitio web de WordPress.

¡Importante! Recomendamos realizar una copia de seguridad de tu sitio web antes de editar cualquier archivo de WordPress.

Cómo duplicar una entrada a través del archivo functions.php

Para duplicar una entrada, tendrás que pegar el siguiente fragmento de código en tu archivo 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( 'post_row_actions', 'rd_duplicate_post_link', 10, 2 );

Cómo duplicar una página en WordPress a través del archivo Functions.php

El proceso para duplicar una página en WordPress es bastante sencillo. Todo lo que tienes que hacer es reemplazar la última línea del código anterior con el siguiente fragmento:

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

Ahora, si vas a la sección Todas las entradas o Todas las páginas, deberías ver un botón Duplicar.

Si presionas este botón, WordPress creará una copia de la página o entrada y la guardará como borrador.

Conclusión

Estamos seguros de que debes estar preguntándote por qué no conocías estos plugins antes. ¡Mejor tarde que nunca! Esperamos que el tutorial anterior responda todas tus preguntas y ahora sepas cómo duplicar una página en WordPress. Todos los plugins mencionados anteriormente no solo son rápidos sino también confiables. ¿Por qué invertir tu tiempo en una tarea cuando realmente puede hacerlo con unos pocos clics?

¿Tienes alguna consulta o tienes una experiencia para compartir? Cuéntanos en los comentarios!

Para obtener más guías y tutoriales de WordPress, asegúrate de consultar la sección de tutoriales de WordPress.

Author
El autor

Gustavo B.

Gustavo es un apasionado por la creación de sitios web. Se enfoca en la aplicación de estrategias SEO en Hostinger para España y Latinoamérica, así como la creación de contenidos de alto nivel. Cuando no está aplicando nuevos trucos en WordPress lo puedes encontrar tocando la guitarra, viajando o tomando un curso online.