Cómo crear plugin WordPress

Desde hace ya un tiempo WordPress se está convirtiendo en uno de los CMS más utilizados para la publicación de contenido, desarrollo de pequeños proyectos y test de proyectos grandes que antes de invertir mucho en tecnología se deciden por realizar un primer test con una plataforma WordPress y por su facilidad a la hora de optimizar el SEO gracias a sus plugins SEO.

Uno de los éxitos de WordPress es la gran comunidad que tiene detrás trabajando en su mejora desarrollando widgets, temas o plugins que en la mayoría de las ocasiones se pueden encontrar de libre descarga.

En este artículo explicaré los pasos básicos de como crear un plugin para WordPress.

Lo primero es tener la idea, en muchas casos lo más dificil ya que en la mayoria de las ocasiones el plugin que buscas ya existe o se puede encontrar uno de muy similar al que estas buscando pero siempre se puede tener la idea brillante o necesitar un requisito tan especifico para tu negocio que es muy dificil que alguien se haya encontrado en el mismo problema.

Una vez detectada la necesidad y tener claro el objetivo que queremos que realize nuestro plugin de WordPress ya nos podemos poner a trabajar.

Lo primero que deberemos hacer es crear una carpeta con el nombre de nuestro plugin dentro de la carpeta wp-content/plugins/nombre-de-nuestro-pluguin/ y dentro de esta un archivo php con el nombre de nuestro pluguin.

En este archivo empezaremos para introducir los datos del plugin que son los datos que interpretará wordpress como información del plugin por ejemplo.

/*
Plugin Name: Nombre del Plugin WordPress
Description: Descripción del Plugin WordPress.
Author: Eduard Oliva
Version: 1.0
Author URI: http://Adrenlaina.es/
*/

Ahora ya podemos empezar a desarrollar nuestras funcionalidades.

Para empezar si lo que deseamos es incluir una nueva opción de menú en nuestro wordpress con diferentes submenus lo que deberemos hacer es

// Creamos la acción de la creación del menú
add_action('admin_menu', 'menu');
// Creamos el menú con un submenú con add_menu_page y add_submenu_page
function menu()
{
$blogs_menu_main = add_menu_page('Config', 'Menu', 'administrator', 'slug_menu', 'funcion_primera_opcion_de_menu');
$blogs_external_menu = add_submenu_page('slug_menu', 'Submenu', 'Submenu', 'administrator', 'slug_segunda_opcion_de_menu', 'funcion_segunda_opcion_de_menu');
}
// Definimos los archivos php que se mostrarán al presionar las opciones del menú
function funcion_primera_opcion_de_menu()
{
require ('primera_opcion_de_menu.php');
}
function funcion_segunda_opcion_de_menu()
{
require ('segunda_opcion_de_menu.php');
}

Ahora ya tenemos la opción de desarrollar código dentro de estas opciones de menú para gestionar por ejemplo la base de datos.

Otra opción que es de gran utilidad es la gestión de la zona de contenido donde por ejemplo podemos crear una nueva caja en las páginas o los post que nos soliciten o nos muestren información adicional.

// Creamos la acción de crear la caja
add_action('add_meta_boxes', 'caja_1');
// Con add_meta_box creamos la caja en el lugar donde desaemos
function caja_1($postType)
{
    add_meta_box('caja_1_id', 'Nombre Caja', 'funcion_caja_1', 'post', 'side', 'high');
}
// Definimos los archivos php que se mostrarán dentro del meta box que hemos definido.
function funcion_caja_1()
{
     echo "Contenido de mi caja";
}

Si para nuestras funcionalidades necesitamos incluir un js deberemos añadir

function nuestros_scripts()
{
    $wp_wall_plugin_url = trailingslashit(get_bloginfo('wpurl')) . PLUGINDIR . '/nombre-de-nuestro-pluguin/nuestro-pluguin.js';
    wp_enqueue_script('my_awesome_script', $wp_wall_plugin_url, array('jquery'));
}
add_action('wp_print_scripts', 'nuestros_scripts');

En nuestro plugin quizás tenemos la necesidad de interceptar eventos como la pubicación de un post

add_action('publish_post', 'evento_de_publicacion');
function evento_de_publicacion($post_id)
{
  // Lo que haria nuestro WordPress en el momento de guardar un post
}

En el desarrollo de nuestros plugins algo muy útil que nos encontraremos es que determinadas acciones únicamente las puedan realizar usuarios con determinados permisos, tema que resolveremos con current_user_can

if (current_user_can('administrator')){
   // Únicamente afectará a usuarios con permisos de administrador
}

Espero que esta simple guia sea útil y ahorre tiempo a los que quereis empezar a hacer las primeras pruebas y crear un plugin WordPress. Si necesitas soporte para desarrollar plugins o necesitas algún servicio de desarrollo de aplicaciones Ipad o linkbuilding, no dudes en contactar con nosotros.

3 comentarios en “Cómo crear plugin WordPress”

  1. Juan Carlos Lopez Escalona

    Hola muchas gracias por tus tutoriales, quería hacerte una pregunta, estoy desarrollando un plugin en el que los usuarios interactúan y en base a las opciones que seleccionan se crea un archivo PDF para que el usuario lo descargué, anteriormente he logrado eso con la librería PHPExcel para Excel pero no consigo una librería para PDF, si conoces alguna podrías recomendarme una que pueda incluir en mi plugin, gracias por tu valioso tiempo.

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *