De todos los archivos principales de WordPress , pocos son tan versátiles como functions.php . Si sabe cómo interactuar con él, este archivo le permitirá agregar todo tipo de funciones a su sitio con solo unas pocas líneas de código.
En este artículo, le diremos todo lo que necesita saber sobre el archivo de funciones de WordPress y cómo usarlo para su beneficio. Discutiremos lo que hace, por qué debería usarlo y cuándo no. Además, le presentaremos 17 hacks de archivos útiles para ampliar la funcionalidad de su sitio sin tener que instalar un complemento.
¡Pongamos este espectáculo en el camino!
El archivo functions.php es uno de los archivos principales de WordPress. En otras palabras, es uno que ayuda a potenciar toda la plataforma y está detrás de muchas de las características de su sitio.
También puede usar el archivo functions.php como una forma improvisada de implementar nuevas funciones en su sitio web, como agregar nuevos widgets a su tablero o tamaños de imagen personalizados para su instalación. Es la alternativa perfecta a los complementos de WordPress para funciones simples o temporales.
También vale la pena señalar que hay un archivo functions.php ‘principal’ que influye en todo su sitio, pero cada tema viene con su propia versión secundaria (al igual que su archivo style.css ). Esto le permite implementar funciones solo para temas específicos sin afectar su sitio globalmente.
17 trucos de archivos para su archivo Functions.php de WordPress
Como mencionamos anteriormente, cada tema viene con su propio archivo functions.php . Si va a realizar modificaciones importantes en el suyo, el mejor curso de acción es configurar un tema secundario para que sus cambios no desaparezcan durante las actualizaciones. También querrá hacer una copia de seguridad de su sitio antes de realizar cualquier cambio, en caso de que algo salga mal y necesite revertir sus cambios.
Continuando, deberá acceder a su archivo functions.php usando un cliente FTP (Protocolo de transferencia de archivos) , como FileZilla , para navegar al directorio wp-content/themes/ . En el interior, encontrará una carpeta para cada uno de sus temas, todos los cuales deben tener sus propios archivos functions.php dentro de:
Simplemente haga clic derecho sobre él y elija la opción que dice Editar, que abrirá su editor de texto predeterminado . Con eso fuera del camino, ¡vamos al grano!
1. Agregue un nuevo usuario administrador a WordPress
Hay algunas ocasiones en las que podría quedar bloqueado de su cuenta de administrador y no poder cambiar su contraseña o acceder a su sitio. Con este ajuste, tendrá una forma adicional de recuperar el acceso a través de FTP.
Al igual que con todos estos trucos y fragmentos, simplemente copie el siguiente código, péguelo al final del archivo functions.php de su tema y guarde los cambios.
01
02
03
04
05
06
07
08
09
10
|
function wpb_admin_account(){ $user = 'username' ; $pass = 'password' ; $email = 'email@mywordpresssite.com' ; if ( !username_exists( $user ) && !email_exists( $email ) ) { $user_id = wp_create_user( $user , $pass , $email ); $user = new WP_User( $user_id ); $user ->set_role( 'administrator' ); } } add_action( 'init' , 'wpb_admin_account' ); |
Deberá reemplazar los valores donde dice nombre de usuario, contraseña y correo electrónico con los suyos propios, ¡y ya está todo listo!
2. Mostrar el número total de usuarios registrados
Si alguna vez ha querido presumir ante el mundo de cuántos usuarios tiene su sitio, esta modificación le permite agregar un recuento simple a su interfaz. Este truco también tiene usos más allá de los derechos de fanfarronear. Por ejemplo, las personas pueden estar más dispuestas a confiar en su sitio si saben que tiene una sólida base de usuarios. Aquí está el fragmento:
01
02
03
04
05
06
|
function wpb_user_count() { $usercount = count_users(); $result = $usercount [ 'total_users' ]; return $result ; } add_shortcode( 'user_count' , 'wpb_user_count' ); |
Esto es un poco avanzado, ya que en realidad hemos registrado el código abreviado personalizado [user_count] para mostrar el total de usuarios registrados en su sitio. Si bien este puede ser un tema complejo, ¡nuestra implementación es simple!
3. Elimine el ‘Panel de bienvenida’ de su Tablero
Su panel de bienvenida es la sección de su tablero que aparece tan pronto como inicia sesión en WordPress, y generalmente contiene algunos consejos y listas de verificación para comenzar. Con este fragmento de código, podrá eliminarlo de forma permanente:
01
|
remove_action( 'welcome_panel' , 'wp_welcome_panel' ); |
Claro, el panel de bienvenida no es invasivo en absoluto, pero puede volverse un poco viejo si ha estado usando la plataforma por un tiempo y ya no necesita los consejos. Además, dado que todo lo que se necesita es una línea de código, literalmente no hay desventajas en este truco.
4. Oculte su número de versión de WordPress
Como probablemente sepa, dependiendo del tema que esté usando, WordPress tiende a mostrar su número de versión en el pie de página de su sitio. Es un pequeño detalle que puedes eliminar fácilmente con este código:
01
02
03
04
|
function wpb_remove_version() { return '' ; } add_filter( 'the_generator' , 'wpb_remove_version' ); |
Si está ejecutando una versión anterior de WordPress (que, por supuesto, no debería), este ajuste puede ser útil para convertirlo en un objetivo menos tentador.
Su tablero de WordPress probablemente incluya un poco de texto en el pie de página, a menudo indicando algún tipo de crédito (generalmente el propio WordPress). Es algo que quizás te hayas quedado ciego, pero este truco te ofrece una buena oportunidad para personalizar o marcar tu sitio con un simple truco. Veamos el código correspondiente:
01
02
03
04
|
function remove_footer_admin () { echo 'Hello world!' ; } add_filter( 'admin_footer_text' , 'remove_footer_admin' ); |
Para este truco, debes reemplazar el Hello world! texto con el tuyo, incluidos los enlaces que te gustaría incluir.
6. Agregue un widget de texto simple a su tablero
Si decidió liberar algo de espacio en su panel eliminando el widget de bienvenida, es posible que desee reemplazarlo por uno propio. Usando este código, podrá configurar un widget de texto simple:
01
02
03
04
05
06
07
08
|
add_action( 'wp_dashboard_setup' , 'my_custom_dashboard_widgets' ); function my_custom_dashboard_widgets() { global $wp_meta_boxes ; wp_add_dashboard_widget( 'custom_widget' , 'More Information' , 'custom_dashboard_information' ); } function custom_dashboard_information() { echo 'If you need help making changes to your site, you can always contact me via email at...' ; } |
Este fragmento agregará un widget llamado Más información a su tablero, incluido el texto dentro de la función custom_dashboard_information . Para este ejemplo, elegimos crear una especie de widget de contacto, que puede usar para etiquetar en blanco los sitios web de los clientes y recordarles que se mantengan en contacto si es necesario.
7. Agregue tamaños de imagen personalizados a sus instalaciones
WordPress le permite cambiar el tamaño de sus imágenes a dimensiones específicas después de cargarlas y proporciona algunos ajustes preestablecidos de forma predeterminada. Con este código, podrá agregar nuevos ajustes preestablecidos para evitar tener que establecer dimensiones personalizadas:
01
|
add_image_size( 'sidebar-thumbnail' , 120, 120 ); |
Tenga en cuenta que puede agregar tantos tamaños nuevos como desee, y pueden ser particularmente útiles si hay una resolución específica que usa en todo su sitio.
8. Agregue imágenes destacadas a su fuente RSS
Mucha gente no sabe esto, pero WordPress genera feeds RSS para sus sitios automáticamente. Si tiene la intención de usar el suyo , querrá configurar una imagen destacada para sus publicaciones, lo que puede hacer con este código:
01
02
03
04
05
06
07
08
09
10
11
12
13
14
|
function rss_post_thumbnail( $content ) { global $post ; if (has_post_thumbnail( $post ->ID)) { $content = ' ' . get_the_post_thumbnail( $post ->ID) . ' ' . get_the_content(); } return $content ; } add_filter( 'the_excerpt_rss' , 'rss_post_thumbnail' ); add_filter( 'the_content_feed' , 'rss_post_thumbnail' ); |
Las imágenes destacadas pueden contribuir en gran medida a que su fuente RSS se vea más atractiva, lo cual es crucial para cualquier tipo de contenido que dependa de los clics.
9. Excluye categorías de tu fuente RSS
Una de las mejores cosas de la función de fuente RSS de WordPress es lo personalizable que es. Con este código, podrá ocultar categorías específicas de su feed, para que pueda elegir qué contenido se agrega:
01
02
03
04
05
06
07
|
function exclude_category( $query ) { if ( $query ->is_feed ) { $query ->set( 'cat' , -2, -3'); } return $query ; } add_filter( 'pre_get_posts' , 'exclude_category' ); |
Tenga en cuenta que WordPress identifica las categorías según los números de identificación (es decir, -2 y -3 ) en el código anterior. Por lo tanto, deberá identificar las ID de las categorías que desea eliminar antes de implementar este truco.
10. Deshabilite su fuente RSS
Aunque es una excelente función de WordPress, si no está interesado en usar RSS, puede desactivarlo por completo usando este fragmento de código:
01
02
03
04
05
06
07
08
|
function fb_disable_feed() { wp_die( __( 'Sorry, we don' t use RSS!') ); } add_action( 'do_feed' , 'fb_disable_feed' , 1); add_action( 'do_feed_rdf' , 'fb_disable_feed' , 1); add_action( 'do_feed_rss' , 'fb_disable_feed' , 1); add_action( 'do_feed_rss2' , 'fb_disable_feed' , 1); add_action( 'do_feed_atom' , 'fb_disable_feed' , 1); |
Notará que el código incluye un pequeño mensaje para los usuarios que intentan acceder a su feed después de que lo haya desactivado. No hay inconveniente en mantenerlo activo, pero si está seguro de que no lo va a usar, esto le permite apagarlo por completo y potencialmente ahorrar uno o dos ciclos.
11. Oculte los detalles del error de inicio de sesión de WordPress
Los errores de inicio de sesión que son demasiado detallados pueden brindarles a los indeseables la información que necesitan para ayudarlos a obtener acceso a su sitio. Con este código, WordPress no especificará dónde cometió un error al intentar iniciar sesión:
01
02
03
04
|
function no_wordpress_errors(){ return 'Something is wrong!' ; } add_filter( 'login_errors' , 'no_wordpress_errors' ); |
Al usar este truco, hace que sea más difícil para los atacantes intentar obtener acceso a su sitio, mientras que los usuarios reales no deberían tener problemas para descubrir dónde cometieron un error. ¡Un ganar-ganar por todas partes!
12. Obligar a los usuarios a iniciar sesión con sus nombres de usuario
Mucha gente tiende a suscribirse a todos los servicios utilizando el mismo correo electrónico, lo que significa que los atacantes pueden intentar obtener acceso simplemente conociendo sus direcciones de correo electrónico. Con este código, obligará a los usuarios a iniciar sesión utilizando nombres de usuario exclusivamente:
01
|
remove_filter( 'authenticate' , 'wp_authenticate_email_password' , 20 ); |
Para ser justos, los nombres de usuario también tienden a reutilizarse mucho, pero esta pequeña modificación aún puede ayudar a mejorar su seguridad y minimizar los ataques.
13. Cambia la longitud de los extractos de tus publicaciones
Los índices de blogs de WordPress generalmente muestran breves extractos de sus publicaciones para dar a los lectores una idea de lo que les espera. Si alguna vez ha querido cambiar la longitud predeterminada de estos extractos, esta es una oportunidad para hacerlo.
01
02
03
04
|
functionnew_excerpt_length( $length ) { return 75; } add_filter( 'excerpt_length' , 'new_excerpt_length' ); |
La longitud predeterminada es 55, pero en el código anterior, la elevamos a 75 para darnos un poco más de margen de maniobra.
14. Permita que WordPress cargue cualquier tipo de archivo que desee
De forma predeterminada, WordPress solo le permite cargar una gama muy limitada de tipos de archivos , incluidos formatos de medios comunes como .png y .jpg. Con este código, podrá forzar su instalación para permitir más tipos:
01
02
03
04
05
|
function my_myme_types( $mime_types ){ $mime_types [ 'svg' ] = 'image/svg+xml' ; return $mime_types ; } add_filter( 'upload_mimes' , 'my_myme_types' , 1, 1); |
Tome .svg, por ejemplo, que es un tipo de archivo que hemos discutido en el pasado . Con este fragmento, podrá agregar soporte para él sin necesidad de un complemento.
15. Deshabilitar la vinculación automática de imágenes
De fábrica, WordPress agregará enlaces a cada imagen que incluya en su contenido que apunte a su versión completa. Al usar este código, deshabilitarás esta funcionalidad:
01
02
03
04
05
06
07
|
function wpb_imagelink_setup() { $image_set = get_option( 'image_default_link_type' ); if ( $image_set !== 'none' ) { update_option( 'image_default_link_type' , 'none' ); } } add_action( 'admin_init' , 'wpb_imagelink_setup' , 10); |
Sin embargo, tenga en cuenta que aún puede acceder a esta función editando cada imagen individual; todo lo que esto hace es evitar que funcione automáticamente.
16. Agregue un área lista para widgets
WordPress ya incluye múltiples áreas listas para widgets para que las uses, pero siempre puedes agregar otras nuevas usando un poco de magia functions.php . Al igual que con nuestro truco de códigos abreviados anterior, está comenzando a ingresar al ámbito del desarrollador aquí. Sin embargo, esta es una implementación simple que podría ayudarlo inmensamente:
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
dieciséis
17
18
19
20
21
22
23
24
25
26
27
|
function custom_sidebars() { $args = array ( 'id' => 'custom_sidebar' , 'name' => __( 'Custom Widget' , 'text_domain' ), 'description' => __( 'A custom widget, ' text_domain' ), 'before_title' => ' <h3 class = "widget-title" >', 'after_title' => '</h3> ', 'before_widget' => ' <aside id= "%1$s" class = "widget %2$s" >', 'after_widget' => '</aside> ', ); register_sidebar( $args ); } add_action( 'widgets_init' , 'custom_sidebars' ); |
Tenga en cuenta que este código simplemente ‘registra’ su nueva área de widgets. Aún deberá llamarlo para secciones de temas específicos, como su pie de página, editando sus respectivos archivos .
17. Deshabilite la función de búsqueda de WordPress
Casi todos los sitios necesitan una función de búsqueda para ayudar a los usuarios a orientarse. Sin embargo, si va a crear un sitio de una sola página, es posible que no lo necesite. Aquí está el código que le permitirá desactivarlo:
01
02
03
04
05
06
07
08
09
10
11
12
|
function fb_filter_query( $query , $error = true ) { if ( is_search() ) { $query ->is_search = false; $query ->query_vars[s] = false; $query ->query[s] = false; // to error if ( $error == true ) $query ->is_404 = true; } } add_action( 'parse_query' , 'fb_filter_query' ); add_filter( 'get_search_form' , create_function( '$a' , "return null;" ) ); |
Antes de deshabilitar esta función, debe estar 100% seguro de que no la necesitará, ya que puede afectar en gran medida la usabilidad de su sitio. Por supuesto, siempre puede eliminar el código para restablecer la búsqueda en su sitio, pero si no está seguro, tenga cuidado y no lo desactive.
Conclusión
Su archivo functions.php es uno de los activos más poderosos en su caja de herramientas de WordPress. No solo le permite agregar todo tipo de funciones con unas pocas líneas de código, sino que también es fundamental para que su sitio funcione (¿ve lo que hicimos allí?).
Si eres un usuario de Divi , el archivo functions.php puede ayudarte a agregar varias funciones complementarias a tu sitio sin tener que configurar complementos adicionales, lo que siempre es una ventaja.
¿Tiene alguna pregunta sobre estos hacks de archivos de funciones de WordPress? Si es así, ¡pregunte en la sección de comentarios a continuación!
Imagen en miniatura del artículo por MchlSkhrv / shutterstock.com