Tutorial del complemento de WordPress: Cómo crear un complemento de WordPress
En este tutorial de complementos de WordPress, aprenderá a crear un complemento de WordPress completo con su propia página de administración. La razón más importante para crear un complemento es que le permite separar su propio código del código central de WordPress. Si algo sale mal con su complemento, el resto del sitio generalmente seguirá funcionando.
La alteración del código WP central puede ser catastrófica. Con las funciones de complementos más avanzadas proporcionadas por WordPress, incluso puede crear complementos que cambian la forma en que funcionan las funciones principales sin alterar realmente su código.
Lo que necesitarás
Para completar los pasos de este tutorial del complemento de WordPress, necesitará un editor de texto como Notepad ++ o NetBeans. También necesitará acceso FTP a su cuenta de alojamiento y una instalación de WordPress que funcione.
Puede aprender cómo conectar Notepad ++ a su servidor FTP leyendo el tutorial de cómo conectarse a FTP con Notepad ++. También puede usar software FTP como FileZilla para cargar sus archivos, y el tutorial de cómo configurar el cliente FileZilla le enseñará cómo hacerlo.
Este tutorial del complemento de WordPress está destinado a personas que ya tienen conocimientos básicos de PHP. Escribirá una nueva función, llamará a las funciones existentes de WordPress usando parámetros, y escribir comentarios PHP.
También se recomienda encarecidamente crear una copia de seguridad de su sitio web antes de continuar.
¿Qué son los complementos de WordPress?
A Complemento de WordPress es un conjunto de código independiente que mejora y amplía la funcionalidad de WordPress. Al usar cualquier combinación de PHP, HTML, CSS, JavaScript / jQuery o cualquier otro lenguaje de programación web, un complemento puede agregar nuevas funciones a cualquier parte de su sitio web, incluido el Panel de control de administración. Puede modificar el comportamiento predeterminado de WordPress o eliminar el comportamiento no deseado por completo. Los complementos le permiten personalizar WordPress fácilmente para que se adapte a sus necesidades.
Debido a que los complementos de WordPress son independientes, no alteran físicamente ninguno de los códigos centrales de WordPress. Se pueden copiar e instalar en cualquier instalación de WordPress. Un suplente (y fuertemente desanimado) La forma de realizar cambios en WordPress es escribir nuevas funciones en WordPress. functions.php archivo, que se almacena en el / wp-includes / carpeta, o la functions.php archivo que forma parte de un tema. Esto conlleva una serie de problemas potenciales.
WordPress y sus temas reciben actualizaciones periódicas. Y a menos que esté utilizando el tema hijo de WordPress, cuando functions.php se sobrescribe con una actualización, su nuevo código se eliminará y tendrá que volver a escribirlo. Si escribe muchas funciones y una de ellas tiene un error que no puede depurar, es posible que deba reemplazar todo el archivo por el original, eliminando todos los cambios que haya realizado. Si sus funciones se eliminan del archivo, su sitio web puede estar cubierto de errores de PHP en los que intenta llamar a las funciones que faltan.
Los complementos nunca se sobrescriben o eliminan automáticamente al instalar actualizaciones de WordPress. Si su complemento tiene errores de codificación, generalmente puede desactivarlo en el Panel de control de administración mientras lo arregla. Si su complemento tiene un error grave, WordPress a veces lo desactivará automáticamente, permitiendo que su sitio continúe funcionando.
¿Qué son los ganchos?
Los complementos de WordPress interactúan con el código central usando manos. Hay dos tipos diferentes de anzuelos.
- Ganchos de acción (para agregar / eliminar funciones)
- Filtrar ganchos (para modificar datos producidos por funciones)
Acciones y ganchos de acción
Cuando visita cualquier página de un sitio web de WordPress, una serie de funciones PHP (llamadas comportamiento) se llaman en varios puntos, y se adjuntan a ganchos de acción. Utilizando la ganchos de acción proporcionado por WordPress, usted puede agregar sus propias funciones a la lista de acciones que se ejecutan cuando se llama a cualquier gancho de acción, y también puede retirar funciones preexistentes de cualquier gancho de acción. Los ganchos de acción dictan cuándo se llaman las acciones. Antes del cierre etiqueta de cualquier página, la wp_head () Se llama al gancho de acción, y las acciones que están conectadas a wp_head () se ejecutan.
Los ganchos de acción son contextuales: algunos se llaman en cada página de su sitio web, otros solo se llaman cuando se visualiza el Panel de control del administrador, y así sucesivamente. Puede encontrar una lista completa de ganchos de acciones y el contexto en el que se llaman en la página de referencia de acción / API del complemento de WordPress.
Adición de funciones a un enlace de acción mediante add_action ()
Para agregar una función a cualquier gancho de acción, su complemento debe llamar a la función de WordPress llamada add_action (), con al menos dos parámetros.
- El primer parámetro obligatorio es el nombre del gancho de acción al que quieres adjuntar
- El segundo parámetro requerido es el nombre del función que quieres correr
- El tercer parámetro (opcional) es el prioridad de la función que desea ejecutar. Puede conectar cualquier cantidad de funciones diferentes al mismo gancho de acción y ordenarlas como desee. La prioridad predeterminada es 10, colocando su función personalizada después de cualquiera de las funciones integradas de WordPress. A continuación se ejecuta una función con una prioridad de 11, y así sucesivamente.
- El cuarto parámetro (opcional) es el número de argumentos, lo que significa cuántos parámetros puede tomar su función personalizada. El valor predeterminado es 1.
Ejemplo de código de complemento para mostrar texto después del pie de página de cada página
Este complemento conecta el wp_footer () gancho de acción, que se llama justo antes del cierre etiqueta de cada página, y agrega una nueva función llamada mfp_Add_Text (). Dado que esto es parte de un complemento y no un tema, seguirá funcionando si activa un tema completamente diferente. Puede guardar este ejemplo como un archivo PHP, subirlo al wp-content / plugins / carpeta y actívela en el Panel de control de administración para ver el cambio.
Resultado final:

NOTA: Puedes llamar add_action () antes de definir su propia función porque PHP evalúa todo el script antes de ejecutarlo. Escribiendo add_action () llamadas en la parte superior del archivo en el orden en que se ejecutan, luego definir sus funciones en el mismo orden a continuación, hace que el archivo sea más fácil de leer.
Eliminar funciones de un gancho de acción mediante remove_action ()
Para retirar una acción de un gancho de acción, debe escribir una nueva función que llame remove_action (), luego llame a la función que ha escrito usando add_action (). El siguiente ejemplo aclarará esto.
Debes dar remove_action () al menos dos piezas de información como parámetros.
- El primer parámetro obligatorio es el nombre del gancho de acción la función está enganchada a
- El segundo parámetro requerido es el nombre del función que quieres eliminar
- El tercer parámetro (opcional) es el prioridad de la función original. Este parámetro debe ser idéntico a la prioridad que se definió originalmente al agregar la acción al gancho de acción. Si no definió una prioridad en su función personalizada, no incluya el parámetro.
Ejemplo: Imagine que no desea que el texto agregado al pie de página en el ejemplo anterior aparezca un lunes. Una forma de hacerlo es utilizando la función de fecha de PHP para obtener el día actual, seguido de una si … entonces … declaración condicional para probar si el día actual es lunes, luego llamar remove_action () si es lunes. Llamas a la función usando add_action (), enganchando cualquier gancho de acción que ocurra antes del gancho de acción que desea afectar. Si intenta enganchar un gancho de acción que ocurre después wp_footer en este ejemplo, la acción no se eliminará del gancho porque ya se ha ejecutado.
Filtros y ganchos para filtros
A función de filtro le permite modificar los datos resultantes que son devueltos por las funciones existentes y deben estar conectados a uno de la ganchos de filtro. Los ganchos de filtro disponibles son diferentes a los ganchos de acción. Se comportan de manera similar a los ganchos de acción en el sentido de que se llaman en varios puntos del script y son contextuales. Puede encontrar una lista completa de enlaces de filtro y el contexto en el que se llaman en la página de referencia de filtro / API del complemento de WordPress.
Agregar filtros usando add_filter ()
Para agregar una función de filtro para cualquier gancho de filtro, su complemento debe llamar a la función de WordPress llamada Añadir filtro(), con al menos dos parámetros.
- El primer parámetro obligatorio es el nombre del gancho de filtro que quieres enganchar
- El segundo parámetro requerido es el nombre del función de filtro que quieres correr
- El tercer parámetro (opcional) es el prioridad de la función que desea ejecutar. Puede adjuntar cualquier número de funciones de filtro diferentes a un gancho de filtro. La prioridad predeterminada es 10, colocando su función personalizada después de cualquier función incorporada. A continuación se ejecuta una función con una prioridad de 11, y así sucesivamente.
- El cuarto parámetro (opcional) es el número de argumentos, lo que significa cuántos parámetros puede tomar su función de filtro personalizado. El valor predeterminado es 1.
Complemento de ejemplo para modificar el extracto de una publicación
WordPress tiene una función que recupera el extracto de una publicación llamada get_the_excerpt (), que también es un gancho de filtro. La función para realmente mostrar el extracto llama get_the_excerpt () para recuperar allí es donde se aplica el filtro y el extracto se modifica antes de mostrarse. Este complemento define una función de filtro que toma el extracto como su único parámetro de entrada, agrega algo de texto antes y devuelve el nuevo valor cada vez que get_the_excerpt () se llama. Como el valor de retorno de la get_the_excerpt () La función es el texto del extracto real, se ingresa automáticamente como el parámetro de funciones. $ old_Excerpt cuando se llama usando Añadir filtro(). La función que defines debe devolver el nuevo valor.
Resultado final:
Eliminando filtros usando remove_filter ()
Eliminar un filtro es mucho más simple que eliminar una acción porque puede llamar al remove_filter () función sin definir una nueva función. Para este ejemplo, agregaremos una vez más una situación condicional muy simple y eliminaremos el texto si el día actual es jueves.
Ahora que tiene una comprensión básica de los ganchos y filtros, creemos un complemento de WordPress simple que agregue un nuevo enlace y una nueva página al Panel de control de administración.
Paso 1: almacenamiento de su complemento
El primer paso para crear su complemento de WordPress es crear una carpeta para almacenar todos sus archivos. Los complementos se guardan en la siguiente carpeta: /wp-content / plugins /. La carpeta que crea necesita un nombre único y descriptivo para asegurarse de que no entre en conflicto con ningún otro complemento. Conéctese a su cuenta de hosting con un cliente FTP. Desde el directorio principal de WordPress, navegue hasta contenido de wp, luego a complementos. Dentro de carpeta de complementos, crea una nueva carpeta llamada mi-primer-complemento.
Para facilitarle las cosas significativamente en el futuro, es mejor separar los diversos archivos que componen su complemento de WordPress y darles sus propias subcarpetas, en lugar de tener todos los archivos de su complemento en la carpeta principal. Cuando un complemento crece y se vuelve complejo, es mucho más fácil encontrar un archivo específico cuando todo tiene su propio lugar. Si su complemento usa CSS personalizado, crea un CSS carpeta y guarde todos los archivos CSS allí. Si su complemento utiliza JavaScript personalizado, crea un JavaScript carpeta.
Paso 2: creación del primer archivo
El primer archivo de su complemento es importante. Contiene toda la información que WordPress necesita para mostrar su complemento en la lista de complementos, lo que le permite activar el complemento.
En tus mi-primer-complemento carpeta, cree un nuevo archivo PHP llamado mi-primer-complemento.php. Es una buena práctica darle a este primer archivo un nombre similar al que le dio a su carpeta, pero puede tener el nombre que desee. Agregue la etiqueta PHP de apertura a la primera línea. No es necesario que agregue una etiqueta de cierre al final del archivo (para comprender por qué, lea la nota en esta página del manual de PHP). Este archivo contendrá principalmente ‘comentarios de encabezado’ con varias piezas de información que serán leídas / mostradas por WordPress. Los comentarios del encabezado van en un comentario PHP de varias líneas, uno por línea y cada línea comienza con un texto específico para definir a qué se refiere la línea. Estos solo deben ir en este primer archivo y no necesitas ser en cualquier otro archivo.
El primer comentario al que debes agregar mi-primer-plugin.php es el nombre de su complemento. Comience escribiendo el abridor de comentarios de varias líneas de PHP / * en la segunda línea del archivo, justo debajo de la etiqueta PHP de apertura. En la tercera línea, escribe Nombre del complemento: Mi primer complemento. En la cuarta línea, cierre la sección de comentarios con * /. Su archivo ahora se verá así:
Guarde el archivo y cárguelo en el mi-primer-complemento carpeta. Vaya a la página Complementos del Panel de control de administración de WordPress. Ahora verá un complemento en la lista llamado Mi primer complemento con enlaces a Activar, Editar y Borrar el complemento. Hay algunas piezas diferentes de información que puede agregar en este punto, como una descripción del complemento, su propio nombre, un enlace a su sitio web, la versión actual de su complemento, etc. Por ahora, solo agregaremos una descripción y tu nombre.
Editar mi-primer-plugin.php para que se vea como el ejemplo a continuación, cárguelo y sobrescriba el archivo anterior cuando se le pregunte:
Una vez que esté cargado, actualice el área de administración de WordPress Complementos página y ahora debería ver su complemento con su nueva descripción y Por tu nombre.
Paso 3: escribir las funciones de su complemento
Como se mencionó anteriormente, la mejor práctica al desarrollar un complemento es separar cuidadosamente su código en archivos y carpetas apropiados. Dado que el trabajo principal del primer archivo es contener los encabezados de los comentarios, tiene sentido colocar el resto del código del complemento en archivos separados en su propia subcarpeta, utilizando las funciones ‘incluir’ de PHP para acceder a ellos. Todos los archivos almacenados en subcarpetas son llamados directamente por nuestro código y solo por nuestro código, por lo que los nombres de las subcarpetas no necesitan un prefijo. Sin embargo, se recomienda encarecidamente que asigne a todos sus archivos, funciones y variables un prefijo único en su nombre para evitar conflictos con otros complementos. En este caso, estamos usando mfp como prefijo, que es la abreviatura de ‘Mi primer complemento’.
En la carpeta principal de su complemento, cree una nueva carpeta llamada incluye. Cualquier archivo que esté «incluido» en otro archivo irá a esta carpeta. Cree un nuevo archivo PHP en el incluye carpeta y guárdelo como mfp-functions.php. Dale la apertura etiqueta en la primera línea. Este nuevo archivo es donde se almacenarán todas las funciones de su complemento.
Ahora vuelve a mi-primer-plugin.php en la carpeta principal de su complemento. Necesitamos que incluya el mfp-functions.php file para que podamos usar las nuevas funciones. Dado que este es el archivo de complemento principal, incluido mfp-functions.php aquí hace que las funciones estén disponibles para cualquier otro archivo en su complemento. Utilizar requerir una vez para garantizar que el complemento solo funcione si el archivo de funciones está disponible. La forma más fácil de incluir archivos de su carpeta de complementos es utilizando la función de WordPress plugin_dir_path (__ ARCHIVO__), que proporciona la ruta completa al directorio donde se almacena nuestro complemento, luego use un . (punto) para agregar el nombre de la subcarpeta que creamos anteriormente (incluye), seguido del nombre del archivo que creamos (mfp-functions.php).
Editar mi-primer-plugin.php como se muestra a continuación, guárdelo y cárguelo una vez más, sobrescribiendo la versión anterior cuando se le solicite.
Volver a mfp-functions.php en el incluye subcarpeta.
Es una gran idea agrupar funciones similares y escribir un comentario de varias líneas encima de cada grupo que describa el grupo, seguido de un comentario breve de una sola línea encima de cada función que lo describa brevemente. De esa manera, no tiene que leer todo el código para encontrar una función y averiguar qué hace. Nombraremos la función mfp_Add_My_Admin_Link (). La función agregará un nuevo enlace de nivel superior al menú de navegación del Panel de control del administrador.
En resumen, escribir una nueva función implica los siguientes pasos:
- Escribe un comentario que describa la función.
- Nombra la función
- Escribe la función
En mfp-functions.php, escribe lo siguiente:
Dentro de nuestra función, necesitamos usar la función incorporada de WordPress add_menu_page () para darle a nuestro menú un nombre, un título y dictar quién puede verlo. Luego le decimos qué mostrar cuando vaya a la página. También puede darle un icono al enlace del menú y establecer su posición en el menú de navegación del panel de control del administrador; ambos son opcionales, por lo que los dejaremos fuera para este tutorial. El icono de engranaje predeterminado se mostrará en el enlace a nuestra página. Nuestro enlace aparecerá en la parte inferior del menú de navegación del panel de control de administración. Toda esta información se ingresa como parámetros de add_menu_page ().
Los cuatro parámetros requeridos de add_menu_page () todos aparecen en su propia línea para mejorar la legibilidad, en este orden:
- El título de la página que ve después de hacer clic en el enlace (que se muestra en la pestaña de su navegador)
- Texto para mostrar como el enlace del menú (que se muestra en la lista de navegación del panel de control del administrador), este debe ser el nombre de su complemento
- Requisito de capacidad del usuario para ver el menú, en este ejemplo solo los usuarios con la capacidad ‘manage_options’ pueden acceder a la página (no se preocupe por esto por ahora)
- El archivo que se utilizará cuando se muestre la página real (crearemos esto a continuación), que se almacenará en el incluye subcarpeta y nombrado mfp-first-acp-page.php. La URL ingresada aquí se conoce como ‘slug’.
Antes de continuar, es importante tener en cuenta que existe una forma alternativa de utilizar esta función. El cuarto parámetro puede ser simplemente una cadena de texto que se muestra en la URL después de ‘wp-admin / admin.php? page = ‘. Si ingresa ‘my-plugin-page’, la URL se convierte en ‘wp-admin / admin.php? page = my-plugin-page’. El quinto parámetro debe ser el nombre de una función que genera algo. Podrías escribir una función que simplemente repita ‘Bienvenido a la página 1’, por ejemplo. Es significativamente más fácil crear un archivo PHP para contener su página.
Editar mfp-functions.php, retirar // Mi código va aquí, reemplázalo con add_menu_page () y darle los parámetros como se muestra a continuación:
Para que esta función se ejecute realmente, necesitamos usar la función de WordPress llamada add_action () con dos parámetros, como se describe en la sección ‘Agregar funciones a un gancho de acción’ de este tutorial. Es posible que desee volver a leer esa sección antes de continuar.
- El primer parámetro es el gancho de acción quieres apuntar. En nuestro caso, el gancho de acción es admin_menu – esto significa que nuestra función se ejecuta cuando se genera el menú de administración.
- El segundo parámetro es solo el nombre de la función que se ejecutará. La función que escribimos se llama mfp_Add_My_Admin_Link. Tenga en cuenta que los paréntesis NO se utilizan aquí. Recuerde que PHP evalúa todo el script antes de ejecutarlo, lo que le permite usar add_action () antes de definir la función nombrada en el parámetro 2.
Nuestro archivo final se ve así:
Subir mfp-functions.php al incluye carpeta y sobrescriba la anterior.
Paso 4: creación de la nueva página de administración
Ahora podemos crear la página que se mostrará cuando haga clic en el enlace de su panel de control de administrador. Vuelve al incluye subcarpeta y cree un nuevo archivo PHP llamado mfp-first-acp-page.php. Las etiquetas de apertura de PHP no son necesarias en este archivo ya que solo usamos HTML. Escriba el HTML a continuación y cargue el archivo.
Al crear páginas de administración, WordPress recomienda incluir su propio HTML con un div y darle la clase «wrap», como se muestra arriba. Esto asegura que todo su contenido aparezca en el lugar correcto, como cualquier otra página de administración. Si no lo envuelve así, la página puede volverse muy desordenada.
Vuelva a la lista de complementos en el Panel de control de administración de WordPress y active el complemento. Una vez que se cargue la página, mire en la parte inferior del menú de navegación del panel de control del administrador. Existe el enlace nuevo llamado ‘Mi primer complemento’. Haga clic en él y tendrá su propia página de panel de control de administración.

Conclusión
¡Felicitaciones, acaba de crear su primer complemento de WordPress, agregó un nuevo enlace al menú de administración y mostró una página completamente nueva en el Panel de control de administración! No hace mucho todavía, pero este es el primer paso después de todo. Desde aquí, puede aprovechar lo que ha aprendido y ampliar WordPress de la forma que desee. Para obtener más tutoriales, consulte nuestra sección de tutoriales de WordPress.
