Cuatro formas de ampliar la funcionalidad de WordPress: Guía para añadir funciones personalizadas

Descubra cómo añadir personalización a WordPress: guía práctica

Como desarrollador back-end de WordPress con muchos años de experiencia, he probado varias formas de personalizar WordPress para satisfacer mis necesidades específicas y las de otros. Una de las formas más comunes es crear tu propio plugin de funciones personalizadas de WordPress. Pero como verás en este artículo, esta no es la única opción, ni es siempre la mejor.

Image[1]-Cuatro formas de ampliar la funcionalidad de WordPress: Guía para añadir funciones personalizadas - Photon Fluctuation Network | Servicio profesional de reparación de WordPress, alcance global, respuesta rápida

Aunque esta guía está dirigida principalmente a los desarrolladores, los jefes de proyecto también pueden aprender cómo estas estrategias satisfacen las necesidades de sus equipos, y cuándo y cómo utilizarlas con eficacia.

Aquí tienes algunas formas de personalizar WordPress:

  1. Añade el código al archivo functions.php de tu tema.
  2. Cree un plugin de WordPress dedicado a las funciones personalizadas.
  3. Utilice plugins para gestionar y aplicar fragmentos personalizados.
  4. Personalícelo con los complementos esenciales.

Analicemos ahora cada método en detalle

Añade el código a Functions.php

En los "primeros" tiempos de WordPress, cuando la mayoría de los sitios estaban escritos en PHP, la forma más rápida de cambiar la funcionalidad de un sitio era añadir código al archivo functions.php del tema.

Todavía puedes hacerlo ahora y, si estás dispuesto a correr el riesgo, puedes editarlo directamente en el editor de archivos de temas de tu panel de control de WordPress.

Imagen [2] - Cuatro formas de ampliar la funcionalidad de WordPress: Guía para añadir funciones personalizadas - Photon Fluctuation Network | Servicio profesional de reparación de WordPress, alcance global, respuesta rápida

Con el tiempo, he pasado de sentirme más cómodo utilizando el archivo functions.php de WordPress para personalizar el sitio a sentirme menos inclinado a utilizarlo.

El principal problema es que el archivo functions.php se adjunta al tema. Esto significa que si no estás usando un tema que ha sido personalizado específicamente para ti y el tema sufre una actualización, toda la personalización que hayas hecho se perderá.

Una solución es crear un tema hijo para poder mantener los cambios relacionados con el tema padre sin afectar al propio tema.

Ahora, trato de evitar añadir demasiado código personalizado al archivo functions.php, principalmente porque gran parte del código es más adecuado para los plugins, que a menudo se utilizan para añadir nuevas funcionalidades a un sitio en lugar de simplemente cambiar el estilo del tema.

Hay otros dos casos en los que yo consideraría escribir código personalizado en el archivo functions.php:

  1. Este código es específicamente para mis propios temas o subtemas personalizados.
  2. Necesitaba probar algunos cambios rápidamente, ya que el acceso al archivo functions.php suele ser bastante sencillo.

Tenga en cuenta, sin embargo, que no debe amontonar demasiados cambios en el archivo functions.php o el archivo se volverá muy complicado. Especialmente si hay varios archivos PHP y otros tipos de archivos que necesitan ser utilizados, yo optaría por crear un plugin especial de WordPress Custom Functions para gestionar estos cambios.
Escribir complementos de funciones personalizados

Como he mencionado antes, la mayor parte del código que añado al sitio se utiliza para construir o mejorar la funcionalidad que no está relacionada con el tema.

Siempre que decido añadir más contenido personalizado a un sitio web, empiezo creando un plugin de características personalizadas. Suelo nombrar el plugin con el nombre del sitio, por ejemplo, para WP Mayor crearía un plugin llamado "WP Mayor Custom Features".

El nombre es muy importante. En primer lugar, permite que otros administradores del sitio sepan de un vistazo que el plugin fue diseñado específicamente para este sitio y se utiliza principalmente para colocar cambios específicos para ese sitio.

En segundo lugar, mantener el nombre de las carpetas y archivos del plugin único evitará que su plugin sea sustituido accidentalmente por otros plugins con el mismo nombre en el repositorio de plugins de WordPress.org.

Crear un plugin de funciones personalizadas de WordPress es bastante sencillo. Sólo tiene que empezar en el directorio wp-content/plugins. Sin embargo, debe crear una nueva carpeta en primer lugar, por lo general se necesita más de un archivo para organizar el código y puede que tenga que añadir archivos JavaScript y CSS también.

Tomando nuestro ejemplo, ahora tenemos una nueva carpeta plugin wp-content/plugins/wp-mayor-custom-functions y un archivo plugin principal wp-mayor-custom-functions.php.

Ahora tenemos que añadir una cabecera al archivo para que WordPress pueda reconocerlo como un plugin. Aunque basta con rellenar el "Nombre del plugin" para que funcione básicamente, veamos un ejemplo más detallado:

/**

* Nombre del Plugin: WP Mayor Custom Function

* URI del plugin: https://wpmayor.com

* Descripción: Todas las funciones geniales que hemos construido a medida para nosotros.

* Versión: 1.0.0

* Requiere al menos: 6.2

* Requiere PHP: 8.1

* Autor: Thomas Maier

*/

Una vez hecho esto, nuestro plugin debería aparecer en la página "Plugins" del panel de control de WordPress.

Imagen [3] - Cuatro formas de ampliar la funcionalidad de WordPress: Guía para añadir funciones personalizadas - Photon Fluctuation Network | Servicio profesional de reparación de WordPress, en todo el mundo, respuesta rápida

Ahora podemos empezar a añadir código PHP real al archivo.

Consejo: Si no puedo acceder al sitio por FTP, o simplemente quiero ahorrarme la molestia, utilizaré un plugin llamado Pluginception para empezar rápidamente. Luego puedo añadir más código en el editor de plugins del panel de WordPress.

Probablemente te preguntes si todo el código específico del sitio debe estar en un plugin de funciones personalizadas.

Realmente depende de la situación. Si sé que ciertos códigos personalizados se utilizarán en varios proyectos, los pongo en diferentes plugins. Sin embargo, el código que está diseñado específicamente para un sitio en particular, lo pongo en el mismo plugin. De esta forma, puedo reducir el número de plugins que necesito mantener.

Suena bastante sencillo, ¿verdad? Bueno, después de haber gestionado una de las empresas de plugins más grandes y de haber realizado cientos de ajustes en varios sitios durante los últimos años, he descubierto que estos plugins personalizados suelen ser más adecuados para los desarrolladores. Por lo tanto, vamos a explorar otro enfoque en la siguiente sección.

Utilice el complemento de fragmentos de código para gestionar

Tengo la costumbre de consolidar todo mi código genérico en un plugin de funciones personalizadas. De esta manera, cualquier cambio en el plugin, como redirigir una página de carrito en blanco a una página de precios, añadir información promocional o especiales de Black Friday, está claramente documentado y almacenado en sus propios archivos de fácil comprensión con sus propios nombres.

Este enfoque está "bien documentado" y es "fácil de leer" para quienes tienen acceso directo al código.

Pero me he dado cuenta de que, aunque siempre estoy haciendo cambios o respondiendo a preguntas sobre ellos, no es la forma más eficiente o sostenible de gestionar un gran número de funciones personalizadas.

Como cada vez más gente empieza a gestionar tiendas y sitios web, quiero que puedan entender fácilmente los cambios en lugar de depender de una página de la base de conocimientos dedicada a las actualizaciones.

La solución es utilizar un plugin de funciones personalizadas para gestionar los fragmentos de código en el panel de control de WordPress.

Mi preferencia personal es utilizar el plugin gratuito Code Snippets, pero por supuesto hay otras opciones.

Después de instalar este plugin, habrá un elemento de menú adicional en el panel de control dedicado a listar todos los fragmentos de código.

Los cambios son ahora visibles para cualquiera con privilegios administrativos. He dado a cada fragmento de código un nombre descriptivo, lo he detallado con un área de comentarios y he etiquetado los distintos cambios.

Imagen [4] - Cuatro formas de ampliar la funcionalidad de WordPress: Guía para añadir funciones personalizadas - Photon Fluctuation Network | Servicio profesional de reparación de WordPress, alcance global, respuesta rápida

Normalmente utilizo el nombre del plugin o tema en cuestión, y la parte del sitio a la que se refiere como etiquetas, como "WooCommerce" y "checkout page".

Imagen [5] - Cuatro formas de ampliar la funcionalidad de WordPress: Guía para añadir funciones personalizadas - Photon Fluctuation Network | Servicio profesional de reparación de WordPress, alcance global, respuesta rápida

Si eliges nombres fáciles de entender y una estructura bien organizada, entonces cualquiera debería ser capaz de encontrar y entender los ajustes, yo mismo. Incluso utilizo este método en mi sitio web personal porque lo hace todo mucho más fácil.

El uso del plugin Funciones personalizadas es especialmente práctico para fragmentos de código que sólo necesita de forma temporal, como algunos scripts de limpieza que se ejecutan ocasionalmente o algunas acciones que afectan al front-end (como el lanzamiento de una campaña promocional).

¿Es seguro?

Normalmente, WordPress permite a cualquier usuario con privilegios de "administrador" editar archivos de plugins y temas en el backend. Lo mismo ocurre con los plugins con código personalizado. Así que la vieja medida de seguridad de conceder sólo los permisos necesarios a cada usuario sigue siendo importante.

Para los desarrolladores, el uso de plugins para gestionar el código significa que algunos ganchos tempranos pueden no estar disponibles cuando se carga la página porque el plugin necesita cargarse primero. Si necesitas cargar tu código personalizado antes que el resto de plugins, puede que te interese la opción denominada MU Plugins.
Personalizar las funciones de WordPress con plugins esenciales

Los llamados plugins "imprescindibles" son un tipo especial de plugins.

Se ejecutan antes que el resto de plugins normales, por lo que a menudo los utilizo para controlar si ciertos plugins están activados o desactivados en una página en particular, como para acelerar ciertas funciones o mejorar la eficiencia de las llamadas a admin-ajax.php.

Una característica importante de los plugins "imprescindibles" es que se activan automáticamente y no pueden desactivarse ni modificarse a través del panel de control de WordPress. Esto los convierte en una opción ideal para almacenar código central que ni siquiera los administradores pueden cambiar.
Creación de los plug-ins necesarios

El plugin "Obligatorio" se coloca en el directorio wp-content/mu-plugins carpeta. Las nuevas instalaciones de WordPress no tienen esta carpeta por defecto, pero a veces algunos plugins o servicios alojados añaden automáticamente el contenido aquí.

ir mu-plugins Para añadir un nuevo plugin a tu carpeta, necesitas crear un archivo PHP en tu ordenador con la información de cabecera del plugin personalizado, como te mostré antes. Esta vez, no necesitas preocuparte por la unicidad del nombre, ya que los plugins "imprescindibles" no se actualizan automáticamente.

Una vez que esté satisfecho con su nuevo plugin de funciones personalizadas, puede cargarlo manualmente a través de FTP a la carpeta wp-content/mu-plugins Carpeta. Si esta carpeta aún no existe, cree una nueva.

Aunque no puedes cambiar los plugins "requeridos" a través del panel de administración de WordPress, puedes verlos en la sección "Plugins > Plugins requeridos".

Imagen [6] - Cuatro formas de ampliar la funcionalidad de WordPress: Guía para añadir funciones personalizadas - Photon Fluctuation Network | Servicio profesional de reparación de WordPress, en todo el mundo, respuesta rápida

Antes me gustaba personalizar mi sitio de WordPress de una manera especial, pero ahora no me gusta tanto. El problema es que todos los cambios están en un archivo llamado functions.php que pertenece al tema del sitio. Si el tema no está hecho por mí y se actualiza, entonces todos los retoques que hice desaparecen.

La solución fue crear un "tema hijo" para poder conservar todos los cambios asociados al tema original.

Ya no añado mucho código personalizado al archivo functions.php, ya que he descubierto que, en su mayor parte, estos cambios deberían realizarse a través de plugins, que añaden nuevas funcionalidades al sitio, en lugar de limitarse a cambiar el aspecto.

Hay dos casos en los que también escribo código personalizado en el archivo functions.php:

  1. Cuando el código es específicamente para mi tema personalizado o tema hijo.
  2. Cuando quería probar rápidamente algunos cambios porque era fácil acceder y modificar el archivo functions.php.

Pero recuerde que no debe amontonar muchos cambios en este archivo. Si el archivo es demasiado complejo, será difícil de gestionar. Especialmente si hay una gran cantidad de archivos PHP y otros tipos de archivos que necesitan ser utilizados, yo optaría por crear un plugin de WordPress especial para gestionar estas personalizaciones.

Escribir complementos de funciones personalizados

Suelo añadir mucho código a mi sitio de WordPress que se utiliza para añadir alguna funcionalidad especial en lugar de simplemente cambiar el aspecto del sitio.

Cuando necesito añadir alguna funcionalidad personalizada específica a mi sitio web, creo algo llamado plugin de funcionalidad personalizada. Por ejemplo, si mi sitio se llama 'WP Mayor', entonces crearía un plugin llamado 'WP Mayor Custom Features'.

Es importante dar al plugin un buen nombre porque así otras personas que gestionan el sitio sabrán de un vistazo que el plugin está directamente relacionado con este sitio y que el plugin sólo puede contener cambios para este sitio.

Además, asegúrese de que el nombre del plugin es único para que no se confunda con otros plugins del repositorio oficial de plugins de WordPress y evite que su plugin se sobrescriba por error.

Crear un plugin de este tipo es fácil, sólo tienes que crear una nueva carpeta en el directorio wp-content/plugins, ya que probablemente necesitarás añadir un montón de archivos, incluyendo algunos archivos de código como JavaScript y CSS.

Usando 'WP Mayor' como ejemplo, crearemos una carpeta llamada 'wp-mayor-custom-functions' en el directorio wp-content/plugins, y dentro de ella Crear un archivo plugin principal llamado 'wp-mayor-custom-functions.php'.

Necesitamos escribir algo de código en este archivo principal para decirle a WordPress que se trata de un plugin. Aunque es posible poner en marcha el plugin simplemente rellenando el nombre del plugin, te mostraré una cabecera de ejemplo que contiene más información.

/**

* Nombre del Plugin: WP Mayor Custom Function

* URI del plugin: https://wpmayor.com

* Descripción: Todas las funciones geniales que hemos construido a medida para nosotros.

* Versión: 1.0.0

* Requiere al menos: 6.2

* Requiere PHP: 8.1

* Autor: Thomas Maier

*/

Una vez hayas completado los pasos anteriores, el plugin que has creado debería aparecer en la sección "Plugins" de tu panel de control de WordPress. Así podrás verlo y gestionarlo allí.

Imagen [7] - Cuatro formas de ampliar la funcionalidad de WordPress: Guía para añadir funciones personalizadas - Photon Fluctuation Network | Servicio profesional de reparación de WordPress, cobertura mundial, respuesta rápida

Ahora podemos empezar a añadir código PHP real a nuestros archivos.

Un pequeño consejo: Si no puedo acceder al sitio con FTP, o si simplemente me siento perezoso, utilizaré un plugin llamado Pluginception para empezar rápidamente. Luego puedo añadir más código directamente en el editor de plugins del panel de control de WordPress.

Te preguntarás, ¿debería poner todo mi código personalizado en un plugin? Eso realmente depende. Si sé que parte del código se utilizará en muchos proyectos diferentes, lo pondré en distintos plugins. Sin embargo, el código que está dedicado a un sitio específico, lo pongo en el mismo plugin. Así no tengo que gestionar muchas bases de código diferentes.

Suena bien, ¿verdad? Sin embargo, desde mi experiencia gestionando una gran empresa de plugins y realizando muchos ajustes en sitios web, he descubierto que estos plugins personalizados suelen estar demasiado centrados en el desarrollador. Vamos a explorar un enfoque diferente en la siguiente sección.

Utilice el complemento de fragmentos de código para gestionar

Guardo todo el código genérico en un plugin específico para tenerlo todo organizado. También me aseguro de que todos los cambios y ajustes, como promociones especiales o actualizaciones importantes, estén claramente documentados y organizados en archivos fáciles de entender.

Aunque el código me resultó fácil de entender, me di cuenta de que quizá no fuera la forma más eficaz de hacerlo, sobre todo porque cada vez más gente necesita gestionar sitios web.

Para facilitar a todos la comprensión y la gestión de estas personalizaciones, decidí utilizar un plugin de WordPress que nos permite gestionar todos los fragmentos de código directamente desde el panel de control de WordPress.

A mí me gusta especialmente utilizar un plugin gratuito llamado "Code Snippets". Añade una nueva sección al panel de control donde se enumeran todos los fragmentos de código. Ahora cualquiera con derechos de administrador puede ver y editar el código fácilmente. También he dado a cada fragmento de código un nombre descriptivo y he utilizado comentarios para detallar lo que hacen, así como etiquetas para los diferentes cambios para que sea más fácil de organizar.

Imagen [8] - Cuatro formas de ampliar la funcionalidad de WordPress: Guía para añadir funciones personalizadas - Photon Fluctuation Network | Servicio profesional de reparación de WordPress, en todo el mundo, respuesta rápida

Mis etiquetas suelen ser el nombre del plugin o tema que estoy retocando y la sección de la página a la que se refiere, como "WooCommerce" y "Checkout".

Imagen [9] - Cuatro formas de ampliar la funcionalidad de WordPress: Guía para añadir funciones personalizadas - Photon Volatility Network | Servicio profesional de reparación de WordPress, alcance global, respuesta rápida

Si das al código y a los archivos nombres fáciles de entender y los organizas bien, entonces cualquiera, incluido yo mismo, puede encontrar y entender fácilmente los ajustes. Incluso utilizo este método en mi sitio web personal porque me facilita las cosas.

El uso de un plugin de función personalizada es ideal para fragmentos de código que sólo necesitas utilizar temporalmente, como alguna limpieza que tengas que ejecutar ocasionalmente, o alguna funcionalidad front-end que sólo necesites en un momento concreto, como abrir una promoción.

¿Y es seguro este método?

Normalmente, WordPress permite a cualquier persona con privilegios de administrador editar el código de los plugins y temas de un sitio. Lo mismo ocurre con el uso de plugins de código personalizado. Así que, la vieja regla: asigna a cada persona sólo los permisos que necesite para que puedas mantener tu sitio seguro.

Un punto importante para los desarrolladores es que cuando gestionas el código a través de plugins, puede que algún código necesite ser cargado antes que el resto de plugins. Si tu código requiere esto, deberías considerar usar un tipo de plugin especial llamado "MU Plugins" para que tu código pueda ser cargado antes que otros plugins.

Personalizar las funciones de WordPress con plugins esenciales

Los plugins esenciales son plugins especiales que se ejecutan antes que el resto de plugins normales en WordPress. Yo los utilizo para controlar si determinados plugins están activados o desactivados en una página concreta. Este tipo de código también puede ayudar a acelerar funciones específicas, como fingir llamadas a la API u optimizar la capacidad de respuesta en el backend.

Una característica importante es que estos plugins esenciales se activan automáticamente y no pueden desactivarse ni modificarse en el panel de control de WordPress. Esto los hace perfectos para alojar código central que ni siquiera debería ser modificado por los administradores.

Creación de los plug-ins necesarios

Essential Plugins" se almacena en el directorio wp-content/mu-plugins de la carpeta de WordPress. Normalmente, las nuevas instalaciones de WordPress no tienen esta carpeta, pero a veces los plugins o los servicios de alojamiento web pueden añadirle algo automáticamente.

Si quieres añadir nuevos plugins a esta carpeta mu-plugins, necesitas crear primero un archivo PHP en tu ordenador, como el plugin personalizado que mostré antes. Sin embargo, dar a este archivo un nombre único no es necesario aquí, ya que estos plugins esenciales no se actualizarán automáticamente como otros plugins.

Cuando estés satisfecho con tu nuevo plugin, tendrás que subirlo manualmente por FTP a la carpeta wp-content/mu-plugins. Si esta carpeta no existe, tendrás que crear una nueva.

Aunque no puede modificar estos plugins esenciales a través de la interfaz de administración de WordPress, puede encontrarlos en la sección "Enforce Usage" del menú "Plugins".

Idealmente, los plugins esenciales deberían estar en un único archivo. Aunque puede hacer referencia a otros archivos dentro de un archivo PHP principal, WordPress no puede encontrar esos archivos almacenados en subcarpetas. Si tu plugin esencial se complica, deberías considerar poner el código principal en un plugin común y luego sólo usar el plugin esencial para cargar y ejecutar todo el código que debe ejecutarse antes que todos los demás plugins.
resúmenes

Hemos visto varias formas de añadir código personalizado a WordPress: desde añadir código al archivo functions.php de tu tema, pasando por la creación de plugins independientes y plugins de funciones personalizadas, hasta el uso de plugins esenciales (mu-plugins). Cada método tiene sus propias ventajas y posibles inconvenientes para diferentes situaciones. Depende del tipo de cambios que quieras hacer y de quién necesite utilizarlos.


Contacte con nosotros
¿No puede leer el tutorial? Póngase en contacto con nosotros para obtener una respuesta gratuita. Ayuda gratuita para sitios personales y de pequeñas empresas
Servicio de atención al cliente WeChat
Servicio de atención al cliente WeChat
Tel: 020-2206-9892
QQ咨询:1025174874
(iii) Correo electrónico: info@361sale.com
Horario de trabajo: de lunes a viernes, de 9:30 a 18:30, días festivos libres
© Declaración de reproducción
Este artículo fue escrito por Harry
EL FIN
Si le gusta, apóyela.
felicitaciones0 compartir (alegrías, beneficios, privilegios, etc.) con los demás
comentarios compra de sofás

Por favor, inicie sesión para enviar un comentario

    Sin comentarios