¿Cómo duplicar una página de wordpress fácilmente?

Como toda persona que trabaje con wordpress, lo más seguro es que al menos una vez hayamos necesitado duplicar una página o entrada y al no saber cómo se hace, solo hemos copiado todo el contenido de forma manual, lo que en realidad supone una pérdida de tiempo. Es por eso que en este artículo te vamos a explicar cómo duplicar una página de wordpress correctamente y de manera fácil y sencilla.

Duplicar una página de wordpress en un solo clic

En ocasiones, el motivo principal por el cual queremos duplicar una página de wordpress es debido a que lo único que queremos es tener una copia de seguridad de nuestro contenido o nuestra página antes de realizarle algún tipo de modificación. Sin embargo, si tenemos una “landingpage” que sirve perfectamente y si queremos duplicarla con tan solo unos breves cambios. Se pueden tener diversos motivos para querer hacer esto.

Lo cierto es que, en gran cantidad de ocasiones, lo vamos a necesitar y es nuestro deseo ahorrar tiempo también. A continuación vamos a ver cómo puedes duplicar cualquier página y entrada de wordpress rápidamente, ya sea usando algunos plugins gratuitos y bastante conocidos o haciéndolo manualmente si usar algún complemento.

Duplicate page: Para duplicar páginas y entradas en wordpress con un solo clic

Si lo que deseamos es algo sencillo y fácil de utilizar, entonces Duplicate Page es nuestro plugin. Duplicate page es un plugin que nos permite duplicar páginas, entradas y entradas personalizadas en wordpress. Este plugin permite que el contenido duplicado como borrador, público, privado o pendiente, eso depende de cómo lo configuremos antes de comenzar a trabajar con él.

Puedes bajar Duplicate Page totalmente gratis directamente desde la página oficial de wordpress, sin embargo este plugin ofrece mayores mejoras en su versión Premium, por ejemplo, más ajustes de configuración, acceso a las funciones del plugin filtrado por tipo de usuario, activación del plugin en distintos tipos de contenido, redirecciones luego de hacer una clonación.

Si bien lo que requieras sea duplicar el contenido de tu wordpress para realizar diversas modificaciones, copias de seguridad de páginas y entradas, etc, con la versión gratuita te será más que suficiente.

Primeramente lo que debes hacer para usar el plugin de wordpress para duplicar una página es dirigirte al panel de control de la plataforma, instalar el plugin y activarlo. Antes de comenzar a usarlo, es recomendable que le eches un vistazo a las opciones de configuración de Duplicate Page. Para ello ve a “Ajustes” y seguido a Duplicar página.

Aquí tendrás que configurar Duplicate Page dependiendo de tus necesidades:

Estado de entrada duplicada: Cuando el plugin va a hacer el duplicado de páginas o entradas, necesita asignarle a ese contenido algún estado. En wordpress hay 4 estados de una página o entrada, y estos son: Borrador, Pendiente, Público y Privado. Su estado predeterminado es Borrador y, desde un punto de vista más profesional lo recomendado que se deje ese configurado, debido a que el más adecuado.

Dónde redirigir después de Duplicar: En el momento que el plugin hace el duplicado del contenido, es posible que sucedan dos cosas: que aparezcas en el listado de páginas o entradas (según corresponda) o que aparezcas en el panel de edición del post o página que acabas de duplicar. Aquí esto lo eliges tú.

Sufijo de entrada duplicada: Cuando el plugin hace el duplicado del contenido, le agrega un sufijo al nombre de la página o la entrada. Este nombre se mostrará luego del título.

Luego de que tengas todo ajustado a tu preferencia, puedes pulsar sobre el botón de “Guardar”y esto será todo. Ya puedes comenzar a usar Duplicate Page.

Si deseamos duplicar una página de wordpress, debes ir a: Páginas, seguido a Todas las páginas y pasar el cursor sobre la página que vas a duplicar. Observamos entonces que aparece una opción llamada “Duplicar”.

 

Ahora pulsa sobre el botón y eso es todo. Ya tendrás tu página duplicada.

Por otro lado, si quieres duplicar un post o entrada en wordpress, entonces debes ir a: Entradas, seguido a Todas las entradas y pasar el cursor sobre la entrada que deseas duplicar. Observamos entonces que, igual que el punto anterior, aparece la opción “Duplicar”. Los pasos son los mismos ya sea para páginas o para post.

De igual forma, acá dejamos un video breve donde te muestran desde como descargar el plugin hasta cómo realizar rápidamente el proceso de duplicar una página de wordpress:

Duplicate post: Para duplicar contenido de cualquier tipo de wordpress

Si en tu caso, lo que estás buscando es un plugin que sea un poco más completo, lo mejor entonces es que descargues Duplicate Post y los instales. Duplicate post es uno de los plugins más usados para duplicar contenido de wordpress, además de uno de los más longevos y completos, con sus ochos años de funcionamiento.

Este plugin viene traducido en 32 idiomas y cuenta con más de dos millones de instalaciones activas. Otros plugin de wordpress para duplicar páginas como Diplucate page ofrecen esto solo en su versión Premium, pero Duplicate post ya ofrece esto de forma gratuita. Lo puedes descargar directamente desde repositorio de wordpress:

En primer lugar, debes instalar el plugin y activarlo. Este plugin cuenta con muchas opciones que seguramente te va a interesar explorar, y es por eso que se recomienda configurarlo a tu preferencia antes de comenzar a utilizarlo. Para esto nos dirigiremos a: Ajustes, seguido a Duplicate Post. Aquí abran 3 pestañas de configuración: “Que copiar. Permisos y Visualización”.

Comencemos por “Que copiar”. Aquí debes filtrar qué contenido del elemento que vas a duplicar quieres copiar:

Elementos de la página o entrada a copiar: Aquí debes elegir qué elemento del contenido original deseas copiar en tu nueva entrada: título, fecha, slug, extracto…

Prefijo del título: Si vas a rellenar este campo, ten en cuenta que ese texto va aparecer antes del título de tu contenido duplicado.

Sufijo del título: Si rellenas este campo, entonces ese texto se mostrará después del título de tu contenido duplicado.

Subir el orden del menú en: Agregar el número correspondiente al orden del menú.

Si lo que quieres es dejarlo predeterminado, entonces solo déjalo en blanco.

No copiar estos campos: Aquí escribe el nombre, separándolo por comas, de cada uno de los campos personalizados que deseas excluir de la copia que vas a realizar.

No copiar estas taxonomías: Marca las casillas de las taxonomías que deseas excluir de la copia que se va a crear.

Luego de que configures todo a tu preferencia, debes pulsar sobre “Guardar los cambios” y ve a la siguiente pestaña: “Permisos”

En esta pestaña Permisos, debes configurar solamente dos cosas: la primera es qué roles de usuarios van a poder duplicar páginas y entradas en wordpress y la segunda es en qué tipos de contenidos va a estar a disposición la función de duplicar, ya sean páginas, entradas o ambas.

Una vez realices todos los cambios necesarios, pulsa sobre el botón “Guardar los cambios” y dirígete a la tercera y última pestaña: “Visualización”.

En esta pestaña debes marcar aquellos lugares del panel de control de wordpress en los que deseas que se muestren los enlaces rápidos para duplicar el contenido.

Para finalizar, pulsa nuevamente en “Guardar los cambios” y listo. Ahora puedes comenzar a usar Duplicate Post. Evidentemente Duplicate Page, cuenta con muchas más opciones de configuración, sin embargo al momento de trabajar con él, el proceso será también algo sencillo.

Para duplicar una entrada en wordpress con Duplicate Post, solamente debemos dirigirnos a: Entradas, seguido a Todas las entradas y pasar el cursor sobre el post que deseamos duplicar. Observaremos entonces que aparece una opción llamada “Clonar” y otra llamada “Nuevo borrador”.

Llegado a este punto se debe tener mucha precaución. Y esto se debe a que si pulsamos en “Clonar”, el plugin de forma automática va a copiar todo el contenido de esa entrada y lo va a publicar directamente. Es por esto que si lo que buscas es realizar una copia del contenido de una entrada pero no quieres que se publique aun, la mejor opción es que pulses sobre “Nuevo borrador”. Con esto lo que pasará es que se va a copiar todo el contenido de este post igualmente per, como estado, se le va asignar el de “Borrador” y no el de “Publicado”.

Por otro lado, si lo que buscas es duplicar una página en wordpress con Duplicate Post, lo único que debes hacer es ir a: Páginas, seguido a Todas las páginas y pasar el cursor sobre la página que deseas duplicar. Luego de esto podremos ver que el procedimiento será el mismo que el de las entradas. Pues si pulsas sobre “Clonar”, la página se publicará directamente, y su pulsas sobre “Nuevo borrador”, lo pasara es que se creará un borrador de la página que quieres clonar o duplicar.

Como vemos, Duplicate Post es un plugin bastante completo y fácil de usar, además de que los procedimientos para duplicar entradas o páginas son muy similares.

Ten en cuenta que, al tener instalado Duplicate Post en tu web. Cada vez que lo utilices para duplicar o clonar una página, está página clonada se volverá independiente y vas a poder modificar cualquier parte de la misma sin ningún problema. Lo que quiere decir que, la página clonada que se genera será igual pero todos los elementos del contenido serán independientes para ser modificados siempre que lo desees.

Snippet o tweak para duplicar páginas y entradas en wordpress

Si el tuyo no es el caso donde eres alguien que opta mucho por la utilización de plugins de wordpress para duplicar páginas o entradas, y por el contrario, prefieres crear tus funciones personalizadas en wordpress, entonces lo que verás a continuación te va a resultar interesante, pues veremos un tweak o snippet que nos permite duplicar páginas y entradas en wordpress:

  • Pon atención: Pues el código que vamos a mostrar a continuación debes añadirlo al functions.php de tu tema. En específico al functions.php de tu tema hijo. En caso de que no tengas uno, ahora debes crear tu child theme. Con esto no vas a perder los cambios con las actualizaciones del tema principal.

Como esto se trata de un snippet bastante “grande”, por así decirlo, vamos a ir mostrándote paso a paso qué es lo que hace y tú tendrás que copiarla y pegarlo en el orden que vamos a ir mostrándote.

Lo principal que realiza este snippet es incluir la opción o botón nuevo a las páginas y a las entradas. Este botón solo lo verán aquellos usuarios que estén logueados en tu wordpress y que tengan permisos de edición. Es decir, solo lo verán los usuarios a los que les hemos permitido editar posts y páginas de nuestro blog.

/*
* FUNCIÓN 1: Añadir el botón de clonar a páginas y entradas
*/
function insertar_boton_duplicar($acciones,$post) 
{

    //Si el usuario tiene permisos para editar entradas y páginas, entonces puede visualizar el botón de clonar
    if(current_user_can('edit_posts'))$acciones['clone']='<a href="'.wp_nonce_url('admin.php?action=duplicar_contenido&post='.$post->ID,basename(__FILE__),'clone_nonce').'" title="Duplicar este contenido" rel="permalink">Duplicar</a>'
      return $acciones;
}

/*
* Se añade la función a la lista de acciones de los post y páginas
*/
add_filter( 'post_row_actions', 'insertar_boton_duplicar', 10, 2 ); //Entradas
add_filter( 'page_row_actions', 'insertar_boton_duplicar', 10, 2 ); //Paginas
Como segunda función, tenemos esta que recopila toda la información del post o página que deseas duplicar y crea entonces el borrador con todos esos datos, es decir, título, autor, meta datos, taxonomías, texto…Solo fallará si no recibe adecuadamente el identificador del contenido, si no existe el contenido original o si la inserción en la base de datos no se ha posibilitado
/*
* FUNCION 2: Crear el borrador del contenido
*/
function crear_borrador($id=0){
//Comprobar que se recibe un id válido (distinto de 0). Si no es válido, se termina la función y no se realiza ninguna acción.
if(!$id) return 0;
//Como se ha comprobado que el id es valido se recuperan los datos del post con ese identificador y se comprueba si existe o no
$post = get_post( $id );
if (isset( $post ) && $post != null)
{

     //Se recopilan los datos que se necesitan para hacer la clonación: el usuario, el titulo, el tipo, el autor... todo lo referente al contenido a clonar.
        $datos = array(
            'post_title'     => $post->post_title,
            'post_name'      => $post->post_name,
            'post_content'   => $post->post_content,
            'post_excerpt'   => $post->post_excerpt,
            'post_parent'    => $post->post_parent,
            'post_type'      => $post->post_type,
            'post_status'    => 'draft',
            'post_password'  => $post->post_password,
            'post_author'    => $post->post_author,
            'ping_status'    => $post->ping_status,
            'to_ping'        => $post->to_ping,
            'comment_status' => $post->comment_status,
            'menu_order'     => $post->menu_order
        );
        //wp_insert_post inserta el contenido del objeto que se construyó con anterioridad en la base de datos
        $id_borrador = wp_insert_post( $datos );
 //Si la inserción en la base de datos no ha sido correcta el identificador no es válido.
        if($id_borrador)
{
//Como la inserción se ha realizado correctamente. Se copian del original al borrador las taxonomías y el contenido meta.
$taxonomies = get_object_taxonomies($post->post_type);
foreach ($taxonomies as $taxonomy) {
//Se recogen los datos
$post_terms = wp_get_object_terms($post->ID,$taxonomy,array('fields'=>'slugs'));
//Se asignan los datos
wp_set_object_terms($id_borrador,$post_terms,$taxonomy,false);
}

$post_meta = get_post_meta($id);
foreach($post_meta as $key=>$val)
{
if($key=='_wp_old_slug'){continue;}
$value=addslashes($val[0]);
//Se inserta el contenido meta al borrador
add_post_meta($id_borrador,$key,$value);
}

return array('id_borrador'=>$id_borrador,'post'=>$post);
}

else wp_die('Error al crear el borrador del contenido.');
        
}else wp_die('Error al crear el duplicado. No se encuentra el contenido original');

}
Cómo tercera y última función tenemos la que realiza todo el proceso. Esta verifica si el usuario ha pulsado en el botón de “Duplicar” y, de ser así, entonces ejecuta la función que genera el borrador. En cuanto el proceso se realice con éxito, el usuario irá redirigido a la pantalla de edición de ese nuevo borrador que se habrá creado.
/*

* FUNCTION 3: Finalmente se procesa el duplicado del borrador una vez que se pulsa en el botón
*/

function duplicar_contenido()

{
    global $wpdb;
    
	//Se comprueba si se ha pulsado en el botón de duplicar o clonar y si se recibe la información necesaria del contenido original
    if (!(isset( $_REQUEST['post'])  || ( isset($_REQUEST['action']) && $_REQUEST['action']== 'duplicar_contenido' ) ) ) wp_die('Error: No existe referencia al contenido que se quiere copiar');

    $id_post = absint( $_REQUEST['post'] ) ;
    //Se comprueba que el id que se recibe es válido
    if($id_post > 0 ){
        //Se crea el borrador
        $borrador = crear_borrador($id_post);
        //Si todo ha salido bien, al final del duplicado se redirige al usuario a la pagina de edición del borrador
		if($borrador) wp_redirect( admin_url( 'post.php?action=edit&post=' . $borrador['id_borrador'] ) );
        else wp_die('Error al crear el borrador del contenido duplicado. No se encuentra el contenido principal' . $id_post);
    }else wp_die('Error al duplicar. No se encuentra el contenido original' . $id_post);
}

/*
* Después de pulsar el botón de duplicar, se inicia la acción y se duplica el contenido.
*/
add_action( 'admin_action_duplicar_contenido', 'duplicar_contenido' );

Luego de ver esto, lo único que debes hacer lógicamente es copiarla, tal cual, para luego pegarlo y por último probarlo. Además, también puedes hacer modificaciones que creas convenientes y, por supuesto, que conozcas bien.

  • En estos casos, donde utilizas códigos, ten en cuenta que la función de duplicar contenido no se usa todos los días, pues para la mayoría solo es necesaria de manera puntual en ciertos casos, es por eso que, cuando no la estemos usando lo más conveniente es que la “desactivemos” o que la “comentes” en el código de tu functions.php. Esto por referirnos a términos de programación. La manera de comentar o desactivar una función correctamente es la siguiente:
/*
CÓDIGO DEL SNIPPET
*/

De esta forma, al agregarle ese asterisco y la barra al inicio y al final, la función va a quedar comentada, desactivada, por ende, wordpress no la ejecutara, pero no la pierdes. Esta quedará allí por si la necesitas más adelante.

Conclusión

Para finalizar este tema, ahora vez que duplicar una página de wordpress o clonar una entrada es algo realmente fácil, pues por cualquiera de las alternativas que decidas usar para hacer esto, siempre el proceso para duplicar una página o un post va a ser similar. Además, también va a depender en gran parte del uso que le vayas a dar a esta función, y decidas si es mejor, o no, instalar algún plugin.

Ten en cuenta que, si tú eres el único webmaster de tu página y además solamente deseas duplicar contenido de forma puntual y específica, no es realmente necesario que instales un plugin. Tan solo añade la función y utilízala a tu gusto en los casos precisos que la necesites, solamente actívala y listo.

Por otro lado, si eres un de los muchos que administran el wordpress, como es más habitual que suceda, entonces simplemente toma en cuenta las primeras secciones de este artículo y decantate por descargar e instalar Duplicate Post o Duplicate Page, pues seguramente en tu caso y en el caso de los demás que administran contigo van a usar mucho cualquiera estos plugins para duplicar páginas de wordpress.

Para más contenido similar o más artículos sobre wordpress o cualquier otra plataforma que nos sirva para elaborar nuestro contenido, visita nuestro blog. A continuación te dejo tres enlaces a temas recientes que pueden serte útiles:

Conoce cómo cambiar una plantilla WordPress fácilmente

Aprende cómo agregar palabras claves en WordPress

Por último conoce cómo  colocar un texto desplegable en WordPress

Deja un comentario