• Saltar a la navegación principal
  • Saltar al contenido principal
  • Saltar a la barra lateral principal

Dani Sánchez Dev

  • Servicios WordPress
    • Mantenimiento
    • Maquetación & Desarrollo
    • Soporte técnico
  • Portfolio
  • Blog
  • Contacto
Estás en: Inicio / Publicaciones / WordPress: Crear nuestro propio plugin de funciones

WordPress: Crear nuestro propio plugin de funciones

El 3 de septiembre de 2018 por dani.sanchez

Cuando queremos agregar funciones personalizadas a nuestro proyecto de WordPress, ya sea creadas por nosotros o que hayamos visto en otros sitios web, tenemos que incorporarlas normalmente al archivo functions.php de nuestro tema activo.

El problema es, que si estamos usando un tema de terceros y este se actualiza, también será actualizado el archivo functions.php y perderemos todas las funciones que hayamos añadido manualmente.

Para evitar esto también tenemos la opción de usar un tema hijo o child-theme.

Aunque también podremos crear nuestro propio plugin de funciones y activarlo en la sección de Plugins como si de un plugin de terceros se tratara. De hecho es lo que se recomienda para agregar funciones que no tienen que ver con la plantilla instalada. Así si algún día decides cambiar la plantilla, tus funciones y configuraciones se mantendrán en tu plugin a parte.

Básicamente consiste en crear un archivo dentro del directorio de plugins de nuestro proyecto, que va a actuar como un archivo de funciones independiente del tema de WordPress, pero que todas las funciones que incorporemos a él funcionarán de igual modo.

Para hacerlo, solamente tenemos que irnos al directorio de plugins de WordPress y crear un nuevo directorio al que llamaremos por ejemplo «mi-plugin».

Ahora dentro del nuevo directorio creamos un archivo .php llamado por ejemplo «mi-plugin.php»:

Lo editamos con nuestro editor de código favorito y vamos añadir algunas líneas comentadas que serán usadas por WordPress para reconocer detalles del nuevo plugin:

 /*
 * Plugin Name:       Nombre de tu plugin
 * Plugin URI:        https://dominio.com
 * Description:       Descripción de tu plugin
 * Version:           1.0
 * Requires at least: 5.2
 * Requires PHP:      8.2
 * Author:            Nombre autor
 * Author URI:        https://author.example.com/
 * License:           GPL v2 or later
 * License URI:       https://www.gnu.org/licenses/gpl-2.0.html
 * Update URI:        https://example.com/my-plugin/
 * Text Domain:       nombre-de-tu-plugin
 * Domain Path:       /languages
 * Requires Plugins:  my-plugin, yet-another-plugin
 */

Creo que no hace falta explicar las líneas pues son muy intuitivas. En el momento que guardemos los cambios, si nos dirigimos a la sección de plugins de WordPress, veremos que este ha sido detectado y reconocido por las líneas anteriores que hemos especificado:

Ahora solo tenemos que activarlo y mantenerlo activo para que todo lo que incorporemos a él funcione.

Ya no tenemos que preocuparnos de que nuestro tema se actualice y perdamos cualquier función que hayamos especificado en el functions.php, porque estarán a salvo en nuestro propio plugin de funciones.

Espero que os haya resultado de interés y nos vemos en el siguiente post! 🙂

Publicado en: Publicaciones, Tutoriales, WordPress Etiquetado como: desarrollo web, php, plugins, programación web, publicaciones, tutoriales, wordpress

¿Quiéres invitarme a un café?

Si te has fijado en este blog no hay ni rastro de publicidad, todo el contenido publicado lo hago de forma artruista al igual que yo recurro a otros sitios cuando necesito algo. Pero si te he servido de ayuda y quieres agradecérmelo, puedes hacer una pequeña donación (el importe que quieras):

Entradas similares

  • Cómo optimizo imágenes sin usar editores de imágenes
  • Firefox, el último reducto de la web libre y los estándares de Internet
  • .htaccess por defecto para WordPress
  • Aplicar noindex, nofollow y noarchive a todo WordPress excepto a la página de inicio
  • Cómo aplicar un CSS personalizado en Elementor sin que afecte al modo edición

Interacciones con los lectores

Comentarios

  1. Masquesuelas dice

    14 de febrero de 2020 a las 02:36

    De nuevo muchas gracias. Muy claro todo y fácil de seguir

  2. Laura dice

    11 de abril de 2020 a las 13:53

    ¡Genial!
    Llevaba tiempo pensando en meter todas las funciones nuevas en algún sitio porque se me estaba «yendo de madre» el asunto… y con tu post lo encontré (ahora voy a ver cómo meter los estilos aparte también, jejeje).
    ¡Mil gracias!

  3. Marcelo dice

    28 de abril de 2021 a las 04:00

    Muy interesante, muchas gracias.

    ¿Servirá para agregar funciones en una red multisitio?

    Me explico:
    No quería agregar cosas en el functions.php del child theme porque lo estoy usando en más de un sitio de la red, si uso este plugin ¿podría agregar funciones diferentes a diferentes sitios de la red?

    • dani dice

      28 de abril de 2021 a las 08:39

      No tengo mucha experiencia en multisitio, pero creo que un plugin va a afectar a todas las web de la red, pues los plugins se activan para todos.

      Creo que lo mejor sería crear un child-theme por cada sitio de la red (los childs se pueden activar cada uno en su sitio) y que cada web tenga su propio function.php.

      Un saludo.

Barra lateral principal

Dani Sánchez

logo mastodon @danisanchez

Entradas recientes

  • Por qué sigo usando Sublime Text en 2025
  • Cómo optimizo imágenes sin usar editores de imágenes
  • Firefox, el último reducto de la web libre y los estándares de Internet
  • .htaccess por defecto para WordPress
  • Aplicar noindex, nofollow y noarchive a todo WordPress excepto a la página de inicio

Comentarios recientes

  1. Sandra en Filtro de WooCommerce para personalizar el mensaje de «Gracias por tu pedido»
  2. Brandon Portes en Taller de verano de WooCommerce #1
  3. Sebastian en Instalar WordPress + MySQL + phpMyAdmin desde Docker Compose
  4. Rigol en Instalar LAMP (Linux, Apache, MySQL y PHP) en Fedora
  5. dani.sanchez en Instalar WordPress + MySQL + phpMyAdmin desde Docker Compose

Categorías

  • Actualidad
  • Cursos
  • Destacado
  • Divi
  • Drupal
  • Elementor
  • Genesis
  • Iniciación a PHP
  • Linux
  • Opinión
  • Publicaciones
  • Tutoriales
  • WooCommerce
  • WordPress
Medium banner says Support Inkscape
+ +

Maquetación web, landings, blogs y tiendas online
cuidando hasta el mínimo detalle

Si necesitas que desarrolle tu proyecto web ponte en contacto conmigo.

Contacto
  • Mastodon
  • YouTube
  • LinkedIn

Alojado con energía 100% verde

Dani Sánchez © 2025 · Política de privacidad · Política de cookies