Hacer pequeños ajustes en tu sitio de WordPress puede sentirse como desbloquear superpoderes ocultos. Con solo unas pocas líneas de código en el archivo de funciones, puedes personalizar cómo funciona tu sitio, sin necesidad de complementos adicionales.
Hemos pasado años experimentando con el archivo functions.php, y es una de las herramientas más útiles en el kit de herramientas de un usuario de WordPress. Puedes agregar funciones personalizadas, eliminar cosas que no necesitas y ajustar el comportamiento de tu sitio con solo un poco de código.
Pero antes de empezar, hay una regla importante: siempre haz una copia de seguridad de tu sitio. Editar el archivo de funciones es como ajustar el motor de un coche; un pequeño error puede romper cosas. Si buscas un enfoque más seguro, te recomendamos usar en su lugar un complemento de fragmentos de código personalizados.
En esta guía, compartiremos 25 trucos útiles que puedes usar para personalizar WordPress a través del archivo de funciones. ¡Empecemos!

¿Qué es el archivo de funciones en WordPress?
El archivo functions.php es como el cerebro de tu tema de WordPress. Viene con cada tema de WordPress gratuito y premium y permite a los desarrolladores definir funciones personalizadas.
Piénsalo como un mini-complemento integrado en tu tema. Puedes agregar fragmentos de código personalizados para ajustar cómo funciona tu sitio, desde agregar widgets adicionales hasta modificar páginas de inicio de sesión. Es una herramienta poderosa, pero tiene una pega.
Editar el archivo de funciones directamente no es la mejor idea. Si actualizas tu tema, perderás todo tu código personalizado. Y si cometes un error, podría dañar tu sitio, dejándote luchando para arreglarlo.
Por eso siempre recomendamos usar WPCode, un plugin gratuito que hace que agregar fragmentos de código sea fácil y libre de riesgos.
¿Por qué preferimos WPCode?
- Puedes guardar fragmentos personalizados sin tocar los archivos del tema o del núcleo.
- Coloca automáticamente tu código donde lo necesitas.
- Los fragmentos se guardan por separado, por lo que puedes activarlos o desactivarlos en cualquier momento.
- Tiene un sistema de seguridad incorporado que deshabilita cualquier fragmento que cause errores.
Como un bono adicional, el plugin WPCode incluye una gran biblioteca de fragmentos preconfigurados. Puedes habilitarlos con solo un clic, ¡sin necesidad de codificar!

Para más información, consulta nuestra reseña detallada de WPCode.
Ahora que conoces la mejor manera de manejar fragmentos de código, sumerjámonos en algunas funciones útiles que puedes usar para personalizar tu sitio de WordPress.
- Cómo agregar estos fragmentos de código a tu sitio web
- Eliminar el número de versión de WordPress
- Agregar un logo personalizado al panel de administración
- Cambiar el pie de página en el panel de administración de WordPress
- Agregar widgets personalizados al panel de administración en WordPress
- Cambiar el Gravatar predeterminado en WordPress
- Fecha de copyright dinámica en el pie de página de WordPress
- Cambiar aleatoriamente el color de fondo en WordPress
- Actualizar URL de WordPress
- Agregar tamaños de imagen adicionales en WordPress
- Agregar nuevos menús de navegación a tu tema
- Agregar campos de perfil de autor
- Agregar áreas listas para widgets o barras laterales en temas de WordPress
- Manipular el pie de página del feed RSS
- Agregar imágenes destacadas a los feeds RSS
- Ocultar errores de inicio de sesión en WordPress
- Deshabilitar inicio de sesión por correo electrónico en WordPress
- Deshabilitar función de búsqueda en WordPress
- Retrasar publicaciones en el feed RSS
- Cambiar texto de "Leer más" para extractos en WordPress
- Deshabilitar feeds RSS en WordPress
- Cambiar la longitud del extracto en WordPress
- Agregar un usuario administrador en WordPress
- Deshabilitar selector de idioma en la página de inicio de sesión
- Mostrar el número total de usuarios registrados en WordPress
- Excluir categorías específicas del feed RSS
- Deshabilitar enlaces URL en comentarios de WordPress
- Agregar clases CSS impar y par a las publicaciones de WordPress
- Agregar tipos de archivo adicionales para subir en WordPress
- Cambiar nombre del remitente en correos electrónicos de WordPress
- Agregar una caja de información del autor en las publicaciones de WordPress
- Deshabilita XML-RPC en WordPress
- Vincular automáticamente imágenes destacadas a las publicaciones
- Deshabilitar editor de bloques en WordPress
- Deshabilitar widgets de bloques en WordPress
- Mostrar la fecha de última actualización en WordPress
- Usar nombres de archivo en minúsculas para las cargas
- Deshabilitar barra de administración de WordPress en el frontend
- Cambiar texto de "Hola [usuario]" en el área de administración
- Deshabilitar edición de código en el editor de bloques
- Deshabilitar editor de archivos de plugins / temas
- Deshabilitar correos electrónicos de notificación de nuevos usuarios
- Deshabilitar notificaciones por correo electrónico de actualizaciones automáticas
- Agregar un enlace para duplicar fácilmente una publicación
- Eliminar panel de bienvenida del panel de administración de WordPress
- Agregar una columna de imagen destacada para publicaciones en el administrador de WordPress
- Bloquear el área de administración de WordPress para todos excepto los administradores
Cómo agregar estos fragmentos de código a tu sitio web
Antes de comenzar, veamos cómo agregar los fragmentos de código de este artículo a su archivo de funciones de WordPress.
1. Agregar código personalizado al archivo de funciones usando WPCode (Recomendado)
Primero, necesitas instalar y activar el plugin WPCode. Para más detalles, consulta nuestra guía paso a paso sobre cómo instalar un plugin de WordPress.
Al activarlo, ve a la página Fragmentos de código » + Agregar fragmento. Verás la biblioteca de fragmentos de código de WPCode con muchos fragmentos de código personalizados útiles ya agregados.

Si tu fragmento de código hace lo mismo que los fragmentos de la biblioteca, entonces puedes probar el que ya está agregado allí.
Alternativamente, haz clic en el enlace 'fragmento en blanco' para continuar agregando tu fragmento de código personalizado.
En la siguiente pantalla, proporciona un título para tu código personalizado. Este podría ser cualquier cosa que te ayude a identificar lo que hace este fragmento de código.

A continuación, debes elegir el 'Tipo de código'. Si estás agregando un código que funciona en el archivo functions.php, entonces debes seleccionar 'Fragmento de PHP'.
Debajo de eso, debes copiar y pegar tu código personalizado en el cuadro 'Vista previa del código'.
Finalmente, debes configurar tu fragmento como 'Activo' y hacer clic en el botón 'Guardar fragmento'.

Tu fragmento guardado ahora se ejecutará como si lo hubieras agregado al archivo functions.php.
Puedes repetir el proceso para agregar más fragmentos cuando sea necesario. También puedes desactivar un fragmento sin eliminarlo.
2. Agregar código personalizado directamente al archivo Functions
El método WPCode es siempre mejor que agregar código al archivo functions del tema.
Sin embargo, algunos usuarios pueden estar escribiendo código para el tema personalizado de WordPress de un cliente o simplemente prefieren agregar código al archivo functions.php.
En ese caso, aquí te mostramos cómo puedes agregar código al archivo functions.php de tu tema de WordPress.
Primero, conéctate a tu sitio web de WordPress usando un cliente FTP. Una vez conectado, navega a la carpeta /wp-content/themes/tu-tema-de-wordpress/.

Ahí encontrarás el archivo functions.php. Simplemente haz clic derecho y selecciona editar o descarga el archivo a tu computadora para editarlo.
Puedes editarlo usando cualquier editor de texto plano como el Bloc de notas o TextEdit.
Luego, desplázate hasta el final del archivo functions.php y pega tu fragmento de código allí. Puedes guardar tus cambios y subir el archivo functions.php actualizado a tu carpeta de temas.
Ahora puedes visitar tu sitio web de WordPress para ver tu código personalizado en acción.
Ahora, veamos 46 trucos útiles diferentes para el archivo functions de WordPress.
1. Eliminar el número de versión de WordPress
Siempre debes usar la última versión de WordPress. Sin embargo, es posible que desees eliminar el número de versión de WordPress de tu sitio.
Simplemente agrega este fragmento de código a tu archivo functions o como un nuevo fragmento de WPCode:
function wpb_remove_version() { return ''; } add_filter('the_generator', 'wpb_remove_version'); Para obtener instrucciones detalladas, consulta nuestra guía sobre la forma correcta de eliminar el número de versión de WordPress.
2. Agregar un logotipo personalizado al panel de control
¿Quieres personalizar el área de administración de tu WordPress? El primer paso es agregar un logotipo personalizado al panel de control.
Primero, deberás subir tu logotipo personalizado a la carpeta de imágenes de tu tema como custom-logo.png. Tu logotipo personalizado debe tener una relación de 1:1 (una imagen cuadrada) en 16x16 píxeles.
Después de eso, puedes agregar este código al archivo functions de tu tema o como un nuevo fragmento de WPCode:
function wpb_custom_logo() { echo ' <style type="text/css"> #wpadminbar #wp-admin-bar-wp-logo > .ab-item .ab-icon:before { background-image: url(' . get_bloginfo('stylesheet_directory') . '/images/custom-logo.png) !important; background-position: 0 0; color:rgba(0, 0, 0, 0); } #wpadminbar #wp-admin-bar-wp-logo.hover > .ab-item .ab-icon { background-position: 0 0; } </style> '; } //hook into the administrative header output add_action('wp_before_admin_bar_render', 'wpb_custom_logo'); Para más detalles, consulta nuestra guía sobre cómo agregar un logo personalizado al panel de WordPress.
3. Cambia el pie de página en el panel de administración de WordPress
El pie de página en el área de administración de WordPress muestra el mensaje ‘Gracias por crear con WordPress.’ Puedes cambiarlo a lo que quieras agregando este código:
function remove_footer_admin () { echo 'Fueled by <a href="http://www.wordpress.org" target="_blank">WordPress</a> | WordPress Tutorials: <a href="https://www.wpbeginner.com" target="_blank">WPBeginner</a></p>'; } add_filter('admin_footer_text', 'remove_footer_admin'); Siéntete libre de cambiar el texto y los enlaces que quieras agregar. Así es como se ve en nuestro sitio de prueba.

4. Agregar widgets personalizados al panel de WordPress
Probablemente has visto los widgets que muchos plugins y temas agregan al panel de WordPress. Puedes agregar uno tú mismo pegando el siguiente código:
add_action('wp_dashboard_setup', 'my_custom_dashboard_widgets'); function my_custom_dashboard_widgets() { global $wp_meta_boxes; wp_add_dashboard_widget('custom_help_widget', 'Theme Support', 'custom_dashboard_help'); } function custom_dashboard_help() { echo '<p>Welcome to Custom Blog Theme! Need help? Contact the developer <a href="mailto:yourusername@gmail.com">here</a>. For WordPress Tutorials visit: <a href="https://www.wpbeginner.com" target="_blank">WPBeginner</a></p>'; } Así es como se vería:

Para más detalles, consulta nuestro tutorial sobre cómo agregar widgets personalizados al panel de WordPress.
5. Cambiar el Gravatar predeterminado en WordPress
¿Has visto el avatar predeterminado del hombre misterioso en los blogs? Puedes reemplazarlo fácilmente con tu propio avatar personalizado de marca.
Simplemente sube la imagen que quieres usar como avatar predeterminado y agrega este código a tu archivo functions o al plugin WPCode:
function wpb_custom_default_gravatar( $avatar_defaults ) { $myavatar = 'https://example.com/wp-content/uploads/2022/10/dummygravatar.png'; $avatar_defaults[$myavatar] = 'Default Gravatar'; return $avatar_defaults; } add_filter( 'avatar_defaults', 'wpb_custom_default_gravatar' ); Ahora puedes ir a la página Ajustes » Discusión y seleccionar tu avatar predeterminado.

Para instrucciones detalladas, consulta nuestra guía sobre cómo cambiar el Gravatar predeterminado en WordPress.
6. Fecha de Copyright Dinámica en el Pie de Página de WordPress
Simplemente puedes agregar una fecha de copyright editando la plantilla del pie de página en tu tema. Sin embargo, no mostrará cuándo comenzó tu sitio y no se cambiará automáticamente el año siguiente.
Este código puede agregar una fecha de copyright dinámica en el pie de página de WordPress:
function wpb_copyright() { global $wpdb; $copyright_dates = $wpdb->get_results(" SELECT YEAR(min(post_date_gmt)) AS firstdate, YEAR(max(post_date_gmt)) AS lastdate FROM $wpdb->posts WHERE post_status = 'publish' "); $output = ''; if($copyright_dates) { $copyright = "© " . $copyright_dates[0]->firstdate; if($copyright_dates[0]->firstdate != $copyright_dates[0]->lastdate) { $copyright .= '-' . $copyright_dates[0]->lastdate; } $output = $copyright; } return $output; } Después de agregar esta función, necesitarás abrir tu archivo footer.php y agregar el siguiente código donde quieras mostrar la fecha de copyright dinámica:
<?php echo wpb_copyright(); ?> Esta función busca la fecha de tu primera publicación y la fecha de tu última publicación. Luego devuelve los años donde sea que llames a la función.
Consejo: Si estás usando el plugin WPCode, puedes combinar los dos fragmentos de código. Después de eso, elige la ubicación 'Pie de página de todo el sitio' en la sección 'Inserción' de la configuración del fragmento. Esto mostrará automáticamente la fecha de derechos de autor en el pie de página sin editar el archivo footer.php de tu tema.

Para más detalles, consulta nuestra guía sobre cómo agregar fechas de derechos de autor dinámicas en WordPress.
7. Cambiar el color de fondo aleatoriamente en WordPress
¿Quieres cambiar aleatoriamente el color de fondo de tu blog de WordPress en cada visita y recarga de página? Aquí te mostramos cómo hacerlo fácilmente.
Primero, agrega este código al archivo functions de tu tema o al plugin WPCode:
function wpb_bg() { $rand = array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'); $color ='#'.$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)]. $rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)]; echo $color; } A continuación, deberás editar el archivo header.php de tu tema. Busca la etiqueta <body> y reemplázala con esta línea:
<body <?php body_class(); ?> style="background-color:<?php wpb_bg();?>"> Ahora puedes guardar tus cambios y visitar tu sitio web para ver este código en acción.

Para más detalles y métodos alternativos, consulta nuestro tutorial sobre cómo cambiar el color de fondo aleatoriamente en WordPress.
8. Actualizar las URL de WordPress
Si tu página de inicio de sesión de WordPress se actualiza constantemente o no puedes acceder al área de administración, entonces necesitas actualizar las URL de WordPress.
Una forma de hacerlo es usando el archivo wp-config.php. Sin embargo, si haces eso, entonces no podrás establecer la dirección correcta en la página de configuración. Los campos de URL de WordPress y URL del sitio se bloquearán y no se podrán editar.
En su lugar, simplemente agrega este código a tu archivo de funciones para solucionarlo:
update_option( 'siteurl', 'https://example.com' ); update_option( 'home', 'https://example.com' ); No olvides reemplazar example.com con el nombre de tu dominio.
Una vez que hayas iniciado sesión, puedes ir a la página de Configuración en el área de administración de WordPress y establecer las URL.
Después de eso, deberías eliminar el código que agregaste al archivo de funciones o a WPCode. De lo contrario, seguirá actualizando esas URL cada vez que se acceda a tu sitio.
9. Agregar tamaños de imagen adicionales en WordPress
WordPress genera automáticamente varios tamaños de imagen cuando subes una imagen. También puedes crear tamaños de imagen adicionales para usar en tu tema.
Simplemente agrega este código al archivo de funciones de tu tema o como un fragmento de WPCode:
add_image_size( 'sidebar-thumb', 120, 120, true ); // Hard Crop Mode add_image_size( 'homepage-thumb', 220, 180 ); // Soft Crop Mode add_image_size( 'singlepost-thumb', 590, 9999 ); // Unlimited Height Mode Este código crea tres nuevos tamaños de imagen de diferentes dimensiones. Siéntete libre de ajustar el código para que cumpla tus requisitos.
Luego puedes mostrar un tamaño de imagen en cualquier lugar de tu tema usando este código:
<?php the_post_thumbnail( 'homepage-thumb' ); ?> Para obtener instrucciones detalladas, consulta nuestra guía sobre cómo crear tamaños de imagen adicionales en WordPress.
10. Agregar nuevos menús de navegación a tu tema
WordPress permite a los desarrolladores de temas definir menús de navegación y luego mostrarlos.
Puedes agregar este código al archivo de funciones de tu tema o como un nuevo fragmento de WPCode para definir una nueva ubicación de menú en tu tema:
function wpb_custom_new_menu() { register_nav_menu('my-custom-menu',__( 'My Custom Menu' )); } add_action( 'init', 'wpb_custom_new_menu' ); Ahora puedes ir a Apariencia » Menús en tu panel de WordPress y ver ‘Mi Menú Personalizado’ como la opción de ubicación del tema.

Nota: Este código también funcionará con temas de bloques con la función de edición completa del sitio. Agregarlo habilitará la pantalla de Menús en Apariencia.
Ahora necesitas agregar este código a tu tema donde quieras mostrar el menú de navegación:
<?php wp_nav_menu( array( 'theme_location' => 'my-custom-menu', 'container_class' => 'custom-menu-class' ) ); ?> Para obtener instrucciones detalladas, consulta nuestra guía sobre cómo agregar menús de navegación personalizados en temas de WordPress.
11. Agregar campos de perfil de autor
¿Quieres agregar campos adicionales a los perfiles de tus autores en WordPress? Puedes hacerlo fácilmente agregando este código a tu archivo functions o como un nuevo fragmento de WPCode:
function wpb_new_contactmethods( $contactmethods ) { // Add Twitter $contactmethods['twitter'] = 'Twitter'; //add Facebook $contactmethods['facebook'] = 'Facebook'; return $contactmethods; } add_filter('user_contactmethods','wpb_new_contactmethods',10,1); Este código agregará campos de Twitter y Facebook a los perfiles de usuario en WordPress.

Ahora puedes mostrar estos campos en tu plantilla de autor de la siguiente manera:
<?php echo get_the_author_meta('twitter') ?> También te puede interesar ver nuestra guía sobre cómo agregar campos adicionales al perfil de usuario en el registro de WordPress.
12. Agregar áreas listas para widgets o barras laterales en temas de WordPress
Este es uno de los fragmentos de código más utilizados, y muchos desarrolladores ya conocen la forma de agregar áreas listas para widgets o barras laterales a los temas de WordPress. Pero merece estar en esta lista para aquellas personas que no lo saben.
Puedes pegar el siguiente código en tu archivo functions.php o como un nuevo fragmento de WPCode:
// Register Sidebars function custom_sidebars() { $args = array( 'id' => 'custom_sidebar', 'name' => __( 'Custom Widget Area', 'text_domain' ), 'description' => __( 'A custom widget area', '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' ); Nota: Este código también funcionará con temas de bloques con la función de edición completa del sitio. Agregarlo habilitará la pantalla de Widgets en Apariencia.
Ahora puedes visitar la página Apariencia » Widgets y ver tu nueva área de widgets personalizada.

Para mostrar esta barra lateral o área lista para widgets en tu sitio web, necesitarás agregar el siguiente código en la plantilla donde deseas mostrarlo:
<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('custom_sidebar') ) : ?> <!–Default sidebar info goes here–> <?php endif; ?> Para más detalles, consulta nuestra guía sobre cómo agregar áreas y barras laterales dinámicas listas para widgets en WordPress.
13. Manipular el pie de página del feed RSS
¿Has visto blogs que agregan sus anuncios en sus feeds RSS debajo de cada publicación? Puedes lograr esto fácilmente con una función simple. Simplemente pega el siguiente código:
function wpbeginner_postrss($content) { if(is_feed()){ $content = 'This post was written by Syed Balkhi '.$content.'Check out WPBeginner'; } return $content; } add_filter('the_excerpt_rss', 'wpbeginner_postrss'); add_filter('the_content', 'wpbeginner_postrss'); Para más información, consulta nuestra guía sobre cómo agregar contenido y manipular completamente tus feeds RSS.
14. Agregar imágenes destacadas a los feeds RSS
Las miniaturas de las publicaciones o las imágenes destacadas generalmente solo se muestran dentro del diseño de tu sitio. Puedes extender fácilmente esa funcionalidad a tu feed RSS con el siguiente código:
function rss_post_thumbnail($content) { global $post; if(has_post_thumbnail($post->ID)) { $content = '<p>' . get_the_post_thumbnail($post->ID) . '</p>' . get_the_content(); } return $content; } add_filter('the_excerpt_rss', 'rss_post_thumbnail'); add_filter('the_content_feed', 'rss_post_thumbnail'); Para más detalles, consulta nuestra guía sobre cómo agregar miniaturas de publicaciones a tus feeds RSS de WordPress.
15. Ocultar errores de inicio de sesión en WordPress
Los hackers pueden usar los errores de inicio de sesión para adivinar si ingresaron el nombre de usuario o la contraseña incorrectos. Al ocultar los errores de inicio de sesión en WordPress, puedes hacer que tu área de inicio de sesión y sitio web de WordPress sean más seguros.
Simplemente agrega el siguiente código al archivo functions de tu tema o como un nuevo fragmento de WPCode:
function no_wordpress_errors(){ return 'Something is wrong!'; } add_filter( 'login_errors', 'no_wordpress_errors' ); Ahora, los usuarios verán un mensaje genérico cuando ingresen un nombre de usuario o contraseña incorrectos.

Para más información, consulta nuestro tutorial sobre cómo deshabilitar sugerencias de inicio de sesión en los mensajes de error de inicio de sesión de WordPress.
16. Deshabilitar inicio de sesión por correo electrónico en WordPress
WordPress permite a los usuarios iniciar sesión con su nombre de usuario o dirección de correo electrónico. Puedes deshabilitar fácilmente el inicio de sesión por correo electrónico en WordPress agregando este código a tu archivo functions o como un nuevo fragmento de WPCode:
remove_filter( 'authenticate', 'wp_authenticate_email_password', 20 ); Para más información, consulta nuestra guía sobre cómo deshabilitar la función de inicio de sesión por correo electrónico en WordPress.
17. Deshabilitar la función de búsqueda en WordPress
Si deseas deshabilitar la función de búsqueda de tu sitio de WordPress, simplemente agrega este código a tu archivo functions o en un nuevo fragmento de WPCode:
function wpb_filter_query( $query, $error = true ) { if ( is_search() ) { $query->is_search = false; $query->query_vars[s] = false; $query->query[s] = false; if ( $error == true ) $query->is_404 = true; }} Este código simplemente deshabilita la consulta de búsqueda modificándola y devolviendo un error 404 en lugar de resultados de búsqueda.
Para más información, consulta nuestro tutorial sobre cómo deshabilitar la función de búsqueda de WordPress.
Consejo profesional: En lugar de renunciar a la búsqueda de WordPress, te recomendamos probar SearchWP. Es el mejor plugin de búsqueda de WordPress del mercado que te permite agregar una función de búsqueda potente y personalizable a tu sitio web.
18. Retrasar la aparición de publicaciones en el feed RSS
A veces, puedes publicar un artículo con un error gramatical o de ortografía.
El error se publica y se distribuye a los suscriptores de tu feed RSS. Si tienes suscripciones por correo electrónico en tu blog de WordPress, esos suscriptores también recibirán una notificación.
Simplemente agrega este código al archivo functions de tu tema o como un nuevo fragmento de WPCode para retrasar la aparición de publicaciones en tu feed RSS:
function publish_later_on_feed($where) { global $wpdb; if ( is_feed() ) { // timestamp in WP-format $now = gmdate('Y-m-d H:i:s'); // value for wait; + device $wait = '10'; // integer // http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_timestampdiff $device = 'MINUTE'; //MINUTE, HOUR, DAY, WEEK, MONTH, YEAR // add SQL-sytax to default $where $where .= " AND TIMESTAMPDIFF($device, $wpdb->posts.post_date_gmt, '$now') > $wait "; } return $where; } add_filter('posts_where', 'publish_later_on_feed'); En este código, usamos 10 minutos como tiempo de espera o retraso ($wait). Siéntete libre de cambiar esto a cualquier número de minutos que desees.
Para un método con plugin y más información, consulta nuestra guía detallada sobre cómo retrasar la aparición de publicaciones en el feed RSS de WordPress.
19. Cambiar el texto "Leer más" para los extractos en WordPress
¿Quieres cambiar el texto que aparece después del extracto en tus publicaciones? Simplemente agrega este código al archivo functions de tu tema o como un nuevo fragmento de WPCode:
function modify_read_more_link() { return '<a class="more-link" href="' . get_permalink() . '">Your Read More Link Text</a>'; } add_filter( 'the_content_more_link', 'modify_read_more_link' ); 20. Desactivar RSS Feeds en WordPress
No todos los sitios web necesitan RSS feeds. Si deseas desactivar los RSS feeds en tu sitio de WordPress, agrega este código al archivo functions de tu tema o como un nuevo fragmento de WPCode:
function new_excerpt_more($more) { global $post; return '<a class="moretag" href="'. get_permalink($post->ID) . '">Your Read More Link Text</a>'; } add_filter('excerpt_more', 'new_excerpt_more'); Para más información sobre un método de plugin, consulta nuestra guía sobre cómo desactivar los RSS feeds en WordPress.
21. Cambiar la longitud del extracto en WordPress
WordPress limita la longitud de los extractos a 55 palabras. Puedes agregar este código a tu archivo functions o como un nuevo fragmento de WPCode si necesitas cambiar eso:
function new_excerpt_length($length) { return 100; } add_filter('excerpt_length', 'new_excerpt_length'); Simplemente cambia 100 por el número de palabras que deseas mostrar en los extractos.
Para métodos alternativos, puedes consultar nuestra guía sobre cómo personalizar extractos de WordPress (sin necesidad de código).
22. Agregar un usuario administrador en WordPress
Si has olvidado tu contraseña y correo electrónico de WordPress, puedes agregar un usuario administrador añadiendo este código al archivo functions de tu tema usando un cliente FTP:
function wpb_admin_account(){ $user = 'Username'; $pass = 'Password'; $email = 'email@domain.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'); No olvides completar los campos de nombre de usuario, contraseña y correo electrónico.
Importante: Una vez que inicies sesión en tu sitio de WordPress, no olvides eliminar el código del archivo functions.
Para más información sobre este tema, consulta nuestro tutorial sobre cómo agregar un usuario administrador en WordPress usando FTP.
23. Desactivar el selector de idioma en la página de inicio de sesión
Si administras un sitio web multilingüe, WordPress muestra un selector de idioma en la página de inicio de sesión. Puedes desactivarlo fácilmente añadiendo el siguiente código a tu archivo functions.php o como un nuevo fragmento de WPCode:
add_filter( 'login_display_language_dropdown', '__return_false' ); 24. Mostrar el número total de usuarios registrados en WordPress
¿Quieres mostrar el número total de usuarios registrados en tu sitio de WordPress? Simplemente añade este código al archivo functions de tu tema o como un nuevo fragmento de WPCode:
function wpb_user_count() { $usercount = count_users(); $result = $usercount['total_users']; return $result; } // Creating a shortcode to display user count add_shortcode('user_count', 'wpb_user_count'); Este código crea un shortcode que te permite mostrar el número total de usuarios registrados en tu sitio.
Ahora, solo necesitas añadir el shortcode [user_count] a tu publicación o página donde quieras mostrar el número total de usuarios.
Para más información y un método de plugin, consulta nuestro tutorial sobre cómo mostrar el número total de usuarios registrados en WordPress.
25. Excluir categorías específicas del feed RSS
¿Quieres excluir categorías específicas de tu feed RSS de WordPress? Puedes agregar este código al archivo functions de tu tema o como un nuevo fragmento de WPCode:
function exclude_category($query) { if ( $query->is_feed ) { $query->set('cat', '-5, -2, -3'); } return $query; } add_filter('pre_get_posts', 'exclude_category'); 26. Deshabilitar enlaces de URL en comentarios de WordPress
Por defecto, WordPress convierte una URL en un enlace clickeable en los comentarios.
Puedes detener esto agregando el siguiente código a tu archivo functions o como un nuevo fragmento de WPCode:
remove_filter( 'comment_text', 'make_clickable', 9 ); Para más detalles, consulta nuestro artículo sobre cómo deshabilitar el autolink en comentarios de WordPress.
27. Agregar clases CSS impar y par a las publicaciones de WordPress
Es posible que hayas visto temas de WordPress que usan una clase impar o par para los comentarios de WordPress. Ayuda a los usuarios a visualizar dónde termina un comentario y comienza el siguiente.
Puedes usar la misma técnica para tus publicaciones de WordPress. Se ve estéticamente agradable y ayuda a los usuarios a escanear rápidamente páginas con mucho contenido.
Simplemente agrega este código al archivo functions de tu tema:
function oddeven_post_class ( $classes ) { global $current_class; $classes[] = $current_class; $current_class = ($current_class == 'odd') ? 'even' : 'odd'; return $classes; } add_filter ( 'post_class' , 'oddeven_post_class' ); global $current_class; $current_class = 'odd'; Este código simplemente agrega una clase impar o par a las publicaciones de WordPress. Ahora puedes agregar CSS personalizado para darles un estilo diferente.
Aquí tienes un código de ejemplo para ayudarte a empezar:
.even { background:#f0f8ff; } .odd { background:#f4f4fb; } El resultado final se verá algo así:

¿Necesitas instrucciones más detalladas? Echa un vistazo a nuestro tutorial sobre cómo agregar clases impar/par a tus publicaciones en temas de WordPress.
28. Agregar tipos de archivo adicionales para subir en WordPress
Por defecto, WordPress te permite subir un número limitado de los tipos de archivo más comunes. Sin embargo, puedes extenderlo para permitir otros tipos de archivo.
Simplemente agrega este código al archivo functions de tu tema:
function my_myme_types($mime_types){ $mime_types['svg'] = 'image/svg+xml'; //Adding svg extension $mime_types['psd'] = 'image/vnd.adobe.photoshop'; //Adding photoshop files return $mime_types; } add_filter('upload_mimes', 'my_myme_types', 1, 1); Este código te permite subir archivos SVG y PSD a WordPress.
Necesitarás encontrar los tipos MIME para los tipos de archivo que deseas permitir y luego usarlos en el código.
Para más información sobre este tema, consulta nuestro tutorial sobre cómo agregar tipos de archivo adicionales para subir en WordPress.
29. Cambiar el nombre del remitente en los correos electrónicos de WordPress
WordPress utiliza una dirección de correo electrónico inexistente (wordpress@tudominio.com) para enviar correos salientes por defecto.
Esta dirección de correo electrónico podría ser marcada como spam por los proveedores de servicios de correo electrónico.
Usar el plugin WP Mail SMTP es la forma correcta de solucionar esto.

Soluciona problemas de entregabilidad de correos y te permite elegir una dirección de correo electrónico real para enviar tus correos de WordPress.
Para saber más, consulta nuestra guía sobre cómo solucionar el problema de que WordPress no envía correos.
Por otro lado, si deseas cambiar esto rápidamente a una dirección de correo electrónico real, puedes agregar el siguiente código en tu archivo de funciones o como un nuevo fragmento de WPCode:
// Function to change email address function wpb_sender_email( $original_email_address ) { return 'tim.smith@example.com'; } // Function to change sender name function wpb_sender_name( $original_email_from ) { return 'Tim Smith'; } // Hooking up our functions to WordPress filters add_filter( 'wp_mail_from', 'wpb_sender_email' ); add_filter( 'wp_mail_from_name', 'wpb_sender_name' ); No olvides reemplazar la dirección de correo electrónico y el nombre con tu propia información.
El problema con este método es que WordPress todavía está usando la función mail() para enviar correos, y es muy probable que dichos correos terminen en spam.
Para mejores alternativas, consulta nuestro tutorial sobre cómo cambiar el nombre del remitente en correos salientes de WordPress.
30. Agregar una caja de información del autor en las publicaciones de WordPress
Si administras un sitio con múltiples autores y quieres mostrar biografías de autores al final de tus publicaciones, puedes probar este método.
Comienza agregando este código a tu archivo functions o como un nuevo fragmento de WPCode:
function wpb_author_info_box( $content ) { global $post; // Detect if it is a single post with a post author if ( is_single() && isset( $post->post_author ) ) { // Get author's display name $display_name = get_the_author_meta( 'display_name', $post->post_author ); // If display name is not available then use nickname as display name if ( empty( $display_name ) ) $display_name = get_the_author_meta( 'nickname', $post->post_author ); // Get author's biographical information or description $user_description = get_the_author_meta( 'user_description', $post->post_author ); // Get author's website URL $user_website = get_the_author_meta('url', $post->post_author); // Get link to the author archive page $user_posts = get_author_posts_url( get_the_author_meta( 'ID' , $post->post_author)); // Get User Gravatar $user_gravatar = get_avatar( get_the_author_meta( 'ID' , $post->post_author) , 90 ); if ( ! empty( $display_name ) ) $author_details = '<p class="author_name">About ' . $display_name . '</p>'; if ( ! empty( $user_description ) ) // Author avatar and bio will be displayed if author has filled in description. $author_details .= '<p class="author_details">' . $user_gravatar . nl2br( $user_description ). '</p>'; $author_details .= '<p class="author_links"><a href="'. $user_posts .'">View all posts by ' . $display_name . '</a>'; // Check if author has a website in their profile if ( ! empty( $user_website ) ) { // Display author website link $author_details .= ' | <a href="' . $user_website .'" target="_blank" rel="nofollow noopener">Website</a></p>'; } else { // if there is no author website then just close the paragraph $author_details .= '</p>'; } // Pass all this info to post content $content = $content . '<footer class="author_bio_section" >' . $author_details . '</footer>'; } return $content; } // Add our function to the post content filter add_action( 'the_content', 'wpb_author_info_box' ); // Allow HTML in author bio section remove_filter('pre_user_description', 'wp_filter_kses'); A continuación, necesitarás agregar algo de CSS personalizado para que se vea mejor.
Puedes usar este CSS de ejemplo como punto de partida:
.author_bio_section{ background: none repeat scroll 0 0 #F5F5F5; padding: 15px; border: 1px solid #ccc; } .author_name{ font-size:16px; font-weight: bold; } .author_details img { border: 1px solid #D8D8D8; border-radius: 50%; float: left; margin: 0 10px 10px 0; } Así es como se verá tu cuadro de autor:

Para un método con plugin e instrucciones más detalladas, consulta nuestro artículo sobre cómo agregar un cuadro de información del autor en publicaciones de WordPress.
31. Desactivar XML-RPC en WordPress
XML-RPC es un método que permite que aplicaciones de terceros se comuniquen con tu sitio de WordPress de forma remota. Esto podría causar problemas de seguridad y ser explotado por hackers.
Para desactivar XML-RPC en WordPress, agrega el siguiente código a tu archivo functions o como un nuevo fragmento de WPCode:
add_filter('xmlrpc_enabled', '__return_false'); Es posible que desees leer nuestro artículo sobre cómo desactivar XML-RPC en WordPress para obtener más información.
32. Vincular automáticamente imágenes destacadas a las publicaciones
Si tu tema de WordPress no vincula automáticamente las imágenes destacadas a los artículos completos, puedes probar este método.
Simplemente agrega este código al archivo functions de tu tema o como un nuevo fragmento de WPCode:
function wpb_autolink_featured_images( $html, $post_id, $post_image_id ) { If (! is_singular()) { $html = '<a href="' . get_permalink( $post_id ) . '" title="' . esc_attr( get_the_title( $post_id ) ) . '">' . $html . '</a>'; return $html; } else { return $html; } } add_filter( 'post_thumbnail_html', 'wpb_autolink_featured_images', 10, 3 ); Quizás quieras leer nuestro artículo sobre cómo enlazar automáticamente las imágenes destacadas a las entradas en WordPress.
33. Desactivar el Editor de Bloques en WordPress
WordPress utiliza un editor moderno e intuitivo para escribir contenido y editar tu sitio web. Este editor usa bloques para elementos de contenido y diseño de uso común, por eso se llama Editor de Bloques.
Sin embargo, es posible que necesites usar el Editor Clásico anterior en algunos casos.
La forma más fácil de deshabilitar el editor de bloques es usando el plugin Classic Editor. Sin embargo, si no quieres usar un plugin separado, simplemente agrega el siguiente código a tu archivo functions o como un nuevo fragmento de WPCode:
add_filter('gutenberg_can_edit_post', '__return_false', 5); add_filter('use_block_editor_for_post', '__return_false', 5); Para más detalles, consulta nuestro tutorial sobre cómo deshabilitar el Editor de Bloques y usar el Editor Clásico.
34. Deshabilitar Widgets de Bloques en WordPress
WordPress cambió de widgets clásicos a widgets de bloques en WordPress 5.8. Los nuevos widgets de bloques son más fáciles de usar y te dan más control de diseño que los widgets clásicos.
Sin embargo, algunos usuarios aún pueden querer usar widgets clásicos. En ese caso, puedes usar el siguiente código en el archivo functions de tu tema o como un nuevo fragmento de WPCode:
add_filter( 'use_widgets_block_editor', '__return_false' ); Para más detalles, consulta nuestro artículo sobre cómo deshabilitar los bloques de widgets (restaurar widgets clásicos).
35. Mostrar la Fecha de Última Actualización en WordPress
Cuando los visitantes ven una publicación o página en tu blog de WordPress, tu tema de WordPress mostrará la fecha en que se publicó la entrada. Esto está bien para la mayoría de los blogs y sitios web estáticos.
Sin embargo, WordPress también es utilizado por sitios web donde los artículos antiguos se actualizan regularmente. En estas publicaciones, mostrar la fecha y hora en que la entrada fue modificada por última vez es esencial.

Puedes mostrar la fecha de última actualización usando el siguiente código en el archivo functions de tu tema o como un nuevo fragmento de WPCode:
$u_time = get_the_time( 'U' ); $u_modified_time = get_the_modified_time( 'U' ); // Only display modified date if 24hrs have passed since the post was published. if ( $u_modified_time >= $u_time + 86400 ) { $updated_date = get_the_modified_time( 'F jS, Y' ); $updated_time = get_the_modified_time( 'h:i a' ); $updated = '<p class="last-updated">'; $updated .= sprintf( // Translators: Placeholders get replaced with the date and time when the post was modified. esc_html__( 'Last updated on %1$s at %2$s' ), $updated_date, $updated_time ); $updated .= '</p>'; echo wp_kses_post( $updated ); } Para métodos alternativos y más detalles, consulta nuestra guía sobre cómo mostrar la fecha de última actualización en WordPress.
36. Usa nombres de archivo en minúsculas para las subidas
Si administras un sitio web con varios autores, es posible que los autores suban imágenes con nombres de archivo en mayúsculas y minúsculas.
Agregar el siguiente código asegura que todos los nombres de archivo estén en minúsculas:
add_filter( 'sanitize_file_name', 'mb_strtolower' ); Nota: El código no cambiará los nombres de archivo de las subidas existentes. Para métodos alternativos, consulta nuestro tutorial sobre cómo renombrar imágenes y archivos multimedia en WordPress.
37. Desactivar la barra de administración de WordPress en el frontend
Por defecto, WordPress muestra la barra de administración en la parte superior cuando un usuario conectado ve tu sitio web.
Puedes desactivar la barra de administración para todos los usuarios excepto para los administradores del sitio. Simplemente agrega el siguiente código a tu archivo functions o como un nuevo fragmento de WPCode:
/* Disable WordPress Admin Bar for all users */ add_filter( 'show_admin_bar', '__return_false' ); Para más detalles, consulta nuestra guía sobre cómo desactivar la barra de administración de WordPress para todos los usuarios excepto administradores.
38. Cambiar el texto 'Howdy Admin' en el área de administración
WordPress muestra un saludo de 'Howdy Admin' en el panel de WordPress. 'Admin' se reemplaza por el nombre del usuario conectado.

Puedes cambiar el saludo predeterminado por el tuyo agregando el siguiente código en tu archivo functions o como un nuevo fragmento de WPCode:
function wpcode_snippet_replace_howdy( $wp_admin_bar ) { // Edit the line below to set what you want the admin bar to display intead of "Howdy,". $new_howdy = 'Welcome,'; $my_account = $wp_admin_bar->get_node( 'my-account' ); $wp_admin_bar->add_node( array( 'id' => 'my-account', 'title' => str_replace( 'Howdy,', $new_howdy, $my_account->title ), ) ); } add_filter( 'admin_bar_menu', 'wpcode_snippet_replace_howdy', 25 ); Para más detalles, consulta nuestro artículo sobre cómo cambiar el mensaje 'Howdy Admin' en WordPress.
39. Deshabilitar edición de código en el editor de bloques
El editor de bloques te permite cambiar al Editor de Código. Esto es útil si necesitas agregar código HTML manualmente.
Sin embargo, es posible que desees limitar esta función a los administradores del sitio.
Puedes agregar el siguiente código a tu archivo functions o como un fragmento de WPCode para lograr esto:
add_filter( 'block_editor_settings_all', function ( $settings ) { $settings['codeEditingEnabled'] = current_user_can( 'manage_options' ); return $settings; } ); 40. Deshabilitar editor de archivos de plugins / temas
WordPress viene con un editor integrado donde puedes editar archivos de plugins. Puedes verlo yendo a la página Plugins » Editor de archivos de plugins.

De manera similar, WordPress también incluye un editor de archivos para temas clásicos en Apariencia » Editor de Archivos del Tema.
Nota: Si usas un tema de bloques, el editor de archivos del tema no será visible.

No recomendamos usar estos editores para hacer cambios en tu tema o plugin. Un pequeño error en el código puede hacer que tu sitio web sea inaccesible para todos los usuarios.
Para deshabilitar el editor de plugins/temas, agrega el siguiente código a tu archivo functions o como un fragmento de WPCode:
// Disable the Plugin and Theme Editor if ( ! defined( 'DISALLOW_FILE_EDIT' ) ) { define( 'DISALLOW_FILE_EDIT', true ); } Para más detalles, consulta nuestro tutorial sobre cómo deshabilitar el editor de plugins/temas en WordPress.
41. Deshabilitar correos electrónicos de notificación de nuevos usuarios
Por defecto, WordPress envía una notificación por correo electrónico cuando un nuevo usuario se une a tu sitio web de WordPress.
Si administras un sitio web de membresía de WordPress o requieres que los usuarios se registren, recibirás una notificación cada vez que un usuario se una a tu sitio web.
Para desactivar estas notificaciones, puedes agregar lo siguiente a tu archivo functions o como un nuevo fragmento de WPCode:
function wpcode_send_new_user_notifications( $user_id, $notify = 'user' ) { if ( empty( $notify ) || 'admin' === $notify ) { return; } elseif ( 'both' === $notify ) { // Send new users the email but not the admin. $notify = 'user'; } wp_send_new_user_notifications( $user_id, $notify ); } add_action( 'init', function () { // Disable default email notifications. remove_action( 'register_new_user', 'wp_send_new_user_notifications' ); remove_action( 'edit_user_created_user', 'wp_send_new_user_notifications' ); // Replace with custom function that only sends to user. add_action( 'register_new_user', 'wpcode_send_new_user_notifications' ); add_action( 'edit_user_created_user', 'wpcode_send_new_user_notifications', 10, 2 ); } ); Para más detalles, consulta nuestro tutorial sobre cómo deshabilitar las notificaciones por correo electrónico de nuevos usuarios en WordPress.
42. Deshabilitar notificaciones por correo electrónico de actualizaciones automáticas
Ocasionalmente, WordPress puede instalar automáticamente actualizaciones de seguridad y mantenimiento o actualizar un plugin con una vulnerabilidad crítica.
Envía una notificación automática por correo electrónico después de cada actualización. Si administras varios sitios web de WordPress, podrías recibir varios correos de este tipo.
Puedes agregar este código a tu archivo functions o como un nuevo fragmento de WPCode para desactivar estas notificaciones por correo electrónico:
/ Disable auto-update emails. add_filter( 'auto_core_update_send_email', '__return_false' ); // Disable auto-update emails for plugins. add_filter( 'auto_plugin_update_send_email', '__return_false' ); // Disable auto-update emails for themes. add_filter( 'auto_theme_update_send_email', '__return_false' ); Para obtener más información, consulta nuestro artículo sobre cómo deshabilitar los correos electrónicos de actualización automática en WordPress.
43. Añadir un enlace para duplicar fácilmente una entrada
¿Alguna vez has deseado una forma más fácil de copiar rápidamente todo el contenido de una entrada para editarla sin tocar la entrada publicada?
El siguiente fragmento de código añadirá una opción para duplicar fácilmente una entrada con todo su contenido:
// Add duplicate button to post/page list of actions. add_filter( 'post_row_actions', 'wpcode_snippet_duplicate_post_link', 10, 2 ); add_filter( 'page_row_actions', 'wpcode_snippet_duplicate_post_link', 10, 2 ); // Let's make sure the function doesn't already exist. if ( ! function_exists( 'wpcode_snippet_duplicate_post_link' ) ) { /** * @param array $actions The actions added as links to the admin. * @param WP_Post $post The post object. * * @return array */ function wpcode_snippet_duplicate_post_link( $actions, $post ) { // Don't add action if the current user can't create posts of this post type. $post_type_object = get_post_type_object( $post->post_type ); if ( null === $post_type_object || ! current_user_can( $post_type_object->cap->create_posts ) ) { return $actions; } $url = wp_nonce_url( add_query_arg( array( 'action' => 'wpcode_snippet_duplicate_post', 'post_id' => $post->ID, ), 'admin.php' ), 'wpcode_duplicate_post_' . $post->ID, 'wpcode_duplicate_nonce' ); $actions['wpcode_duplicate'] = '<a href="' . $url . '" title="Duplicate item" rel="permalink">Duplicate</a>'; return $actions; } } /** * Handle the custom action when clicking the button we added above. */ add_action( 'admin_action_wpcode_snippet_duplicate_post', function () { if ( empty( $_GET['post_id'] ) ) { wp_die( 'No post id set for the duplicate action.' ); } $post_id = absint( $_GET['post_id'] ); // Check the nonce specific to the post we are duplicating. if ( ! isset( $_GET['wpcode_duplicate_nonce'] ) || ! wp_verify_nonce( $_GET['wpcode_duplicate_nonce'], 'wpcode_duplicate_post_' . $post_id ) ) { // Display a message if the nonce is invalid, may it expired. wp_die( 'The link you followed has expired, please try again.' ); } // Load the post we want to duplicate. $post = get_post( $post_id ); // Create a new post data array from the post loaded. if ( $post ) { $current_user = wp_get_current_user(); $new_post = array( 'comment_status' => $post->comment_status, 'menu_order' => $post->menu_order, 'ping_status' => $post->ping_status, 'post_author' => $current_user->ID, 'post_content' => $post->post_content, 'post_excerpt' => $post->post_excerpt, 'post_name' => $post->post_name, 'post_parent' => $post->post_parent, 'post_password' => $post->post_password, 'post_status' => 'draft', 'post_title' => $post->post_title . ' (copy)',// Add "(copy)" to the title. 'post_type' => $post->post_type, 'to_ping' => $post->to_ping, ); // Create the new post $duplicate_id = wp_insert_post( $new_post ); // Copy the taxonomy terms. $taxonomies = get_object_taxonomies( get_post_type( $post ) ); if ( $taxonomies ) { foreach ( $taxonomies as $taxonomy ) { $post_terms = wp_get_object_terms( $post_id, $taxonomy, array( 'fields' => 'slugs' ) ); wp_set_object_terms( $duplicate_id, $post_terms, $taxonomy ); } } // Copy all the custom fields. $post_meta = get_post_meta( $post_id ); if ( $post_meta ) { foreach ( $post_meta as $meta_key => $meta_values ) { if ( '_wp_old_slug' === $meta_key ) { // skip old slug. continue; } foreach ( $meta_values as $meta_value ) { add_post_meta( $duplicate_id, $meta_key, $meta_value ); } } } // Redirect to edit the new post. wp_safe_redirect( add_query_arg( array( 'action' => 'edit', 'post' => $duplicate_id ), admin_url( 'post.php' ) ) ); exit; } else { wp_die( 'Error loading post for duplication, please try again.' ); } } ); Después de añadir el código, ve a la pantalla Entradas » Todas las entradas y pasa el ratón sobre el título de una entrada.
Notarás un nuevo enlace 'Duplicar' debajo de las opciones.

Hacer clic en el enlace creará una copia de la entrada con todo su contenido. Luego podrás trabajar en ese borrador.
Una vez terminado, puedes copiar y pegar tus cambios en la entrada publicada original y eliminar la copia.
Para un método con plugin, consulta nuestro artículo sobre duplicar una entrada o página de WordPress.
44. Eliminar el panel de bienvenida del panel de administración de WordPress
El panel de bienvenida aparece en el panel de administración de WordPress. Se puede descartar o ocultar fácilmente haciendo clic en el botón 'Opciones de pantalla'.

Sin embargo, si estás trabajando para ofrecer una experiencia de panel más limpia a los usuarios, es posible que desees ocultarlo permanentemente.
Añade el siguiente código para deshabilitarlo para todos los usuarios de tu sitio:
add_action( 'admin_init', function () { remove_action( 'welcome_panel', 'wp_welcome_panel' ); } ); 45. Añadir una columna de imagen destacada para las entradas en el administrador de WordPress
Por defecto, WordPress solo muestra las imágenes destacadas cuando visitas tu sitio o cuando editas una entrada o página.
El siguiente código añadirá una nueva columna a la pantalla Entradas » Todas las entradas para las imágenes destacadas:
add_filter( 'manage_posts_columns', function ( $columns ) { // You can change this to any other position by changing 'title' to the name of the column you want to put it after. $move_after = 'title'; $move_after_key = array_search( $move_after, array_keys( $columns ), true ); $first_columns = array_slice( $columns, 0, $move_after_key + 1 ); $last_columns = array_slice( $columns, $move_after_key + 1 ); return array_merge( $first_columns, array( 'featured_image' => __( 'Featured Image' ), ), $last_columns ); } ); add_action( 'manage_posts_custom_column', function ( $column ) { if ( 'featured_image' === $column ) { the_post_thumbnail( array( 300, 80 ) ); } } ); Así es como se vería después de agregar el código.

46. Bloquear el área de administración de WordPress para todos excepto los administradores
Algunos sitios web de WordPress pueden requerir que los usuarios registren una cuenta. Por ejemplo, un sitio de membresía de WordPress o una tienda de comercio electrónico.
La mayoría de estos complementos evitarán que esos usuarios accedan al área de administración. Sin embargo, si no estás utilizando un complemento de este tipo, puedes agregar el siguiente código para bloquear a todos los usuarios, excepto a los administradores, de acceder al área de administración:
add_action( 'admin_init', function() { if ( ! current_user_can( 'administrator' ) ) { wp_redirect( home_url() ); exit; } } ); Los usuarios con otros roles de usuario aún pueden iniciar sesión en sus cuentas, pero después de iniciar sesión, serán redirigidos a la página de inicio.
Esperamos que este artículo te haya ayudado a aprender algunos trucos útiles nuevos para el archivo functions.php en WordPress. También te puede interesar nuestra guía sobre cómo mostrar código en WordPress para compartir tus fragmentos fácilmente y nuestras selecciones expertas de los mejores editores de código para Mac y Windows.
Si te gustó este artículo, suscríbete a nuestro canal de YouTube para obtener tutoriales en video de WordPress. También puedes encontrarnos en Twitter y Facebook.


Anders
Thanks for the extremely helpful tips
¿Cómo puedo agregar más detalles a la caja del autor (enlaces a redes sociales)?
Soporte de WPBeginner
Si te gustaría agregar más información a tu cuadro de autor, ¡te recomendamos echar un vistazo a nuestro artículo a continuación!
https://www.wpbeginner.com/wp-tutorials/how-to-add-an-author-info-box-in-wordpress-posts/
Administrador
Robert Phillips-Legge
Algunos consejos útiles, pero hay una cosa a tener en cuenta. Si creas un tema secundario (Child Theme), puedes actualizar functions.php con impunidad porque cualquier actualización del tema no lo afectará. Además, en un sitio web, WP-Code fue el culpable de impedir el acceso al sitio. Al intentar marcar un fragmento como no utilizado, se bloqueó y tuve que eliminarlo a nivel del sistema de archivos. Afortunadamente, tenía todos los fragmentos de código en un archivo separado y pude actualizar functions.php en el tema secundario y copiar CSS en el tema y poner en cola los archivos JavaScript. WP-Code es bueno, pero no perfecto. Asegúrate de tener un Plan B.
Además, Google dice, en sus páginas de Page Lightspeed, que no te penalizan en SEO por tener muchos plugins. Lo único que les interesa es la calidad del código. Si es malo, te penalizarán. Si es bueno, conservarás tu Estrella Dorada y una Marca de Verificación.
Dennis Muthomi
Esto es una mina de oro
Me encantó la columna de imagen destacada en el área de administración (#45). Administro un sitio con mucho contenido y esto ha marcado una gran diferencia en mi flujo de trabajo.
Lo que me encanta de sus artículos es que consistentemente proporcionan código que aborda los problemas exactos que estoy enfrentando, y la mejor parte es que el código siempre funciona perfectamente.
¡Gracias por este artículo WPBeginner!
Mrteesurez
Es una buena práctica y siempre es recomendable agregar código personalizado con WPcode, es una bendición tener un plugin así.
¿Cómo mantendrán los fragmentos de código agregados directamente al archivo functions? Sería una mala experiencia para sus usuarios si se equivocan con algunos códigos vitales del archivo functions y de repente rompen su sitio.
¡Gracias por esos fragmentos y consejos para asegurar y mejorar nuestros sitios.
Jiří Vaněk
Exactamente como lo escribiste, Mrteesurez. A veces es mejor dejar los fragmentos de código al software, porque una persona puede hacerse daño muy fácilmente en lugar de ayudarse. La segunda cosa, igualmente importante, que también mencionaría, es que gracias a WP Code, no perderás tus códigos cuando la plantilla se actualice o cuando la cambies por otra. Este es también un beneficio muy bueno e importante que vale la pena mencionar.
Mrteesurez
Gracias por tu valiosa contribución y por señalar esta perspectiva crucial. Tienes toda la razón, dejar el código al software puede prevenir problemas potenciales que podrían surgir de errores manuales. Además, que WPcode preserve las personalizaciones durante las actualizaciones es un gran avance, ya que no temeré perder las personalizaciones que he agregado con código. Gracias de nuevo por resaltar esto.
Moinuddin Waheed
Tanto por lograr con la ayuda de functions.php
Creo que este es el núcleo de WordPress y si hacemos demasiado con él, podemos perder muchas funcionalidades centrales.
Dicho esto, usar wpcode es una idea inteligente para insertar cualquier cosa para la funcionalidad sin comprometer el núcleo de WordPress.
Sin embargo, tengo una pregunta: si wpcode no inserta su código en el functions.php principal, ¿cómo funciona?
Y si lo inserta en el mismo, ¿cómo es que la actualización de WordPress no lo borra?
Soporte de WPBeginner
El código se almacena en tu base de datos y el plugin se engancha al código de diferentes maneras, dependiendo de cómo lo configures en el plugin.
Administrador
Mrteesurez
Gracias por esta respuesta. Tenía curiosidad por saber cómo funciona este WPcode, que la nueva actualización no borró los fragmentos de código y al cambiar de tema. Tu respuesta me lo ha aclarado, aprecio este apoyo.
Jiří Vaněk
He notado que en algunos sitios web, la parte superior del navegador cambia de color, específicamente en Chrome para móviles. ¿Tienes algún fragmento probado que logre esto?
Soporte de WPBeginner
Tenemos una guía para esto, puedes ver nuestra guía a continuación:
https://www.wpbeginner.com/wp-tutorials/how-to-change-the-color-of-address-bar-in-mobile-browser-to-match-your-wordpress-site/
Administrador
Jiří Vaněk
Gracias. Lo probé en mi propio sitio web y funciona perfectamente. Aunque solo en Chrome, pero funciona.
Ralph
A lot of great ideas explained in novice friendly way. Thanks! I will try adding featured images to RSS feeds. It never worked before for some reason and now it will
Soporte de WPBeginner
Glad to hear you found our tricks helpful
Administrador
Ben
Esta es una idea bastante peligrosa. Las cadenas de consulta existen con el propósito de romper la caché, es decir, asegurarse de que el usuario final tenga la última versión de tus archivos js y css.
Eliminar esas va a causar todo tipo de problemas para los usuarios recurrentes más adelante, ya que su navegador asumirá que nada ha cambiado y usará su versión en caché en lugar de descargar la nueva.
Si por alguna razón necesitas apuntar a un archivo específico y eliminar la cadena de consulta (lo cual he tenido que hacer), puedes usar este fragmento de código:
// elimina la versión de scripts y estilos
function remove_version_scripts_styles($src) {
if (strpos($src, ‘yourfile.js’)) {
$src = remove_query_arg(‘ver’, $src);
}
return $src;
}
add_filter(‘script_loader_src’, ‘remove_version_scripts_styles’, 9999);
Gean Paulo Francois
Artículo muy útil. Acabo de guardar esta página sin conexión para poder insertar algunos de estos en mis sitios web. De todos modos, ¿debo agregar los códigos a functions.php y no a ningún otro lugar?
Soporte de WPBeginner
Correcto, estos códigos son para tu archivo functions.php.
Administrador
Hussain Badusha
Buen compendio de algunos trucos y funciones útiles para WordPress. Agregué bastantes cosas nuevas a mi conocimiento de WordPress después de leerlo.
Espero aún más de ti si deseas
Soporte de WPBeginner
Glad you found our guide helpful
Administrador
Satinder Satsangi
¡Oh, wow!
Esto salva vidas la mayoría de las veces, me gustaría saber más sobre funciones útiles.
Soporte de WPBeginner
Glad you found our guide helpful
Administrador
vivek
Buen artículo,
Solo tengo la duda de si debo agregar estos códigos en el plugin de snippets o en algún archivo. Si es en el plugin de snippets, no está funcionando. Por favor, ilústrame.
Gracias
Soporte de WPBeginner
Agregarías estos códigos como un plugin personalizado o, más comúnmente, en tu archivo functions.php
Administrador
Beulah Wellington
Gracias por este tutorial. Aprendí mucho. Lo leeré de nuevo.
Soporte de WPBeginner
You’re welcome, glad our guide can continue to help you
Administrador
Ali Jahani
Hola
Muchas gracias...
wpbeginner es un gran equipo
Soporte de WPBeginner
You’re welcome, glad you like our content
Administrador
VISHAL CHOWDHRY
Superb Article.
Waiting for more of this
Soporte de WPBeginner
Thank you, glad you liked our content
Administrador
Miley Cyrus
Gran artículo, es realmente informativo e innovador, mantennos al tanto de las nuevas actualizaciones. Fue realmente valioso. Muchas gracias.
Soporte de WPBeginner
Glad our article could be helpful
Administrador
John Dee
Casi NINGUNO de estos fragmentos de código pertenece al archivo functions.php de tu tema. Solo unos pocos están relacionados con el tema en sí. Los temas son para la APARIENCIA. Crea un PLUGIN para la funcionalidad. En cualquier caso, iría en el archivo functions.php del tema hijo.
Soporte de WPBeginner
Gracias por señalar esto, aunque mencionamos plugins específicos del sitio al principio de este artículo, nos aseguraremos de considerar hacer esa declaración más clara.
Administrador
Suman Samanta
Buena información para nuevos bloggers. Es realmente útil.
Richard Yzenbrandt
Muchas gracias por poner este recurso a disposición. ¡WP para Principiantes es el mejor sitio al que acudir en la web!
alok patel
Oye, no puedo agregar mi publicación a una página específica. Cuando escribo una entrada de blog, se muestra en la página de inicio, pero quiero que también aparezca en páginas específicas donde quiero agregarla. ¿Cómo puedo resolver este problema? Por favor, ayúdame lo antes posible. Si hay algún enlace de video, por favor compártelo en la respuesta. Me estoy confundiendo demasiado.
DONALD
Estoy creando un formulario para recopilar datos de mis usuarios.
He creado la base de datos desde myphpAdmin
He creado el formulario.
Ahora he creado un nuevo archivo php en mi tema hijo
También lo referencié en el formulario usando action = “name.php”
Ahora espero que recopile los detalles de registro de las personas.
Pero al hacer clic en enviar en el formulario, dice, página no encontrada.
No sé qué es lo que no estoy haciendo bien.
Por favor, ayúdenme
marvin N N
¿Hay algún plugin que se pueda usar para personalizar la configuración del menú predeterminado de un tema según tu gusto?
Sazzad Hossain
Gracias por estos códigos.
Shafiq Khan
Publicación muy útil, gracias.
Una pregunta – Porque estás actualizando el functions.php de un tema.
Si actualizas el tema, pierdes tus ajustes.
¿Hay alguna forma de evitar esto? ¿Es solo una cuestión de usar un tema hijo?
Gracias
Lisa
Hola Shafiq,
Cualquier cambio que hagas en un tema padre será sobrescrito cuando lo actualices. Es una buena práctica trabajar con un tema hijo al hacer cambios en un tema que no construiste y que se va a actualizar, para que puedas conservar los cambios que hiciste.
Jan
I use the plugin ‘My Custom Functions’ – it is simply adding all functions to the functions.php automatically – so no re-writing after every update needed
Jane Lawson
Esto es tarde, pero también puedes crear un plugin para tu sitio (por ejemplo, "plugin personalizado de [Nombre del sitio]"). Requiere un poco de experiencia, sin embargo, ya que algunas funciones chocan con otros plugins/el tema del sitio.
Neil
Excellent post – thank you for the tips & tricks. They are all very helpful
Karakaplan
¿Cómo usar estos anteriores con el archivo functions del tema hijo?
Minhaz
Nada diferente con el functions.php del tema padre o hijo
Joe
No he trabajado mucho con el archivo functions, así que fue bueno ver este artículo.
Gracias.
Jorge Rosa
Grandes fragmentos. Muy prácticos y útiles. ¡Gracias!
sriganesh
este es el mejor sitio para wordpress
Soporte de WPBeginner
Thanks for the kind words
Administrador
Bilal
¿Me podrías recomendar un libro muy fácil sobre WordPress.
Soy muy nuevo en este campo.
Gracias de antemano.
Al1
Otro más:
// Eliminar cadena de consulta de archivos estáticos :
function remove_cssjs_ver( $src ) {
if( strpos( $src, ‘?ver=’ ) )
$src = remove_query_arg( ‘ver’, $src );
return $src;
}
add_filter( ‘style_loader_src’, ‘remove_cssjs_ver’, 10, 2 );
add_filter( ‘script_loader_src’, ‘remove_cssjs_ver’, 10, 2 );
siva
Gran publicación, ¿podrías proporcionar todas las funciones de WordPress con ejemplos?
shojib
Este es el mejor blog para usuarios de Wordpress.
Parveen
¡¡¡Gran publicación!!!
Soy nuevo y busco este tipo de trucos.
Gracias.
Deepak Kanyan
Realmente un buen blog. He aprendido muchas cosas de aquí, gracias administrador.
Andrew
Intenté con el #16 para agregar la miniatura destacada de la publicación a mi feed RSS, pero cuando lo probé en Mailchimp (pausé mi campaña y previsualicé) parece que ha cambiado de "resumen" a "texto completo". ¿Es este el comportamiento esperado? Quiero dejar los correos electrónicos (impulsados por RSS) como resumen, y simplemente agregar la imagen destacada en la parte superior.
Gracias por cualquier ayuda, no encuentro esto en Google en ninguna parte.
Soporte de WPBeginner
Puedes intentar reemplazar get_the_content() con get_the_excerpt().
Administrador
Em Cloney
re: eliminar el feed RSS para páginas estáticas: ¿es correcto que el archivo de texto que se reemplazaría en ese código es 'url' (con un enlace de página, incluido) y 'homepage' (si quisieras que dijera algo más, como 'otro sitio')?
Mohan Manohar
Esta es una lista enorme y de gran ayuda. Me gustaría saber si la primera parte del código del contador de Twitter se pega en function.php o directamente en el widget de texto del tema.
grafx
Hay una forma más fácil de eliminar el número de versión de WordPress...
remove_action(‘wp_head’, ‘wp_generator’);
DANISH
such a great and useful tricks..
Marco
¡muchas gracias!
Webtechideas
Una buena lista de trucos útiles. Ayudará tanto a los desarrolladores de plugins como de temas.
ahmed
En el #14, ¿no es eso un en lugar de ?
Mick O
Gracias por el útil artículo. Realmente lo aprecio. ¿Podrías explicar por qué el fragmento para agregar el código de Google Analytics (#1) incluye las declaraciones de php? Si tengo un archivo functions.php existente que ya está definido con , ¿necesito incluir las marcas de nuevamente en el fragmento? Estoy tratando de agregar otras personalizaciones a functions.php y se está volviendo difícil de seguir.
Personal editorial
Incluye la apertura de php porque es la etiqueta de cierre de PHP para permitirte pegar código de Google Analytics en HTML plano.
Administrador
Luke Gibson
El de la fecha de copyright parece un poco exagerado cuando simplemente podrías copiar y pegar © 2006- y haría exactamente el mismo trabajo, solo reemplaza 2006 con la fecha de inicio estática que desees. ¿O me estoy perdiendo algo?
Personal editorial
Sí, definitivamente puedes hacer eso. Pero si lo estás lanzando como parte de un tema destinado a la distribución, entonces no puedes hacerlo.
Administrador
Zeeshan Arshad
Excelente, había terminado con mi tema y aprendizaje, pero quedaba mucho. Esta publicación me salvó el día y, por supuesto, aprendí muchas cosas también.
¡Mis mejores deseos!
DesignSkew
En "Agregar campos de perfil de autor", la función que mencionaste para mostrar no está funcionando.
Personal editorial
El curauth solo funcionaría si está en el archivo author.php.
Administrador
Mark
Gran conjunto de herramientas. Inmediatamente copié la función de autor invitado al verla y ahora deshabilitaré un plugin torpe que he estado usando. ¿Tienes una función que proporcione el ID de la publicación del elemento con el que se está trabajando en el editor? Estoy tratando de autocompletar un formulario con archivos adjuntos multimedia para la publicación actual, pero solo he podido hacer que funcione en un meta-box personalizado, pero no en un thickbox. El thickbox devuelve todos los archivos multimedia de todas las publicaciones cuando solo quiero los archivos adjuntos de la publicación actual.
mamá bloguera
¡Gracias por los excelentes consejos de Wordpress! ¿Esperaba que pudieras ayudarme con uno adicional?
Me gustaría evitar que mis etiquetas/categorías se extiendan a otra línea limitando el número de etiquetas/categorías que aparecen en el pie de página de las publicaciones de mi página de inicio individual. ¿Es posible hacer esto con el “the_excerpt”? También me gustaría que el extracto fuera un enlace de “…leer más” y limitar el número de caracteres en él. Aquí está el código al que necesitaría agregarse;
$tags_list = get_the_tag_list( ”, __( ‘, ‘, ‘mummyblog’ ) ); if ( $tags_list ): ?> <li> <?php printf( __( ‘<span class=”%1$s”>Etiquetado</span> %2$s’, ‘mummyblog’ ), ‘entry-utility-prep entry-utility-prep-tag-links’, $tags_list ); ?> </li> <?php endif; // Fin si $tags_list ?>
¡Gracias!
SteveEBoy
Como todos los demás han dicho abajo, simplemente demasiado bueno, una gran ayuda para un novato y muy útil para aprender también. Gran sitio en general. Gracias.