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 XAMPP, Local by Flywheel o Docker para configurar un entorno de servidor local. Asegúrate de que tu WordPress esté en la versión más reciente para poder utilizar las API y funciones de seguridad más actualizadas.
Es necesario que comprendas la estructura básica de los plugins para WordPress. Un plugin mínimo requiere, al menos, un archivo principal, que es un archivo PHP con comentarios de cabecera específicos. El nombre de este archivo suele ser… your-plugin-name.phpIndica a WordPress que se trata de un plugin, y proporciona información como el nombre, la descripción, la versión y el autor.
En el editor de código, crea una nueva carpeta para tu proyecto de plugin, por ejemplo: my-first-pluginEn esta carpeta, cree el archivo PHP principal.
Lecturas recomendadas Desde cero: La guía definitiva y el tutorial práctico para el desarrollo de plugins para WordPress。
Crea tu primer archivo de plugin.
Ahora, vamos a crear el archivo principal del plugin. Este archivo es el punto de entrada del plugin y anuncia su existencia a WordPress a través de los bloques de comentarios en la parte superior.
Escribir la información de cabecera del plugin
En el archivo PHP que acaba de crear, necesita agregar el encabezado estándar para los plugins. Por ejemplo, un plugin llamado “Saludo del sitio” podría comenzar de la siguiente manera:
<?php
/**
* Plugin Name: 站点问候语
* Plugin URI: https://example.com/my-first-plugin
* Description: 一个简单的插件,用于在网站前台显示自定义问候语。
* Version: 1.0.0
* Author: 你的名字
* License: GPL v2 or later
* Text Domain: my-first-plugin
* Domain Path: /languages
*/ WordPress realiza escaneos (revisas) en su sistema. wp-content/plugins Todos los archivos PHP que se encuentran en el directorio deben leer esa información de comentario específica y mostrarla en la página de administración de plugins del lado backend. Text Domain Utilizado para la internacionalización.Domain Path Se ha especificado la ubicación del archivo de idioma.
Código para implementar las funciones principales
Debajo de la información de cabecera, puedes comenzar a escribir el código de funcionalidad del plugin. Tomaremos como ejemplo una función sencilla: mostrar un saludo en la esquina superior izquierda del pie de página del sitio web. Para evitar modificar directamente los archivos del tema, utilizaremos el sistema de ganchos (hooks) de WordPress.
Primero, necesitamos crear una función para generar un saludo. Luego, la utilizaremos… add_action La función conecta este resultado a una acción de ejecución de WordPress, por ejemplo… wp_footer。
Lecturas recomendadas Guía completa para el desarrollo de plugins de WordPress: desde cero hasta su publicación en la tienda.。
// 定义一个函数来输出问候语
function my_first_plugin_display_greeting() {
echo '<p style="position: fixed; bottom: 10px; left: 10px; background: #f1f1f1; padding: 10px; border-radius: 5px;">¡Hola, bienvenido a mi sitio web!</p>';
}
// 使用 add_action 钩子将函数挂载到 wp_footer 动作
add_action( 'wp_footer', 'my_first_plugin_display_greeting' ); Después de completar el código anterior, guarde la carpeta con el plugin (por ejemplo, …) en el lugar adecuado en su sistema. my-first-pluginTodo se copia al directorio de instalación de tu WordPress. wp-content/plugins/ El archivo se encuentra en el camino indicado. Luego, inicia sesión en la interfaz administrativa de WordPress, ve al menú “Plugins” y deberías ver el plugin “Site Greeting”. Haz clic en “Activar” para activarlo. Ahora, visita la página principal de tu sitio web y verás el saludo personalizado en la parte inferior de la pantalla.
Añadir opciones de administración para el plugin.
Un plugin con funciones completas suele necesitar una página de configuración que permita al administrador realizar ajustes desde la interfaz administrativa de WordPress. Esto implica la creación de un menú de administración y la lógica para el manejo de las opciones.
Crear la página de configuración del plugin
WordPress proporciona funciones para agregar páginas de configuración a los plugins. Por lo general, las utilizamos para… add_options_page o add_menu_page Las funciones correspondientes añaden esta página al menú de fondo del sistema. El ejemplo a continuación muestra cómo agregar una sencilla página de configuración bajo el menú principal de “Configuraciones”.
Primero, crea una función para renderizar el contenido HTML de la página de configuración.
// 渲染插件设置页面的函数
function my_first_plugin_settings_page() {
?>
<div class="wrap">
<h1>Configuración del saludo del sitio web</h1>
<form method="post" action="/es/options.php/" data-trp-original-action="options.php">
<?php
settings_fields( 'my_first_plugin_settings_group' );
do_settings_sections( 'my-first-plugin' );
submit_button();
?>
<input type="hidden" name="trp-form-language" value="es"/></form>
</div>
¿php?
} Luego, utiliza… add_action El gancho está en... admin_menu Esta página se utiliza para el registro en fases.
// 将设置页面添加到后台菜单
function my_first_plugin_add_admin_menu() {
add_options_page(
'问候语设置', // 页面标题
'站点问候语', // 菜单标题
'manage_options', // 权限要求
'my-first-plugin', // 菜单别名
'my_first_plugin_settings_page' // 渲染函数
);
}
add_action( 'admin_menu', 'my_first_plugin_add_admin_menu' ); Campos de configuración de registro y almacenamiento de datos
No basta con tener simplemente las páginas; también necesitamos definir campos de configuración específicos (como cuadros de texto, casillas de selección) y gestionar el proceso de almacenamiento de datos. Para ello, es necesario utilizar la API de configuración de WordPress. register_setting、add_settings_section Y add_settings_field y otras funciones.
Lecturas recomendadas De cero a uno: Guía autoritativa y tutorial práctico para el desarrollo de plugins para WordPress。
El siguiente código registra un grupo de configuraciones y un campo de texto que permiten a los usuarios personalizar el contenido de sus saludos.
// 初始化插件的设置
function my_first_plugin_settings_init() {
// 注册一个设置,将其保存到 `options` 表的 `my_first_plugin_greeting_text` 字段中
register_setting( 'my_first_plugin_settings_group', 'my_first_plugin_greeting_text' );
// 在页面中添加一个设置区域
add_settings_section(
'my_first_plugin_section',
'自定义问候语',
null,
'my-first-plugin'
);
// 在设置区域中添加一个文本字段
add_settings_field(
'my_first_plugin_field',
'问候语文本',
'my_first_plugin_field_render',
'my-first-plugin',
'my_first_plugin_section'
);
}
add_action( 'admin_init', 'my_first_plugin_settings_init' );
// 渲染文本输入框的函数
function my_first_plugin_field_render() {
$option = get_option( 'my_first_plugin_greeting_text', '你好,欢迎来到我的网站!' );
echo '<input type="text" name="my_first_plugin_greeting_text" value="' . esc_attr( $option ) . '" style="width: 300px;" />';
} Finalmente, necesitamos modificar la función que genera los saludos previamente diseñados para que lea los ajustes guardados por el usuario de la base de datos.
function my_first_plugin_display_greeting() {
$greeting_text = get_option( 'my_first_plugin_greeting_text', '你好,欢迎来到我的网站!' );
echo '<p style="position: fixed; bottom: 10px; left: 10px; background: #f1f1f1; padding: 10px; border-radius: 5px;">'`. esc_html($greeting_text)`.'</p>';
} Seguridad de los plugins y prácticas recomendadas
Al desarrollar plugins, la seguridad es un factor de consideración primordial. Un código inseguro puede hacer que un sitio web sea atacado. A continuación se presentan algunas pautas de seguridad esenciales.
Validación y limpieza de datos
En todo momento, cuando obtengas datos de la entrada del usuario (como $_POST, $_GET) o de la base de datos, debes asumir que son poco fiables. Es necesario verificar y limpiar esos datos antes de mostrarlos en el navegador o guardarlos en la base de datos.
Para el contenido que se va a mostrar en una página HTML, se utiliza… esc_html()、esc_attr() o wp_kses_post() Se deben usar funciones de escape para evitar ataques de tipo XSS (Cross-Site Scripting).
Para las variables utilizadas en consultas a bases de datos, se deben emplear sentencias precompiladas o métodos similares. $wpdb->prepare() Un método de este tipo.
En nuestro ejemplo, al guardar las configuraciones, WordPress… register_setting La función realiza automáticamente algunas tareas básicas de limpieza. Al momento de la salida de los resultados, hemos utilizado… esc_html() Para asegurarse de que los etiquetas HTML en el texto de los saludos sean convertidas de manera segura en texto común.
Usar métodos que no sean basados en el protocolo CE (Common Edge) para realizar comprobaciones de permisos.
Al procesar el envío de formularios desde la página de administración, es necesario verificar la legitimidad de la solicitud. Esto incluye comprobar los permisos del usuario y verificar un número aleatorio.
En el formulario de la página de configuración,settings_fields() La función ya incluye automáticamente la verificación no basada en el protocolo CE (Common European Framework). Sin embargo, si has creado un manejo de AJAX personalizado o un formulario no estándar, debes realizar la verificación de forma manual. Por lo general, se utiliza… current_user_can() Comprobar los permisos y usarlos. check_admin_referer() o wp_verify_nonce() Verificar un número aleatorio.
Por ejemplo, en una función de procesamiento de envíos personalizada:
function my_plugin_handle_form_submit() {
// 检查权限
if ( ! current_user_can( 'manage_options' ) ) {
wp_die( '权限不足' );
}
// 验证随机数
if ( ! isset( $_POST['my_nonce_field'] ) || ! wp_verify_nonce( $_POST['my_nonce_field'], 'my_action' ) ) {
wp_die( '安全校验失败' );
}
// ... 处理安全的数据 ...
} resúmenes
A través de esta guía, has completado el proceso de desarrollo completo de un plugin de WordPress que parte de un simple archivo PHP y evoluciona hasta incluir funciones de administración en la parte posterior del sitio web. Has aprendido sobre la estructura básica de los plugins, cómo utilizar los ganchos de acción (action hooks) para incorporar nuevas funcionalidades, cómo crear páginas de opciones configurables mediante la API de WordPress, así como prácticas de seguridad esenciales. Recuerda que un buen plugin no solo debe ser funcional, sino que también debe tener un código claro, seguro y fiable, y seguir los estándares de codificación de WordPress. Partiendo de este pequeño plugin, puedes continuar explorando funciones más avanzadas como códigos cortos (shortcodes), herramientas adicionales (widgets) y tipos de artículos personalizados, para ir construyendo gradualmente extensiones más complejas.
FAQ Preguntas más frecuentes
¿Cómo agregar soporte para múltiples idiomas a un plugin?
Para agregar soporte de internacionalización (i18n) a un plugin, lo principal es utilizar campos de texto y funciones de traducción. Primero, asegúrese de que los ajustes necesarios se hayan realizado correctamente en la parte superior del archivo del plugin. Text Domain Y Domain PathEn el código, todas las cadenas de texto que necesitan ser traducidas deben estar marcadas con el siguiente formato: __() o _e() Se envuelven las funciones correspondientes en un archivo. Luego, se utilizan herramientas como Poedit para crear el archivo de plantilla POT, así como los archivos de traducción .mo y .po, que se colocan en el directorio de idiomas especificado por el plugin.
Ejemplo:echo esc_html( __( ‘Hello, World!’, ‘my-first-plugin’ ) );Cuando un usuario cambia al idioma correspondiente, WordPress carga automáticamente los archivos de traducción correspondientes.
¿Cómo evitar que los nombres de las funciones en un plugin coincidan con los de otros plugins?
La mejor práctica para evitar conflictos de nombres de funciones es utilizar espacios de nombres (desde PHP 5.3+) o agregar un prefijo único a todas las funciones, clases y constantes. El prefijo debe ser lo suficientemente distintivo; por lo general, se utiliza una abreviatura o el nombre completo del plugin correspondiente.
Por ejemplo, no se debe utilizar… display_greeting()En lugar de eso, se debería utilizar… my_first_plugin_display_greeting()Si utilizas los espacios de nombres de PHP, puedes declararlos al principio del archivo. namespace MyFirstPlugin;Luego, se utilizan nombres de funciones cortos en el interior del código, mientras que para las llamadas desde el exterior, se realiza la resolución a través de los espacios de nombres (namespaces).
¿Cómo se publica un plugin en el directorio oficial una vez que está completo el desarrollo?
Para publicar un plugin en el directorio oficial de WordPress.org, primero debes crear una cuenta en WordPress.org y luego enviar el plugin allí. El proceso incluye lo siguiente: asegurarte de que el código cumpla con la licencia GPL, pasar la verificación de los estándares PHPCS, preparar un archivo `readme.txt` que siga un formato específico, y proporcionar capturas de pantalla y documentación claras. Después de enviar el plugin, un revisor examinará el código. Una vez aprobado, podrás publicarlo. Una vez publicado, los usuarios podrán buscarlo y instalarlo directamente desde la interfaz administrativa de WordPress.
¿Cómo pueden los plugins ser compatibles con versiones anteriores de WordPress?
Para mantener la compatibilidad con versiones anteriores, se debe verificar la versión actual de WordPress durante el desarrollo y utilizar sentencias condicionales para encapsular el código que depende de las API de nuevas versiones. Asimismo, se debe evitar el uso de funciones obsoletas; si es necesario utilizarlas, asegurarse de que existan alternativas. En el archivo `readme.txt` del plugin, se debe indicar claramente la versión mínima de WordPress requerida y proporcionar instrucciones claras a los usuarios. Probar periódicamente el funcionamiento del plugin en versiones anteriores es clave para mantener la compatibilidad.
¿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.
- Guía completa para la configuración y uso de plugins de WooCommerce: Cómo crear un sitio web de comercio electrónico desde cero
- Guía para el desarrollo de plugins para WordPress: Crea tu primer plugin personalizado desde cero
- ¿Por qué eligieron WooCommerce como su solución de comercio electrónico?
- Convertirse en desarrollador de plugins para WordPress: Una guía completa desde cero
- Guía completa de WooCommerce: Cómo crear tu tienda en línea y desarrollar tu estrategia de ventas desde cero