WordPress

Cómo Crear un Plugin de WordPress Sencillo

WordPress es el favorito de muchos, y con razón. Es increíblemente fácil de usar, gratuito (o de código abierto), flexible y, lo mejor, bastante extensible. Gracias a los plugins, puedes ampliar WordPress para añadir prácticamente cualquier funcionalidad que tengas en mente.

Si eres un perfecto principiante, los plugins de WordPress son como las aplicaciones de tu teléfono. Tu teléfono funciona muy bien tal y como es, pero puedes añadir más funcionalidades mediante aplicaciones. Lo mismo ocurre con el sistema de gestión de contenidos (CMS) de WordPress.

La plataforma de WordPress ya es potente, pero se puede conseguir mucho más utilizando plugins. Por ejemplo, los plugins de WordPress permiten añadir funcionalidades adicionales como el comercio electrónico, el SEO, la protección contra el spam, los formularios avanzados, las redes sociales, una mayor seguridad, el chat en directo, la creación de páginas visuales y mucho más.

Hay miles de plugins de WordPress gratuitos y premium. Sólo el repositorio oficial de plugins de WordPress tiene más de 59.000 plugins gratuitos en el momento de escribir este artículo. Otros mercados, como CodeCanyon, ofrecen miles de plugins premium para WordPress.

Esto quiere decir que posiblemente haya un plugin para casi cualquier característica que necesites añadir a tu sitio de WordPress. Sin embargo, a veces, es posible que necesites algo que no esté disponible en las fuentes de plugins antes mencionadas. En ese caso, es posible que tenga que crear un plugin de WordPress desde cero o modificar (o bifurcar) un plugin existente.

Y en el post de hoy, le mostraremos cómo escribir un plugin de WordPress simple, que es bueno si desea crear algo simple o sumergirse de lleno en el desarrollo de plugins. Con ese preámbulo, empecemos porque hay un montón de cosas que cubrir.

Escribiendo un simple plugin de WordPress: Lo básico

Antes de llegar a la parte divertida, hay un par de cosas básicas que debes saber. Como principiante, podrías asumir que crear plugins para WordPress es un hueso duro de roer. Pues bien, no es así. Cualquiera puede aprender a escribir un plugin, tenga o no un título en informática.

Al mismo tiempo, algunos conocimientos de codificación en PHP serán de gran ayuda si planeas escribir más plugins en el futuro. Esto se debe a que los plugins de WordPress están codificados en el lenguaje de programación PHP. Con estos conocimientos, entenderás mejor cómo funcionan las funciones de PHP, lo que te facilitará mucho el trabajo. Aun así, es algo fácil.

Además, dependiendo de las funciones que necesites, tu plugin puede contener un solo archivo o varios, incluyendo hojas de estilo CSS, scripts JavaScript y archivos multimedia. Por último, es importante que te familiarices con los estándares de codificación de WordPress y las mejores prácticas para estar seguro.

Esté tranquilo porque hoy no nos aventuraremos en las cosas complejas. Te mostraré cómo escribir un simple plugin y compartiré un par de herramientas y recursos que harán tu trabajo muy fácil. Ya estás emocionado? Yo sí que lo espero 🙂 .

Lo que necesitas para escribir un plugin de WordPress

Necesitarás un par de cosas antes de escribir tu plugin de WordPress. Para empezar, no pruebes tu plugin en tu sitio en vivo. Si algo va mal, te arriesgas a dejar fuera de juego tu sitio web, lo que conlleva horribles tiempos de inactividad mientras arreglas las cosas.

En su lugar, cree un sitio de pruebas o de ensayo localmente o en su servidor.

También puedes utilizar herramientas como Local by Flywheel o DevKinsta.

Aparte de eso, necesitarás un editor de texto como Notepad++, SublimeText, o Atom.. Aunque no es un requisito, puedes utilizar herramientas como Pluginplate o Plugin Boilerplate para acelerar el desarrollo (más sobre esto más adelante).

Y ahora la parte divertida, vamos a escribir un simple plugin de WordPress. Para este tutorial, estoy creando un plugin que agregará un tipo de post personalizado para un sitio web de restaurante imaginario que estoy construyendo.

Para los no iniciados, WordPress soporta varios tipos de post incluyendo página, post, adjunto, revisión y menú de navegación. Para nuestro caso, crearemos un simple plugin que añada el tipo de post personalizado «Recipe» (Receta). Para fines de ilustración, llamaré a mi plugin «Hot Recipes» (Recetas calientes).

Vamos a sumergirnos de lleno.

Cómo escribir un plugin de WordPress sencillo

Cada plugin de WordPress tiene un archivo principal que puedes crear manualmente o usando herramientas como Plugin Boilerplate o Pluginplate. Para ahorrar tiempo, vamos a utilizar Pluginplate (es más intuitivo, IMO) para generar el archivo principal y un par de archivos y carpetas extra que podría necesitar más tarde. Por el momento, sin embargo, sólo necesitamos el archivo principal.

Crear el archivo principal

Dirígete a Pluginplate.com, y haz clic en el botón Create Your Plugin, como destacamos a continuación.

A continuación, rellene la información de su plugin como se muestra a continuación. Hacia la parte inferior de la página, notará la sección Modules que le permite agregar características adicionales a su plugin. Observe también que puede personalizar cada módulo haciendo clic en el signo Plus (+), como detallamos a continuación. Una vez que esté satisfecho, haga clic en el botón Generate Plugin:

Después, haz clic en el botón Download y guarda el plugin en tu ordenador.

Ahora, tenemos todos los archivos básicos que necesitamos, incluyendo el archivo principal. Pero no revientes la burbuja todavía, nuestro plugin no hará nada tal y como está. Debemos añadir el código que se ejecutará cuando activemos el plugin. Basado en nuestro ejemplo, mi archivo principal es hot-recipes.php, que es el archivo que editaremos en la siguiente sección.

Añadiendo funciones

Para localizar el archivo hot-recipes.php, extrae la carpeta ZIP que descargaste de Pluginplate:

Dentro de la carpeta, deberías ver tu archivo principal, que en nuestro caso – de nuevo – es hot-recipes.php:

Dentro de la carpeta del plugin, puedes ver un montón de otros archivos pero no los necesitamos por el momento. A continuación, vamos a añadir algunas funciones al archivo principal. Abre el archivo principal (hot-recipes.php) en tu editor de texto favorito (yo estoy usando Notepad++).

Verás el siguiente trozo de código o algo similar dependiendo de cómo hayas rellenado el formulario en Pluginplate:

<?php
/**
* Hot Recipes
*
* @package HOTRECIPES
* @author Freddy
* @license gplv2-or-later
* @version 1.0.0
*
* @wordpress-plugin
* Plugin Name: Hot Recipes
* Plugin URI: https://vistamedia.me
* Description: The Hot Recipes WordPress plugins adds a custom post type suitable for restaurants.
* Version: 1.0.0
* Author: Freddy
* Author URI: https://vistamedia.me
* Text Domain: hot-recipes
* Domain Path: /languages
* License: GPLv2 or later
* License URI: https://www.gnu.org/licenses/gpl-2.0.html
*
* You should have received a copy of the GNU General Public License
* along with Hot Recipes. If not, see <https://www.gnu.org/licenses/gpl-2.0.html/>.
*/

// Exit if accessed directly.
if ( ! defined( 'ABSPATH' ) ) exit;

// Plugin name
define( 'HOTRECIPES_NAME', 'Hot Recipes' );

// Plugin version
define( 'HOTRECIPES_VERSION', '1.0.0' );

// Plugin Root File
define( 'HOTRECIPES_PLUGIN_FILE', __FILE__ );

// Plugin base
define( 'HOTRECIPES_PLUGIN_BASE', plugin_basename( HOTRECIPES_PLUGIN_FILE ) );

// Plugin Folder Path
define( 'HOTRECIPES_PLUGIN_DIR', plugin_dir_path( HOTRECIPES_PLUGIN_FILE ) );

// Plugin Folder URL
define( 'HOTRECIPES_PLUGIN_URL', plugin_dir_url( HOTRECIPES_PLUGIN_FILE ) );

/**
* Load the main class for the core functionality
*/
require_once HOTRECIPES_PLUGIN_DIR . 'core/class-hot-recipes.php';

/**
* The main function to load the only instance
* of our master class.
*
* @author Freddy
* @since 1.0.0
* @return object|Hot_Recipes
*/
function HOTRECIPES() {
return Hot_Recipes::instance();
}

HOTRECIPES();

Bien, todo se ve muy bien. El código anterior le dirá a WordPress el nombre del plugin, así como la versión, el autor, la licencia y otros detalles. No necesitas editar nada. Pasemos al siguiente paso.

Justo debajo del código anterior, añade el siguiente código:

/**
* Registers the recipes post type.
*/
function hot_recipes_register_post_types() {

// Set UI labels for the recipes post type.
$labels = array(
'name' => _x( 'Recipes', 'Post Type General Name', 'hot-recipes' ),
'singular_name' => _x( 'Recipe', 'Post Type Singular Name', 'hot-recipes' ),
'menu_name' => __( 'Recipes', 'hot-recipes' ),
'parent_item_colon' => __( 'Parent Recipe', 'hot-recipes' ),
'all_items' => __( 'All Recipes', 'hot-recipes' ),
'view_item' => __( 'View Recipe', 'hot-recipes' ),
'add_new_item' => __( 'Add New Recipe', 'hot-recipes' ),
'add_new' => __( 'Add New', 'hot-recipes' ),
'edit_item' => __( 'Edit Recipe', 'hot-recipes' ),
'update_item' => __( 'Update Recipe', 'hot-recipes' ),
'search_items' => __( 'Search Recipe', 'hot-recipes' ),
'not_found' => __( 'Not Found', 'hot-recipes' ),
'not_found_in_trash' => __( 'Not found in Trash', 'hot-recipes' ),
);

// Set other arguments for the recipes post type.
$args = array(
'label' => __( 'recipes', 'hot-recipes' ),
'description' => __( 'Recipes.', 'hot-recipes' ),
'labels' => $labels,
'supports' => array(
'title',
'editor',
'excerpt',
'author',
'thumbnail',
'comments',
'revisions',
'custom-fields',
),
'taxonomies' => array(),
'hierarchical' => false,
'public' => true,
'show_ui' => true,
'show_in_menu' => true,
'show_in_nav_menus' => true,
'show_in_admin_bar' => true,
'menu_position' => 5,
'can_export' => true,
'has_archive' => true,
'exclude_from_search' => false,
'publicly_queryable' => true,
'capability_type' => 'post',
'show_in_rest' => true,
);

// Registes the recipes post type.
register_post_type( 'recipes', $args );

}
add_action( 'init', 'hot_recipes_register_post_types' );

El código anterior simplemente registra nuestro tipo de post personalizado «recipes» con una serie de opciones. También añade características como el soporte para revisiones, campos personalizados, extractos, comentarios, imagen destacada, etc. Estas son las características que verás dentro del editor de entradas cuando añadas una nueva receta.

Aparte: Ahora, yo no me preocuparía mucho por la sintaxis en este punto como un principiante porque está más allá del alcance del post de hoy. Pero con algunos conocimientos de PHP, entenderás cada parte del código anterior, y lo que hace cada parte. Además, hay un montón de recursos y código por ahí en Internet para aprender y practicar.

Comprime tu carpeta de plugins

Guarde todos sus cambios. Comprima la carpeta hot-recipes (es la carpeta donde se encuentra el archivo principal hot-recipes.php que acabamos de editar) en un archivo hot-recipes.zip (en un Mac es tan fácil como hacer clic con el botón derecho, comprimir el archivo – y en PC creo que es muy similar). Sólo asegúrate de que tu carpeta se guarda con extensión .ZIP o el plugin no se instalará.

A continuación, inicie sesión en su sitio de prueba y navegue hasta Plugins > Añadir nuevo (puede leer nuestro tutorial para instalar plugins de wordpress), como se muestra a continuación.

A continuación, haga clic en el botón Subir Plugin, elija la carpeta ZIP de su plugin desde su ordenador y haga clic en Instalar Ahora:

A continuación, Activa el plugin:

Ahora, si comprueba el menú de administración de WordPress, verá nuestro nuevo tipo de entrada Recipes (Recetas), con la posibilidad de añadir nuevas recetas:

¡Felicidades por escribir tu primer plugin sencillo! Con esta introducción, puedes ir más allá y jugar con el código para ver qué puedes conseguir. Además, puedes estudiar el código fuente de otros plugins (todos los plugins de WordPress son de código abierto) para aprender más.

Ahora todo lo que necesitas es unos cuantos recursos más (consulta el Manual de plugins) y mucha práctica y estarás programando en poco tiempo como la leyenda que eres.

Programar y escribir plugins para WordPress puede parecer intimidante al principio, especialmente para los principiantes. Pero con las herramientas adecuadas y algunos recursos de aprendizaje, puedes desarrollar plugins como un jefe en poco tiempo. Sólo se necesitan algunas habilidades de codificación y determinación y estás a mitad de camino.

Espero que este tutorial te haya orientado en la dirección correcta en cuanto a la comprensión de los plugins. Este post debería servir como un trampolín para desarrollar complejos plugins de WordPress que hagan lo que tú quieras. No se detenga aquí, revise los recursos que recomendé anteriormente para aumentar su conocimiento sobre el desarrollo de plugins de WordPress.

Si has encontrado este tutorial útil o si tienes algo más que añadir nos encantaría saberlo. Por favor, comparte tus opiniones en la sección de comentarios más abajo. ¡Nos vemos por aquí!

Publicidad

Síguenos en Facebook