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

¿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

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:

  1. 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.
  2. Un editor de código: Cualquiera te sirve, como Visual Studio Code, Sublime Text o incluso el Bloc de Notas.
  3. 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/.

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!

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.

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.

¡Ya tienes todo el código necesario! El archivo completo de tu plugin debería verse así:

codePHP

¡Eso es todo! El código de tu plugin ya está completo.

  1. Guarda el archivo mi-duplicador-de-contenido.php.
  2. Ve a Plugins > Plugins instalados en tu panel de WordPress.
  3. 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

¡Ayúdanos a crecer! 💖

📱 ¡Tu apoyo nos motiva a seguir creando!

Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.