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.
¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!
Muy curioso, lo voy a probar.
Gracias por la aportación.
Muy bueno! Y Útil!!
Muchas gracias por la aportación, funciona perfecto.
buena entrada, aficionado a este blog, gracias,
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.
Excelente… esta buscado algo asi para solucinar un problema con mi tema
Nada a mi no me funciona ni incluso el creado por Fernando, supongo estare haciendo algo mal pero no se qué.
Muchas gracias me ha sido muyyyyy util.
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.
Exacto. Eso es justo lo que yo quiero implementar. 🙂
Existe nueva versión del plugin?
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 ' ) ;
la sentencia < ? p h p
Gracias.
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 😉
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
Gracias por el aporte ,aunque me cuesta estoy aprendiendo a usarlo.
¡Necesitaba algo así! ¡Gracias!
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
Si te muestra ese error, prueba a cerrar la sentencia php al final del documento con «?>» (sin las comillas).
Sería correcto para crear un plugin de shortcodes?
Pues correcto no se pero posible si, claro
OK Gracias!
Muchas gracias por la información. Lo he hecho en mi blog y de momento funciona perfectamente.
en que carpeta se ponen las imagenes para el logo personalizado de incio de sección en wp
Buenisimo muchas gracias por todos tus grandes aportes
Tienes puesto que la descarga no se encuentra 😉
ya subi el pluging, como compruebo si esta funionando?¿?
Activándolo como cualquier otro plugin
Excelente pero no me muestra el link de descarga.
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.¿?
No debería aparecer siquiera publicidad. Un plugin de utilidades lo c creas tu misma
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.
Si no te deja el plugin entonces te tocará meterlos manualmente en los archivos PHP del tema
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!
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
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.
Eres muy bueno!!! Muchas gracias!!
Supongo que hay que cerrar las etiquetas php, ¿no?
Me respondo a mí mismo: ¡NO!
Aun funciona con las nuevas versiones de WP ?
Si claro
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?
Pues a mi me sigue funcionado, creo que hasta me he vuelto adicto a su uso
Funciona con multisite ??
Sí claro
Gracias, Excelente artículo.
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á!! 😀
En pleno 2021 este hack sigue siendo de utilidad. Muchas gracias por currártelo y compartirlo. ¡Bravo Fernando!