El popular sistema de gestión de co­n­te­ni­dos WordPress se destaca, entre otras cosas, por su capacidad de pe­r­so­na­li­za­ción. Así, es posible instalar muchos plugins para ampliar las fu­n­cio­na­li­da­des del CMS. Para pe­r­so­na­li­zar aún más tus ne­ce­si­da­des, también puedes de­sa­rro­llar tus propios plugins para WordPress.

Hosting WordPress
WordPress más potente y rápido gracias a la IA
  • Creación y pe­r­so­na­li­za­ción de tu página asistida por la IA
  • 3 veces más rápido: SSD, caché y más
  • Análisis diarios, pro­te­c­ción DDoS y di­s­po­ni­bi­li­dad del 99,99 %

Ventajas de un plugin propio de WordPress

Dado el gran número de ex­te­n­sio­nes, en su mayoría gratuitas y di­s­po­ni­bles para descargar en el di­re­c­to­rio de plugins de la página oficial, puede parecer in­ne­ce­sa­rio crear tu propio plugin de WordPress. Sin embargo, al buscar las ex­te­n­sio­nes adecuadas para tu proyecto web, pronto te darás cuenta de que muchos plugins (aquí hemos pre­se­n­ta­do para ti los mejores plugins de WordPress) pueden cumplir con tus criterios, pero:

  • ya no reciben ac­tua­li­za­cio­nes,
  • ya no funcionan o no cumplen con tus ex­pe­c­ta­ti­vas,
  • o no cuentan con la fu­n­cio­na­li­dad necesaria.

Por lo tanto, su­me­r­gi­r­se en la pro­gra­ma­ción de WordPress y crear un plugin propio o modificar uno existente para adaptarlo a tus ne­ce­si­da­des puede ser una decisión muy acertada. Además, una extensión propia es también una excelente al­te­r­na­ti­va a la habitual am­plia­ción de fu­n­cio­na­li­da­des de la in­s­ta­la­ción de WordPress a través del archivo functions.php del tema.

Re­qui­si­tos para la pro­gra­ma­ción de plugins en WordPress

Antes de comenzar a de­sa­rro­llar tu propio plugin, debes ase­gu­rar­te de contar con las he­rra­mie­n­tas adecuadas y los co­no­ci­mie­n­tos básicos. Para ello, necesitas un entorno de de­sa­rro­llo local con una in­s­ta­la­ción de WordPress. Una opción sencilla es utilizar la he­rra­mie­n­ta gratuita Local WP, que te permite instalar y probar WordPress en tu propio ordenador. Al­te­r­na­ti­va­me­n­te, puedes usar XAMPP o MAMP para co­n­fi­gu­rar un entorno local de WordPress.

Además de una in­s­ta­la­ción funcional de WordPress, contar con un editor de PHP o una IDE es­pe­cia­li­za­da en PHP como Visual Studio Code o PhpStorm te será muy útil para programar tu propio plugin de WordPress. También es útil tener co­no­ci­mie­n­tos básicos de PHP, HTML, CSS y Ja­va­S­cri­pt, para entender mejor cómo funcionan los plugins de WordPress.

Crear un Plugin de WordPress paso a paso

Paso 1: crear el di­re­c­to­rio del plugin y el archivo principal

Cada plugin de WordPress se guarda en un di­re­c­to­rio propio dentro de la carpeta wp-content/plugins/ de tu in­s­ta­la­ción de WordPress. Para crear tu propio plugin, abre esta carpeta en tu ex­plo­ra­dor de archivos y crea una nueva carpeta. Dale un nombre de­s­cri­p­ti­vo, por ejemplo, my-own-plugin.

Dentro de este di­re­c­to­rio, crea un nuevo archivo y llámalo my-own-plugin.php. Este archivo será el archivo principal del plugin y debe contener co­me­n­ta­rios de cabecera es­pe­cia­les para que WordPress lo reconozca. Abre el archivo en tu editor de código y agrega el siguiente código:

<?php 
/* 
Plugin Name: My own plugin 
Plugin URI: https://localhost/ 
Description: Demo plugin. 
Version: 1.0 
Author: IONOS 
License: GPL2 
*/
php

Estas líneas de co­me­n­ta­rios contienen in­fo­r­ma­ción esencial sobre el plugin, como su nombre, de­s­cri­p­ción, versión, autor y licencia. El nombre del plugin se mostrará en el área de ad­mi­ni­s­tra­ción de WordPress y la de­s­cri­p­ción ayudará a co­m­pre­n­der las fu­n­cio­na­li­da­des o el propósito del plugin. Dado que WordPress está bajo la licencia GNU General Public License (GPL), debes elegir una licencia co­m­pa­ti­ble con esta.

Después de guardar este archivo, puedes acceder al menú “Plugins” en el backend de WordPress. Allí debería aparecer tu plugin en la lista. Para activarlo, si­m­ple­me­n­te haz clic en “Activar”. Ten en cuenta que, dado que el plugin aún no tiene fu­n­cio­na­li­da­des, no verás ningún cambio visible por el momento.

Imagen: Tu propio plugin aparece de inmediato en el backend de WordPress.
Con un clic en “Activar”, puedes activar tu plugin de WordPress en el backend.

Paso 2: añadir la primera fu­n­cio­na­li­dad

Para demostrar el fu­n­cio­na­mie­n­to de nuestro plugin recién creado, primero aña­di­re­mos una función sencilla que muestre un texto es­pe­cí­fi­co mediante un shortcode de WordPress (un tipo de código que permite insertar contenido dinámico en páginas y pu­bli­ca­cio­nes).

Añade el siguiente código a tu archivo principal:

function my_plugin_shortcode() { 
    return "<h2>Hello World!</h2>"; 
} 
add_shortcode('my_shortcode', 'my_plugin_shortcode');
php

Esta función crea un nuevo shortcode llamado [my_shortcode]. Cuando este shortcode se inserta en una pu­bli­ca­ción o página, WordPress generará au­to­má­ti­ca­me­n­te el código HTML definido, mostrando así un “¡Hello World!”.

Guarda el archivo, ve al editor de WordPress e inserta el shortcode [my_shortcode] en una nueva página.

Imagen: Editar página de WordPress: insertar shortcode
Para probar tu plugin, inserta el shortcode definido en el plugin en cualquier lugar de tu página de WordPress.

Después de guardar y vi­sua­li­zar la página en el frontend, deberías ver el texto HTML definido en tu página web:

Imagen: Mostrar página de WordPress: tu shortcode ha sido reemplazado por HTML
Sabes que tu plugin funciona porque el shortcode definido en el plugin se reemplaza por el código co­rre­s­po­n­die­n­te.

Ten en cuenta que el shortcode creado en el archivo principal es solo un ejemplo de cómo crear un plugin de WordPress propio.

Paso 3: añadir un menú en el área de ad­mi­ni­s­tra­ción de WordPress (fu­n­cio­na­li­dad avanzada)

Un plugin pe­r­so­na­li­za­do también puede incluir un menú pe­r­so­na­li­za­do en el área de ad­mi­ni­s­tra­ción de WordPress. Esto es es­pe­cia­l­me­n­te útil cuando tu plugin requiere una interfaz propia, por ejemplo para co­n­fi­gu­ra­cio­nes o es­ta­dí­s­ti­cas.

Para crear un menú para el plugin, añade el siguiente código a tu archivo principal:

function my_plugin_menu() { 
    add_menu_page( 
        'Mi Plugin',    // Título de la página 
        'Mi Plugin',    // Nombre en el menú 
        'manage_options',    // Derechos de usuario 
        'mi-plugin',    // Slug de la página 
        'my_plugin_site',    // Función que renderiza la página 
        'dashicons-admin-generic',    // Icono 
        20    // Posición en el menú 
    ); 
} 
add_action('admin_menu', 'my_plugin_menu'); 
function my_plugin_site() { 
    echo "<h1>Bienvenido a mi plugin</h1>"; 
    echo "<p>Aquí podrías agregar tus propias configuraciones.</p>"; 
}
php

Después de guardar y ac­tua­li­zar tu backend de WordPress, deberías ver el nuevo ítem de menú “Mi Plugin” en la barra lateral izquierda. Al hacer clic en él, se abrirá una página sencilla con un en­ca­be­za­do y texto de ejemplo.

Imagen: Ítem de menú del plugin de WordPress
Ahora has añadido tu propio ítem de menú con tu plugin, que puedes se­le­c­cio­nar fá­ci­l­me­n­te.

Paso 4: incluir estilos y scripts

Es raro que un plugin de WordPress funcione sin ningún script adicional. Los plugins más complejos suelen integrar fu­n­cio­na­li­da­des ex­te­n­di­das, como Ja­va­S­cri­pt o un diseño CSS dedicado.

Puedes incluir tus propios archivos CSS o Ja­va­S­cri­pt mediante la función wp_enqueue_scripts. Para ello, crea dentro de tu di­re­c­to­rio del plugin una carpeta llamada assets y, dentro de esta, otra carpeta llamada css. En esta última, crea un archivo llamado style.css y agrega, por ejemplo, la siguiente regla CSS que coloreará el fondo de tu página de WordPress de color azul claro:

body { 
    background-color: #87b9ff; 
}
css

Con este código, has creado una hoja de estilos propia. Ahora, necesitas incluir la hoja de estilos en tu plugin para que tenga efecto. Añade este código en tu archivo my-own-plugin.php:

function my_plugin_scripts() { 
    wp_enqueue_style('my-plugin-css', plugin_dir_url(__FILE__) . 'assets/css/style.css'); 
} 
add_action('wp_enqueue_scripts', 'my_plugin_scripts');
php
Imagen: En el frontend, puedes ver los efectos de tu propio CSS.
El color de fondo azul claro en tu página de WordPress indica que la inclusión de la hoja de estilos en tu plugin ha fu­n­cio­na­do co­rre­c­ta­me­n­te.

Paso 5: guardar la co­n­fi­gu­ra­ción del plugin en la base de datos

En muchos casos, es­pe­cia­l­me­n­te en plugins más complejos, es necesario guardar co­n­fi­gu­ra­cio­nes pe­r­so­na­li­za­das. WordPress ofrece la función register_setting para este propósito. Con el siguiente código, puedes agregar una página de co­n­fi­gu­ra­ción sencilla a tu plugin de WordPress:

function my_plugin_settings() { 
    add_options_page( 
        'Configuración de mi plugin', 
        'Mi Plugin', 
        'manage_options', 
        'mi-plugin-configuracion', 
        'my_plugin_settings_site' 
    ); 
} 
add_action('admin_menu', 'my_plugin_settings'); 
function my_plugin_settings_site() { 
    ?> 
    <div class="wrap"> 
        <h1>Configuración de mi plugin</h1> 
        <form method="post" action="options.php"> 
            <?php 
            settings_fields('my_plugin_options'); 
            do_settings_sections('my-plugin-settings'); 
            submit_button(); 
            ?> 
        </form> 
    </div> 
    <?php 
}
php

Después de guardar, aparecerá una nueva entrada para tu plugin en el menú de “Ajustes” en el panel de ad­mi­ni­s­tra­ción de WordPress.

Imagen: Ahora tienes una página de configuración propia para tu plugin desarrollado.
Ahora puedes programar cualquier ajuste para tu plugin y guardarlo a través de la página de co­n­fi­gu­ra­ción creada.

Co­n­clu­sión

Esta guía ha mostrado los pasos básicos para de­sa­rro­llar un plugin propio de WordPress. Con estos fu­n­da­me­n­tos, ahora puedes integrar funciones más complejas en tu plugin, como llamadas a API que se co­mu­ni­quen con servicios externos o la creación de tipos de pu­bli­ca­cio­nes pe­r­so­na­li­za­dos para gestionar di­fe­re­n­tes tipos de co­n­te­ni­dos de manera más es­pe­cí­fi­ca y flexible.

Nota

¿Prefieres optar por plugins ya hechos? No hay problema. Echa un vistazo a nuestros artículos de guía para obtener in­fo­r­ma­ción sobre los mejores plugins re­co­me­n­da­dos en di­fe­re­n­tes ca­te­go­rías:

Ir al menú principal