Preparación y configuración del entorno.
Antes de comenzar a escribir código, necesitas un entorno de desarrollo adecuado. Esto incluye una instalación local de WordPress y un editor de código. Se recomienda utilizar herramientas como XAMPP, MAMP, Local by Flywheel o Laragon para configurar rápidamente un entorno de servidor local. Asegúrate de que tu entorno esté ejecutando una versión reciente de PHP (se recomienda 7.4 o superior) y MySQL/MariaDB.
A continuación, es necesario que comprendas la estructura básica de los plugins de WordPress. El archivo más importante de un plugin es un archivo PHP principal; su nombre y el nombre de la carpeta en la que se encuentra pueden ser personalizados, pero deben contener una anotación de cabecera específica para indicar a WordPress que se trata de un plugin. Puedes encontrar este archivo en la carpeta de instalación de WordPress. wp-content/plugins Cree una nueva carpeta dentro de la carpeta existente, por ejemplo: my-first-plugin。
En esta carpeta, crea tu archivo principal del plugin; por ejemplo, nómbralo como `main-plugin.js`. my-first-plugin.phpEl inicio de este archivo debe contener las notas de información estándar sobre el plugin.
Lecturas recomendadas Guía de introducción al desarrollo de complementos de WordPress: crea tu primera extensión de funcionalidad personalizada desde cero.。
Crea tu primer archivo de plugin.
Ahora, vamos a comenzar a crear el esqueleto básico del plugin. En el directorio de tu plugin, abre el archivo PHP principal y escribe la siguiente información estándar para el encabezado del plugin.
<?php
/**
* Plugin Name: 我的第一个插件
* Plugin URI: https://example.com/my-first-plugin
* Description: 这是一个用于学习的 WordPress 插件示例。
* Version: 1.0.0
* Author: 你的名字
* Author URI: https://example.com
* License: GPL v2 or later
* Text Domain: my-first-plugin
* Domain Path: /languages
*/ Este comentario es clave para que WordPress reconozca los plugins. En él,Plugin Name Es un campo obligatorio; el resto son opciones. Después de guardar el archivo, podrás ver este nuevo plugin en la página de “Plugins” del panel de administración de WordPress y activarlo. Actualmente, no tiene ninguna función disponible.
Añadir una función sencilla al plugin.
Una de las funciones más simples es agregar un menú de administración personalizado en el panel de administración del sitio web. Vamos a utilizar… add_action La función se ha montado (es decir, se ha asociado correctamente con el sistema o el componente en el que se utiliza). admin_menu Este accionador está conectado a un gancho.
En el archivo del plugin principal, después del bloque de comentarios, añada el siguiente código:
// 在管理菜单中添加一个顶级菜单
function mfp_add_admin_menu() {
add_menu_page(
'我的第一个插件设置', // 页面标题
'我的插件', // 菜单标题
'manage_options', // 权限要求
'my-first-plugin', // 菜单 slug
'mfp_settings_page', // 回调函数,用于输出页面内容
'dashicons-admin-generic', // 图标(可选)
6 // 菜单位置(可选)
);
}
add_action('admin_menu', 'mfp_add_admin_menu');
// 定义设置页面的回调函数
function mfp_settings_page() {
?>
<div class="wrap">
<h1><?php echo esc_html(get_admin_page_title()); ?></h1>
<p>¡Bienvenido a la página de configuración de mi primer plugin!</p>
<form method="post" action="/es/options.php/" data-trp-original-action="options.php">
<?php
// 后续可以在这里添加设置字段
?>
<p class="submit">
<input type="submit" name="submit" id="submit" class="button button-primary" value="Guardar los cambios">
</p>
<input type="hidden" name="trp-form-language" value="es"/></form>
</div>
¿php?
} Este código crea un nuevo menú principal llamado “Mis plugins”; al hacer clic en él, se accede a una página de configuración sencilla. Aquí se utiliza… add_menu_page Se creó una función para registrar el menú y también se definió una función de devolución de llamada (callback function). mfp_settings_page Se utiliza para renderizar el contenido de la página.
Lecturas recomendadas Guía para principiantes en el desarrollo de plugins para WordPress: Crea tu primer plugin funcional desde cero。
Ampliar las funcionalidades utilizando ganchos (hooks) y filtros.
La principal fortaleza de WordPress radica en su arquitectura de plugins, que se logra a través de los ganchos de acción (action hooks) y los ganchos de filtro (filter hooks). Los ganchos de acción te permiten ejecutar código personalizado en momentos específicos, mientras que los ganchos de filtro te permiten modificar los datos.
Utilizar los ganchos de acción para agregar notas al pie de la página.
Supongamos que queremos agregar automáticamente un texto personalizado al final de todos los artículos en el sitio web. Esto se puede lograr mediante la implementación de una función o un script que se ejecute en cada artículo al ser publicado. the_content Este filtro se implementa mediante un gancho (hook). Tenga en cuenta que, aunque su nombre es “filtro”, en realidad cumple una función diferente. the_content Se utiliza generalmente para modificar el contenido que se muestra en los artículos.
// 在文章内容末尾添加自定义文本
function mfp_append_text_to_content($content) {
// 确保只在主循环的单篇文章页面添加
if (is_single() && in_the_loop() && is_main_query()) {
$custom_text = '<p><em>Este artículo es presentado por “Mi primer plugin”.</em></p>';
$content .= $custom_text;
}
return $content;
}
add_filter('the_content', 'mfp_append_text_to_content'); Esta función mfp_append_text_to_content Recibir el contenido original del artículo. $contentDespués de verificar las condiciones de contexto (para asegurarse de que se trate de la página de un artículo individual), se añade un texto personalizado al final del contenido y, finalmente, se devuelve el contenido modificado. add_filter Regístrelo en… the_content Gancho.
Crear opciones de plugins configurables
Un plugin práctico suele necesitar algunas opciones que puedan ser configuradas por el usuario. WordPress ofrece una API de configuración para gestionar y manejar estas opciones de manera segura. Vamos a agregar un campo de texto sencillo a la página de configuración existente.
En primer lugar, necesitamos registrar un nuevo elemento de configuración y agregarlo a la página del menú que ya existe.
// 初始化插件设置
function mfp_settings_init() {
// 注册一个新的设置到 “reading” 组(或自定义组)
register_setting('mfp_plugin_settings', 'mfp_custom_message');
// 在现有页面内添加一个设置区域
add_settings_section(
'mfp_section_id',
'自定义消息设置',
'mfp_section_callback',
'my-first-plugin'
);
// 向该区域添加一个字段
add_settings_field(
'mfp_field_id',
'页脚消息',
'mfp_field_callback',
'my-first-plugin',
'mfp_section_id'
);
}
add_action('admin_init', 'mfp_settings_init');
// 区域描述回调函数
function mfp_section_callback() {
echo '<p>Aquí se configura el mensaje que se mostrará al final del artículo mediante el plugin.</p>';
}
// 字段输出回调函数
function mfp_field_callback() {
// 从数据库中获取已保存的选项值
$message = get_option('mfp_custom_message', '本文由“我的第一个插件”为您呈现。');
echo '<input type="text" name="mfp_custom_message" value="' . esc_attr($message) . '" class="regular-text">';
echo '<p class="description">Ingresa el mensaje que deseas mostrar al final de cada artículo.</p>';
} Luego, es necesario modificar lo que se definió anteriormente. mfp_settings_page Función para mostrar los campos configurados en un formulario.
Lecturas recomendadas Desde los primeros pasos hasta la maestría: Guía completa y tutorial práctico para el desarrollo de plugins para WordPress。
// 更新后的设置页面回调函数
function mfp_settings_page() {
?>
<div class="wrap">
<h1><?php echo esc_html(get_admin_page_title()); ?></h1>
<form method="post" action="/es/options.php/" data-trp-original-action="options.php">
<?php
// 输出设置字段、安全随机数和设置组
settings_fields('mfp_plugin_settings');
do_settings_sections('my-first-plugin');
submit_button();
?>
<input type="hidden" name="trp-form-language" value="es"/></form>
</div>
¿php?
} Finalmente, actualizaremos la función que añade texto anteriormente, para que utilice opciones configurables.
function mfp_append_text_to_content($content) {
if (is_single() && in_the_loop() && is_main_query()) {
// 从选项中获取自定义消息,如果不存在则使用默认值
$custom_text = get_option('mfp_custom_message', '本文由“我的第一个插件”为您呈现。');
if (!empty($custom_text)) {
$content .= '<p><em>'`. wp_kses_post($custom_text)`.'</em></p>';
}
}
return $content;
} Internacionalización de plugins y preparación para su publicación
Para que los complementos puedan ser utilizados por usuarios de todo el mundo, la internacionalización es un paso importante. Esto implica utilizar campos de texto y funciones de traducción para encapsular todas las cadenas de texto que son visibles para los usuarios.
Utiliza la función de traducción para procesar el texto.
Necesitas convertir todas las cadenas de texto que se generan en el plugin en español. echo El texto devuelto por `or `` debe ser envuelto en una función de traducción específica. La más comúnmente utilizada es… () Se utiliza para traducir y devolver cadenas de texto, así como… esc_html__() Se utiliza para traducir y escapar el código HTML.
Modifica el ejemplo de código anterior:
// 在管理菜单中添加一个顶级菜单(国际化版本)
function mfp_add_admin_menu() {
add_menu_page(
__('我的第一个插件设置', 'my-first-plugin'), // 页面标题
__('我的插件', 'my-first-plugin'), // 菜单标题
'manage_options',
'my-first-plugin',
'mfp_settings_page',
'dashicons-admin-generic',
6
);
}
add_action('admin_menu', 'mfp_add_admin_menu');
// 区域描述回调函数(国际化版本)
function mfp_section_callback() {
echo '<p>' . esc_html__('在这里配置插件在文章末尾显示的消息。', 'my-first-plugin') . '</p>';
} Al mismo tiempo, es necesario cargar el campo de texto. Después del bloque de comentarios en el archivo principal del plugin, añada el código para cargar el archivo de traducción:
// 加载插件文本域
function mfp_load_textdomain() {
load_plugin_textdomain('my-first-plugin', false, dirname(plugin_basename(__FILE__)) . '/languages/');
}
add_action('plugins_loaded', 'mfp_load_textdomain'); Preparar el paquete comprimido del plugin.
Antes de publicar o compartir un plugin, es necesario crear un paquete de lanzamiento limpio. Asegúrate de que el directorio de tu plugin contenga todos los archivos necesarios y elimina aquellos que no sean esenciales. .git Archivos de carpetas, archivos de registro o archivos de configuración de IDE, entre otros contenidos irrelevantes. Por lo general, un paquete de publicación de un plugin mínimo debería incluir lo siguiente:
1. Archivo principal del plugin en PHP.
2. Opcional readme.txt El archivo debe seguir los estándares de formato de WordPress.org y ser utilizado para su exhibición en el directorio de plugins.
3. Un archivo que contiene los archivos de traducción. /languages La carpeta (si existe).
4. Otros folders de recursos necesarios, como JavaScript, CSS o imágenes.
Comprime todo el folder del plugin en un archivo ZIP. Este archivo podrá ser instalado a través de la función de “Subir plugin” en la interfaz administrativa de WordPress, o bien enviado al directorio oficial de plugins de WordPress.
resúmenes
A través de esta guía, hemos completado el proceso central del desarrollo de plugins para WordPress: desde la preparación del entorno y la creación del archivo principal con el encabezado estándar del plugin, hasta la adición de funcionalidades mediante acciones y ganchos de filtros, pasando por el uso de la API de configuración para crear páginas de opciones personalizables; finalmente, hemos introducido los conceptos básicos de internacionalización. Todo esto te ha proporcionado una base sólida para desarrollar plugins más complejos y prácticos. Recuerda que una buena estructura del código, el cumplimiento de los estándares de codificación de WordPress y una comprensión profunda de su sistema de ganchos son clave para convertirte en un desarrollador de plugins de excelencia.
FAQ Preguntas más frecuentes
¿Qué conocimientos de programación se necesitan para desarrollar plugins para WordPress con ###?
Es necesario que tengas conocimientos básicos de programación en PHP, ya que el núcleo de WordPress y sus plugins están escritos principalmente en este lenguaje. También será de gran ayuda tener un conocimiento básico de HTML, CSS y JavaScript, especialmente cuando necesites personalizar las interfaces de administración o las interacciones del lado del usuario. Además, es esencial comprender los conceptos fundamentales de WordPress, como los artículos, las páginas, las categorías y los ganchos (hooks).
¿Cómo debe llamarse el archivo principal del plugin?
No hay requisitos obligatorios. El archivo principal puede tener cualquier nombre válido para un archivo PHP, pero se recomienda utilizar un nombre que coincida con el nombre del directorio del plugin. Por ejemplo, si el nombre del directorio es… my-super-pluginEntonces, el archivo principal puede llamarse… my-super-plugin.phpLo clave está en las notas de cabecera de los plugins que se encuentran al principio del archivo; WordPress utiliza estas notas para... Plugin Name: Para identificar los plugins…
¿Cómo depurar el código de mi complemento?
Existen varios métodos para depurar plugins. En primer lugar, asegúrate de que… wp-config.php Activa el modo de depuración de WordPress en el archivo. WP_DEBUG Los constantes se establecen en trueEsto mostrará en la página los errores, advertencias y notificaciones de PHP. Además, es posible utilizar… error_log() La función escribe información de depuración en el registro de errores del servidor, o utiliza herramientas de depuración más avanzadas, como el plugin Query Monitor, que puede proporcionar detalles sobre consultas a la base de datos, hooks, errores de PHP, etc.
¿Cómo puedo publicar el plugin que he desarrollado en el directorio oficial de WordPress?
Para publicar un plugin en el directorio oficial de plugins de WordPress.org, primero debes registrar una cuenta en WordPress.org y luego enviar tu plugin para su revisión. El código de tu plugin debe cumplir con la licencia GNU GPL y debe contener un archivo de licencia con el formato correcto. readme.txt El equipo de revisión examinará la calidad del código, su seguridad y su cumplimiento con las guías de organización del directorio. Una vez que la revisión sea aprobada, podrás obtener un repositorio SVN para gestionar y actualizar las versiones de tu plugin.
¿Qué sigue, qué sigue?
Lectura ampliada y conocimientos prácticos
Los siguientes están relacionados con el tema de este artículo y son adecuados para una lectura más profunda. A menudo es mejor priorizar empezando por el artículo que más se acerque a su problema actual y ampliando gradualmente a los temas circundantes.
- ¿Cómo elegir y personalizar el tema de WordPress perfecto para ti?
- Guía para el desarrollo de plugins para WordPress: Crea tu primer plugin personalizado desde cero
- Convertirse en desarrollador de plugins para WordPress: Una guía completa desde cero
- De cero a uno: Guía completa y consejos prácticos para construir sitios web profesionales con WordPress
- Guía completa para el desarrollo de plugins para WordPress: Desde los principios hasta la maestría para crear extensiones profesionales