Crea un plugin para liberar el fichero functions.php

Si no te quedó claro si es mejor usar un plugin o el fichero functions.php ¿que te parecería crear tu propio plugin para incorporar tus funciones favoritas?.

Es lo que hice hace tiempo y tengo que decir que estoy encantado. Simplemente monté un pequeño plugin a mi medida en el que incorporé las funciones que uso más a menudo y así cuando monto un sitio nuevo solo tengo que instalarlo, personalizar alguna URL absoluta – que la tiene – y activarlo para que todo funcione.

La ventaja, si te lo preguntas, sobre usar el fichero functions.php de tu tema es principalmente que puedes actualizar tu tema sin temor a perder tus personalizaciones, pues tus funciones están en tu plugin, no en el tema.

Hacerlo es muy sencillo …

Crear fichero del plugin

Lo primero es hacer el plugin. Para eso creas un archivo PHP nuevo con tu editor de código favorito y le añades la cabecera estándar para que WordPress lo reconozca como plugin, algo así:

<?php
/*
Plugin Name: Funciones
Plugin URI: https://ayudawp.com/
Description: Plugin para liberar de funciones el fichero <code>functions.php</code> y activarlo a placer (o no) .
Version: 1.0
Author: Fernando Tellado
Author URI: https://tellado.es
License: GPLv2 o posterior
*/

Añadir funciones

A partir de ahí simplemente vas añadiendo tus funciones y cuando estés contento guardas los cambios. Este sería un ejemplo con un par de funciones típicas que ya he publicado anteriormente:

<?php
/*
Plugin Name: Funciones
Plugin URI: https://ayudawp.com/
Description: Plugin para liberar de funciones el fichero <code>functions.php</code> y activarlo a placer (o no) .
Version: 1.0
Author: Fernando Tellado
Author URI: http://tellado.es
License: GPLv2 o posterior
*/

// Logo personalizado en login

add_action("login_head", "my_login_head");
function my_login_head() {
echo "
<style>
body.login #login h1 a {
background: url('".get_bloginfo('template_url')."/images/awloginlogo.png') no-repeat scroll center top transparent;
height: 135px;
width: 135px;
}
</style>
";
}

// personalizar url logo acceso
add_action( 'login_headerurl', 'my_custom_login_url' );
function my_custom_login_url() {
return 'https://ayudawp.com';
}

//Cambiar texto alt del logo de login
add_action("login_headertitle","my_custom_login_title");
function my_custom_login_title()
{
return 'Otro sitio creado por Fernando Tellado';
}

Instalar y activar el plugin

Luego lo subes a la carpeta ‘/plugins/‘ de tu instalación de WordPress y ya podrás activarlo como cualquier otro plugin, solo que este hace funciones específicas para ti.


Duda Nº1: ¿Tengo que seguir usando el fichero functions.php para algo o ya no?.

Respuesta Nº1: Seguro que si. Lo que tienes que tener en cuenta es lo siguiente:

  • Si la función afecta o está relacionada con el tema (o temas) entonces irá mejor en el fichero functions.php
  • Si la función está relacionada con funcionalidades generales de WordPress entonces irá mejor en tu plugin de funciones
  • Hacerlo así (plugin por un lado y ‘functions.php’ por otro) es un modo mucho más lógico y ordenado de hacer las cosas

Nota: Por supuesto, una vez actives el plugin ya puedes eliminar (de hecho debes hacerlo) las funciones que incorpore del archivo ‘functions.php’ de tu tema y ya estén en el plugin.

VALORA Y COMPARTE ESTE ARTÍCULO PARA MEJORAR LA CALIDAD DEL BLOG…
(39 votos, promedio: 4.7)

¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!

AVISO: Esta publicación es de hace 3 años o más. Si es un código o un plugin podría no funcionar en las últimas versiones de WordPress, y si es una noticia podría estar ya obsoleta. Luego no digas que no te hemos avisado.

136 comentarios en “Crea un plugin para liberar el fichero functions.php”

  1. Pingback: Mostrar imágenes destacadas en el feed | Ayuda WordPress

  2. Pingback: Cambiar enlaces de tu RSS a Feedburner | Ayuda WordPress

  3. Para mí es fijo también eliminar Yahoo, IM, AIM y Jabber. Todavía no sé como WordPress lo sigue manteniendo.

    Y utilizo el archivo functions.php en mu-plugins para que no haga falta activarlo y tampoco se desactive por error.

  4. Pingback: Más iconos de formato al editor visual de WordPress | Ayuda WordPress

  5. Pingback: Mostrar miniaturas de vídeos YouTube en WordPress | Ayuda WordPress

  6. Pingback: Cambia el texto “Read more” con una simple función | Ayuda WordPress

  7. Pingback: Eliminar los apuntes de novedades de WordPress | Ayuda WordPress

  8. Pingback: Excluir categorías del RSS feed de WordPress | Ayuda WordPress

  9. Pingback: Mostrar publicidad solo en entradas antiguas de WordPress | Ayuda WordPress

  10. Pingback: Avisos personalizados en WordPress | Ayuda WordPress

  11. Pingback: Mensajes de error personalizados en WordPress | Ayuda WordPress

  12. Pingback: Limitar búsquedas solo a los títulos en WordPress | Ayuda WordPress

  13. Pingback: Excluir artículos del feed de WordPress | Ayuda WordPress

  14. Pingback: Numeración autoincremental en los títulos de las entradas | Ayuda WordPress

  15. Pingback: Evita que WordPress comprima los JPG | Ayuda WordPress

  16. Pingback: Añade cualquier cosa al final de las entradas | Ayuda WordPress

  17. Pingback: Mostrar RSS feed en una entrada de WordPress | Ayuda WordPress

  18. Pingback: Tu propio widget de noticias en el escritorio en WordPress | Ayuda WordPress

  19. Potysoft Potysoft

    Muy interesante, es una buena forma de dejar el functions limpio, e incluso se podría hacer una administración que te permitiría activar o no las distintas funciones.

  20. Pingback: Desactivar la comprobación de actualizaciones de plugins | Ayuda WordPress

  21. Pingback: Redirección para accesos fallidos en WordPress | Ayuda WordPress

  22. Pingback: Añadir target=”_blank” a todos los enlaces | Ayuda WordPress

  23. Hola, recién estoy empezando a aprender wordpress y me ha quedado un duda, por que al final del archivo, no se cierra " <?php " 

        < ? p h p

    add_action ( ' admin_footer ' , ' posts_status_color ' ) ;

  24. Pingback: Mensajes aleatorios de aviso en el editor de WordPress | Ayuda WordPress

  25. Pingback: Comentarios anidados por defecto en WordPress | Ayuda WordPress

  26. Pingback: Añadir una columna para ver el ID de una entrada WordPress | Ayuda WordPress

  27. Pingback: Contador de caracteres en el extracto | Ayuda WordPress

  28. Pingback: Copyright oculto para los que te copian | Ayuda WordPress

  29. Eric | Negocios en I

    Uff vaya informacion que compartiste en este post, ya cree mi plugin y funciona al 100% me diste mas de lo que buscaba en este sitio Fernando. Muchas gracias y te seguire leyendo 😉

  30. Gracias de nuevo Fer por tu explicación, voy a bajar tu plugin y quiero crearme uno mío, si funciona después lo comparto para el que quiera usarlo. Está tan fácil y clara tu explicación que me parece facilísimo crear plugins, yo creía que era muy difícil, saludos

  31. Pingback: Cambiar comillas tipográficas por comillas normales en WordPress | Ayuda WordPress

  32. Pingback: Mejora en la página de búsquedas del blog | La Bitácora del Tigre

  33. Pingback: Marcas de agua automáticas en WordPress | Ayuda WordPress

  34. Alejandro Navarrete

    Estimados,
    Copie el codigo en un nuevo archivo PHP y lo descargue y de las dos formas me arrojo error al activarlo.
    Error:
    El plugin ha provocado una salida inesperada de 3
    caracteres durante la activación. Si ves mensajes de “cabeceras ya
    enviadas”, problemas con los feeds de sindicación u otros problemas,
    trata desactivar y eliminar el plugin.
    Quien me podria ayudar…cualquier ayuda serviria bastante

    1. Kaled Kelevra

      Si te muestra ese error, prueba a cerrar la sentencia php al final del documento con «?>» (sin las comillas).

  35. Pingback: Crea tu plugin de funciones desde el escritorio de WordPress | Ayuda WordPress

  36. Pingback: Como permitir a los usuarios editar sus comentarios en WordPress | Blog de Alessandro Degiusti

  37. Pingback: Prueba de presentación con shortcodes | Blog de aula para la exportación

  38. Pingback: Ejecutar PHP en widgets de texto | Ayuda WordPress

  39. Pingback: Autoenlazar URLs | Ayuda WordPress

  40. Miguel Ángel López Harillo

    Muchas gracias por la información. Lo he hecho en mi blog y de momento funciona perfectamente.

  41. Pingback: Plugins que no deberías instalar | Ayuda WordPress

  42. Pingback: Optimiza el uso de Jetpack en tu web WordPress | antoniohg.com

  43. Pingback: Evitar acceso al escritorio a los suscriptores | Ayuda WordPress

  44. Pingback: Mostrar la cantidad de archivos subidos a WordPress | Ayuda WordPress

  45. Pingback: Desactivar módulos de JetPack por defecto | Ayuda WordPress

  46. Pingback: Cookies, WordPress y legislación | Ayuda WordPress

  47. Pingback: Tu propio plugin de funciones – HBRAVO

  48. Pingback: Cómo personalizar las entradas relacionadas de JetPack | Ayuda WordPress

  49. Pingback: Qué son los shortcodes y cómo crearlos | Ayuda WordPress

  50. Pingback: Qué es y cómo se usa el fichero functions.php | Ayuda WordPress

  51. Pingback: Mostrar completo el editor de WordPress | Ayuda WordPress

  52. No tengo ni idea donde está la página de utilidades.Solo aparece una gran página de publicidad de mi hosting,pero explican poco el funcionamiento.Mis url no parece estar activas,y se han producido miles de errores al importar.¿?

      1. Gracias Fernando, tengo la publicidad con plugins de Google Adsense¿Se ha de ¿Ha de colocar los códigos en algún sitio? Lo digo porque me los rechaza el plugin, al parecer al ser dinámicos no se han de colocar,no obstante hay 75 anuncios para mis cinco blogs, que los han elegido ellos,solo secolocan 3, pero que ellos van variando,supongo según la dinamica.

  53. Hola Fernando, desde hace tiempo que el botón (enlace) de «responder» en los comentarios anidados dejó de funcionarme y no supe nunca el porqué. Estoy cansado de buscar y leer y no encuentro nada que me oriente a solucionarlo.

    Desde el panel de admin de wordpress si que puedo responder, pero luego los usuarios no pueden seguir la conversación y se me ensucia todos los temas.

    Si me pudieras ayudar te estaría eternamente agradecido. Un saludo y gracias por tus artículos, que para los que estamos empezando nos vienen como anillo al dedo!

    1. Puede que sea algún plugin que interfiere con el sistema de comentarios. Deberías desactivarlos, probar si funciona, y luego ir activando uno a uno hasta detectar el que interfiere para no usarlo y usar uno compatible

      1. Gracias por la respuesta, al final detecté que se trataba de una configuración de SEO BY YOAST. No me había fijado que en la descripción de una de sus funciones indicaba que podía causar ese problema.

  54. Pingback: Desactivar la actualización de plugins concretos | Ayuda WordPress

  55. Pingback: Cómo cambiar la URL de autor en WordPress | Ayuda WordPress

  56. Pingback: Cómo eliminar los restos que dejan los shortcodes

  57. Pingback: Establecer todos los ajustes de inserción de imágenes por defecto | Ayuda WordPress

  58. Pingback: Tu propio plugin de funciones – Profe Herman

  59. Pingback: Forzar la desconexión de usuarios | Ayuda WordPress

  60. Pingback: Retrasar la desconexión de usuarios | Ayuda WordPress

  61. Pingback: Cambiar textos de WordPress sin modificar la traducción | Ayuda WordPress

  62. Pingback: Subir archivos por defecto en el cargador de imágenes de WordPress | Ayuda WordPress

  63. Pingback: Disqus solo donde lo necesites | Ayuda WordPress

  64. Pingback: Como desactivar la REST API | Ayuda WordPress

  65. Pingback: Renombrar los menús de administración de WooCommerce | Ayuda WordPress

  66. Pingback: Crea tus propios widgets para el escritorio de WordPress | Ayuda WordPress

  67. Pingback: Heartbeat API ¿la necesito?

  68. Pingback: Cómo cambiar el texto “Añadir al carrito” en WooCommerce

  69. Pingback: ¿Qué son los mu-plugins de WordPress?

  70. Pingback: Cómo quitar las migas de pan en WooCommerce

      1. Alonso Fernández

        Saludos Fernando,

        He intentado aplicar esto como un plug-in o en el archivo functions pero no me funciona nada, la orden sigue sin completarse.

        Que más debo hacer?

  71. Pingback: Cómo añadir el CIF/NIF en WooCommerce

  72. Pingback: Tu propio plugin de funciones | Herman Bravo Blog

  73. Pingback: Mostrar miniaturas de vídeos YouTube en WordPress

  74. Pingback: Añade texto a la pantalla de registro de WordPress

  75. Pingback: Cómo ocultar o personalizar los productos relacionados en WooCommerce

  76. Pingback: Qué es y cómo solucionar el aviso “Defer Parsing JavaScript”

  77. Pingback: Forzar HTTPS SSL en WordPress

  78. Pingback: Cómo ocultar métodos de pago por producto o categoría en WooCommerce

  79. Pingback: Cómo solucionar el error HTTP 403 de conexión con Jetpack

  80. Pingback: Cómo reparar un WordPress roto tras cambiar la URL

  81. Pingback: Cómo ocultar el título de las páginas

  82. Pingback: Cómo incluir el IRPF en WooCommerce como impuesto negativo

  83. Pingback: Cómo quitar los dashicons de portada para acelerar WordPress

  84. Pingback: Cómo quitar devicepx-jetpack.js para acelerar tu web

  85. Pingback: Cómo ocultar el SKU en WooCommerce

  86. Pingback: Tutorial Divi: Cómo quitar el tipo de contenido Proyectos

  87. Pingback: Cómo quitar el desplegable de "Ordenar por" en WooCommerce

  88. Pingback: La vulnerabilidad target="_blank" y la solución rel="noopener noreferrer" de WordPress

  89. Pingback: Insertar anuncio después de un párrafo concreto en WordPress

  90. Pingback: Cómo cambiar el orden de las pestañas de producto en WooCommerce

  91. Pingback: ¿Cómo evito que WordPress almacene las IPs de los comentarios?

  92. Pingback: Cómo quitar o modificar el texto de producto añadido al carrito en WooCommerce

  93. Pingback: Permalinks por defecto sin intervención del usuario

  94. Pingback: Añadir elementos al título automáticamente

  95. Pingback: Cómo quitar los menús de administración de WordPress

  96. Pingback: Cómo añadir más fuentes a tu WordPress - Pablo Moratinos

  97. Pingback: Recargo de equivalencia en WooCommerce, tienda online WordPress

  98. Pingback: Cómo cambiar el nombre del SKU de WooCommerce a lo que quieras

  99. Rubén Vázquez Vélez (RubiWorks

    Muchísimas gracias Fernando!! Acabo de hacer un plugin para un cliente y no veas de la que me has salvado. Ahora tengo las funciones que todo el año hacía a pelo en un simple plugin. Desarrollaré uno para cada cliente y voilá!! 😀

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

 

Ir arriba Ir al contenido