Crear un Plugin para Duplicar Páginas y Entradas en WordPress

Crea tu Propio Plugin de WordPress: Duplica Entradas y Páginas con un Clic
¿Alguna vez has necesitado hacer una copia rápida de una página o una entrada en WordPress para probar cambios sin alterar el original? En lugar de copiar y pegar manualmente, lo que puede ser tedioso y propenso a errores, ¿qué tal si añades una simple opción de «Duplicar» directamente en tu panel de administración?
En este tutorial, te guiaremos paso a paso para crear tu propio plugin de WordPress desde cero. Es un proyecto fantástico tanto para principiantes que quieren entender cómo funcionan los plugins como para desarrolladores que buscan una solución ligera y personalizada.
Al final de esta guía, tendrás un plugin funcional que te permitirá clonar cualquier entrada o página, creando una copia exacta en modo borrador. ¡Vamos a ello!
Descarga directamente el plugin al final de esta página
¿Qué necesitas para empezar?
No te preocupes, verás que el proceso es MUY FÁCIL, no necesitas ser un experto, pero sí es recomendable tener a mano lo siguiente:
- Una instalación de WordPress: Lo ideal es trabajar en un entorno de desarrollo local (usando herramientas como Local WP o XAMPP) para no arriesgar tu sitio en producción.
- Un editor de código: Cualquiera te sirve, como Visual Studio Code, Sublime Text o incluso el Bloc de Notas.
- Acceso a los archivos de tu WordPress: Necesitarás navegar por las carpetas de tu instalación, específicamente en el directorio wp-content/plugins/.
Paso 1: La estructura básica de nuestro plugin para Duplicar Páginas y Entradas en WordPress
Todo plugin comienza con un archivo PHP y una cabecera que le dice a WordPress «¡Hola, soy un plugin!».
Primero, ve a la carpeta wp-content/plugins/ de tu WordPress y crea un nuevo directorio llamado mi-duplicador-de-contenido. Dentro de esta carpeta, crea un archivo con el nombre mi-duplicador-de-contenido.php.
Abre este nuevo archivo y pega el siguiente código. Esta es la cabecera del plugin, que contiene su nombre, descripción y autor.
codePHP
¡Felicidades! Ya tienes la base. Si ahora vas a la sección de Plugins en tu panel de WordPress, verás «Mi Duplicador de Contenido» en la lista. Todavía no lo actives, ¡aún nos falta la magia!
Paso 2: Creando la función que duplica el contenido
Ahora viene la parte más importante: la función PHP que hará el trabajo pesado. Esta función tomará el ID de una entrada, leerá todos sus datos (título, contenido, etc.) y creará una nueva entrada con esa información.
Añade el siguiente código en tu archivo mi-duplicador-de-contenido.php, justo después de la cabecera:
codePHP
¿Qué hace este código?
Usamos la función wp_insert_post() de WordPress para crear la publicación. Luego, copiamos las taxonomías (como categorías y etiquetas) para que la nueva copia sea idéntica. Finalmente, con add_action(), le decimos a WordPress que ejecute nuestra función cuando se llame a una URL específica.
Paso 3: Añadir el enlace «Duplicar» en el panel de administración
Nuestra función está lista, pero ¿cómo la activamos? Necesitamos añadir un enlace de «Duplicar» en el menú que aparece al pasar el ratón sobre cada entrada o página. Para ello, usaremos los filtros post_row_actions y page_row_actions.
Pega este último bloque de código al final de tu archivo:
codePHP
¿Qué hace este código?
Este código añade un nuevo elemento llamado «Duplicar» al array de acciones. El wp_nonce_url() es una medida de seguridad importante de WordPress para proteger contra solicitudes no deseadas.
Paso 4: ¡Actívalo y pruébalo!
¡Ya tienes todo el código necesario! El archivo completo de tu plugin debería verse así:
codePHP
¡A probar nuestro nuevo plugin para Duplicar Páginas y Entradas en WordPress!
¡Eso es todo! El código de tu plugin ya está completo.
- Guarda el archivo mi-duplicador-de-contenido.php.
- Ve a Plugins > Plugins instalados en tu panel de WordPress.
- Busca «Mi Duplicador de Contenido» y haz clic en Activar.
Ahora, navega a Entradas o Páginas. Pasa el cursor sobre cualquier elemento de la lista y… ¡ahí está! Verás un nuevo enlace que dice Duplicar. Haz clic en él y verás cómo aparece una copia en borrador al instante.
¡Enhorabuena! Has creado un plugin de WordPress funcional. Ahora puedes modificarlo, añadir más funcionalidades o simplemente disfrutar de la comodidad que has construido con tus propias manos. ¡Feliz desarrollo!
Si lo deseas puedes descargar el plugin que hemos creado directamente