Bases del desarrollo de complementos de WordPress y configuración del entorno.
Los plugins de WordPress son paquetes de código independientes que amplían las funciones básicas de WordPress. Para comenzar a desarrollarlos, primero se necesita configurar un entorno de desarrollo local profesional. Esto generalmente incluye la instalación de un software de servidor local (como XAMPP, MAMP o Local by Flywheel), un editor de código (como VS Code o PhpStorm) y una instalación de WordPress para pruebas. El uso de un entorno local evita los riesgos que puede conllevar el desarrollo experimental en un sitio web en línea.
Después de tener todo listo, crear el primer plugin es muy sencillo. Solo hay que ir a la sección de plugins de WordPress y seguir los pasos.wp-content/pluginsCree una nueva carpeta dentro del directorio, por ejemplo…my-first-pluginLuego, cree un archivo PHP principal dentro de esa carpeta, cuyo nombre generalmente coincide con el de la carpeta. El inicio de este archivo principal debe incluir los comentarios de encabezado estándar del plugin, que son fundamentales para que WordPress reconozca el plugin.
La estructura necesaria del archivo principal del complemento
El archivo principal del complemento es el punto de entrada del complemento, y su bloque de comentarios superior contiene una serie de metadatos. Entre ellos, se encuentra:Plugin NameEste es el único campo obligatorio, y aparecerá en la lista de complementos del panel de control de WordPress. Un complemento básico puede incluir solo esta información de encabezado, sin ningún código de funcionamiento real.
Lecturas recomendadas Guía completa para el desarrollo de plugins para WordPress: Desde los principios hasta la práctica avanzada。
A continuación, se muestra un ejemplo de código para un archivo de complemento muy simple:
<?php
/**
* Plugin Name: 我的第一个插件
* Description: 这是一个用于学习的简单WordPress插件。
* Version: 1.0.0
* Author: 你的名字
* License: GPL v2 or later
* Text Domain: my-first-plugin
*/ Después de guardar el código anterior, inicie sesión en la página de “Plugins” del panel de administración de WordPress y podrá ver este nuevo plugin y activarlo. Aunque actualmente no ejecuta ninguna función, esto marca el inicio oficial del proceso de desarrollo.
Mecanismo central: ganchos de acción y filtros.
La filosofía central del desarrollo de plugins de WordPress es el uso de “ganchos”, que permiten que tu código se “enganche” a los procesos centrales de WordPress en momentos específicos o con datos específicos. Los ganchos se dividen principalmente en dos categorías: acciones y filtros.
Los ganchos de acción (action hooks) ejecutan tus funciones personalizadas cuando ocurren eventos específicos, como después de la publicación de un artículo o al cargar un script en la parte superior de la página, entre otros. Se utilizan para que el sistema realice alguna acción determinada.add_action()Los funciones pueden montar tu función en el gancho de acción especificado.
Usar ganchos de acción para agregar funcionalidades.
Por ejemplo, si desea agregar un texto personalizado al pie de página de un sitio web, puede utilizarwp_footerEste es un gancho de acción. Primero, necesitas escribir una función personalizada en el archivo principal del plugin y luego usarla.add_action()Vincúlalo al gancho.
Lecturas recomendadas Aprenda a desarrollar complementos de WordPress: construya su primer complemento personalizado de cero a uno.。
A continuación, se muestra un ejemplo de implementación:
function myplugin_add_footer_text() {
echo '<p style="text-align:center;">¡Gracias por utilizar este sitio web!</p>';
}
add_action( 'wp_footer', 'myplugin_add_footer_text' ); Cuando WordPress llega a…wp_footerCuando se produce un gancho, se invoca automáticamente.myplugin_add_footer_text()Función, que muestra el texto que has definido.
Modificar datos utilizando los ganchos (hooks) de los filtros
Los filtros de hook se utilizan para modificar los datos. Procesan los datos antes de que se utilicen (por ejemplo, al almacenarlos en una base de datos o al enviarlos al navegador). Sirven para “modificar algo”. Se utilizanadd_filter()Se utilizan funciones para aplicar filtros. Por ejemplo, para modificar todos los títulos de los artículos, se puede agregar un prefijo antes de que se muestren.
El código siguiente muestra cómo agregar un prefijo “[Recomendado]” a todos los títulos de los artículos:
function myplugin_modify_title( $title ) {
if ( is_single() ) {
$title = '[推荐] ' . $title;
}
return $title;
}
add_filter( 'the_title', 'myplugin_modify_title' ); Crear una página de administración de fondo para el complemento
Muchos complementos necesitan ofrecer opciones de configuración a los usuarios, lo que requiere crear un menú de administración y una página de configuración en el panel de control de WordPress. WordPress ofrece una serie de funciones para agregar elementos de menú principales o secundarios.
Añadir menú de administración de nivel superior
Puedes usaradd_menu_page()La función crea un menú de fondo independiente para tu complemento. Esta función requiere varios parámetros, que incluyen el título de la página, el título del menú, los permisos del usuario, el alias del menú, la función de devolución de llamada para generar el contenido de la página, etc.
Lecturas recomendadas Te enseñaremos paso a paso a dominar el desarrollo de plugins para WordPress, desde cero.。
Aquí, la función de devolución de llamadamyplugin_settings_page_htmlEs responsable de generar el contenido HTML de la página de configuración de salida.
El código para agregar un menú generalmente necesita estar incrustado enadmin_menuEste es un hook de acción, diseñado para asegurar que se ejecute al inicializar la interfaz de administración.
Crear una página de configuración y un formulario de seguridad.
En la función de devolución de la página de configuración, necesitas mostrar un formulario y procesar su envío. WordPress proporciona una API de configuración para simplificar este proceso, que permite gestionar de forma segura el registro, el almacenamiento y la visualización de las opciones. Sin embargo, para comprender los principios básicos, podemos comenzar con un ejemplo sencillo de cómo procesar manualmente el envío del formulario.
El siguiente código muestra cómo crear una página de configuración simple que incluya un cuadro de entrada y guardar los datos de forma segura:
funcion myplugin_settings_page_html() {
// Comprobar los permisos del usuario
if ( ! current_user_can( 'manage_options' ) ) {
return;
}
// Procesar el envío del formulario
if (isset( $_POST['myplugin_option'] ) ) {
// Comprobación de seguridad: verificar el número aleatorio
check_admin_referer( 'myplugin_save_settings' );
// Limpiar y guardar los datos
$option_value = sanitize_text_field( $_POST['myplugin_option'] );
update_option( 'myplugin_custom_option', $option_value );
echo '<div class="notice notice-success"><p>¡Los ajustes se han guardado!</p></div>'¿Cómo puedo traducir esto al español?
<div class="wrap">
<h1>Configuraciones de mi plugin</h1>
<form method="post" action="">
¿¿php_nonce_field( 'myplugin_save_settings' );??
<label for="myplugin_option">Opciones:</label>
<input type="text" id="myplugin_option" name="myplugin_option" value="<?php echo esc_attr( $saved_value ); ?>" />
¿
<input type="hidden" name="trp-form-language" value="es"/></form>
</div>
¿php?
} Desarrollo avanzado y publicación de complementos.
Cuando las funciones del complemento se vuelven más complejas, una buena organización del código es fundamental. Se recomienda utilizar la programación orientada a objetos (POO) para encapsular las funciones del complemento en clases. Esto ayuda a evitar conflictos de nombres de funciones y hace que la estructura del código sea más clara y fácil de mantener.
La internacionalización de los complementos es clave para llegar a todo el mundo. Utilice__()Y_e()Estas funciones envuelven todo el texto orientado al usuario y lo transmiten a través deload_plugin_textdomain()La función carga los archivos de traducción. Es necesario configurarlo correctamente en las notas del encabezado del plugin.Text DomainTambién es necesario.
Preparativos previos al lanzamiento del complemento
Antes de enviar el complemento al catálogo oficial o distribuirlo, es necesario realizar pruebas exhaustivas. Esto incluye pruebas de compatibilidad con diferentes versiones de PHP y WordPress, así como con diversas combinaciones de temas y complementos. El código debe seguir los estándares de codificación de WordPress y contar con protecciones de seguridad, además de validar, limpiar y escapar todas las entradas de los usuarios.
Escribir código claro para el complemento.README.txtUn documento que explique su funcionalidad, el método de instalación, las preguntas frecuentes, etc. Por último, empaquete el código en un archivo ZIP, que podrá enviar al directorio de complementos de WordPress.org o distribuir en su propio sitio web.
resúmenes
El desarrollo de plugins de WordPress comienza con la comprensión del mecanismo de los hooks básicos, y luego se profundiza en la creación de interfaces de administración, la organización de la estructura del código y, finalmente, la publicación segura. El dominio del uso de los hooks de acción y filtro es fundamental, ya que constituyen el puente de interacción con WordPress. Ya sea que se agregue una función simple o se construya un plugin comercial complejo, seguir las normas de codificación segura, realizar pruebas exhaustivas y considerar la internacionalización son claves para el éxito. A través de la práctica constante, podrás crear plugins de WordPress potentes, estables y populares.
FAQ Preguntas más frecuentes
¿Es necesario aprender PHP antes de desarrollar un complemento?
Sí, contar con un sólido conocimiento de PHP es un requisito indispensable para desarrollar plugins de WordPress. Esto se debe a que la mayoría de WordPress y sus plugins están escritos en PHP. Necesitas comprender conceptos como la sintaxis de PHP, las funciones, las variables, los arrays y la programación orientada a objetos para poder escribir y depurar el código de los plugins de manera efectiva.
¿Cómo evitar que los nombres de las funciones de mi plugin entren en conflicto con los de otros plugins?
La mejor práctica para evitar conflictos de nombres de funciones es usar la programación orientada a objetos y encapsular todas tus funciones en los métodos de una clase. Si usas la programación procedimental, debes agregar un prefijo único a todos los nombres de las funciones, generalmente relacionado con el nombre o las iniciales de tu complemento, por ejemplo,myplugin_omp_Esto puede reducir significativamente la posibilidad de conflictos de nombres.
¿Por qué desaparece mi configuración de complemento después de actualizar la página después de guardarla?
Esto generalmente se debe a que no se procesó correctamente la validación del número aleatorio del envío del formulario. Antes de guardar los datos del formulario, se debe usar <check_admin_referer()owp_verify_nonce()Un funcionamiento que verifica los números aleatorios para garantizar que la solicitud provenga de la fuente correcta y evitar ataques de suplantación de solicitudes entre sitios. Si la verificación falla, WordPress impedirá que se guarden los datos.
¿Cómo puedo hacer que el texto de mi complemento se traduzca a otros idiomas?
Necesitas internacionalizar todas las cadenas orientadas al usuario en el complemento. Utiliza__()La función obtiene la traducción de una cadena de texto, o la utiliza para realizar alguna acción específica._e()La función genera la salida directamente. También es necesario que esto se realice al inicializar el plugin (por ejemplo, al montarlo en el sistema).plugins_loadedLlamada al hook.load_plugin_textdomain()Existen funciones para cargar los archivos de idioma correspondientes. Herramientas como Poedit pueden ayudarte a crearlos..potArchivos de plantilla y….po/.moTraducir el documento.
¿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 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
- Guía completa para el desarrollo de plugins para WordPress: Desde los principios hasta la maestría para crear extensiones profesionales
- Desarrollo de plugins para WordPress: Desde los principios hasta la maestría: Crea tu primer plugin personalizado
- De cero a uno: Una guía completa para desarrollar tu primer plugin para WordPress paso a paso