Personalizar el archivo functions.php WordPress | 20+ Consejos [10-2022]

Personalizar el archivo functions.php WordPress | 20+ Consejos [10-2022] 1

A continuación, los mejores trucos para personalizar tu functions.php WordPress, para definir las características y funciones de los temas.


Todos los temas de WordPress vienen con un archivo function.php por defecto. Este archivo es un tipo de plugin que te permite hacer muchas cosas interesantes en tu sitio de WordPress.

Vamos a compartir algunos de los mejores trucos para personalizar tu functions.php WordPress. Este archivo permite a los desarrolladores de temas definir sus características y funciones.

functions.php WordPress se utiliza como un plugin de WordPress y es ideal para añadir tus fragmentos de código personalizados a WordPress.

¿Dónde esta functions php WordPress?

La ubicación del archivo functions.php está en la carpeta de tu tema.

Si quieres incorporar un fragmento de código a tu sitio de WordPress, añadirlo al archivo functions.php es una opción.

Recomendamos utilizar un tema hijo en lugar de editar directamente los archivos de tu sitio.

Otra opción para acceder al archivo functions.php es a través de la interfaz de administración de WordPress.

¿Cuál es la diferencia entre un plugin específico de WordPress y un archivo functions.php WordPress?

Seguramente un plugin específico del sitio es más rápido y cómodo que el archivo WordPress functions php. Sin embargo, podemos decir que como el functions.php WordPress no depende de tu tema de WordPress, funcionará con cualquier tema.

A pesar de ello, existen ciertos archivos function php de determinados temas, que sólo funcionan con ese tema. En ese caso, tendrás que copiar y pegar los códigos personalizados en tu nuevo tema.

Consideraciones previas

Es importante que tengas en cuenta, que si decides editar tu archivo functions.php, debes ser muy precavido y cuidadoso, ya que cometer errores de codificación en el archivo functions puede bloquear tu sitio.

Cometer un error de codificación en tu archivo functions.php también puede conducir a otros errores de WordPress.

Recuerda que es recomendable editar un archivo functions.php si tienes un tema hijo y utilizar los fragmentos de código sólo con el child theme activo.

Por ejemplo, puede que quieras incluir fragmentos para fuentes personalizadas, hojas de estilo o añadir un archivo de traducción de idiomas específicamente para ese tema hijo en particular.

Ahora bien, teniendo en cuenta éstas consideraciones, aquí tienes algunos consejos sobre el archivo functions.php WordPress.

Trucos para el functions.php WordPress:

Eliminar el número de versión de WordPress

Es una buena idea utilizar la versión más reciente de WordPress. Es posible que quieras eliminar el número de versión de WordPress de tu sitio. Añade este fragmento de código en tu archivo de funciones o functions.php WordPress:

function wpb_remove_version() {
return '';
}
add_filter('the_generator', 'wpb_remove_version');

Añade tu propio logo en tu WordPress

Área de administrador para WordPress de marca blanca. Primero debes añadir tu logotipo. Sube tu logotipo a la carpeta de archivos del tema como custom-logo.png. Tu logotipo personalizado debe medir 16×16 píxeles. Este código puede añadirse al archivo de funciones de tu tema o functions.php WordPress.

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');

Panel de administración de WordPress: Modificar el pie de página

texto del pie de página del backend de wordpress

El pie de página del área de administración de WordPress muestra “Gracias por usar WordPress”. Puedes cambiar el mensaje utilizando este código.

function remove_footer_admin () {
 
echo 'Fueled by <a href="http://www.wordpress.org" target="_blank">WordPress</a>
 | WP Tutorials: <a href="https://www.webstick.blog" target="_blank">WP</a></p>';
 
}
 
add_filter('admin_footer_text', 'remove_footer_admin');

Añadir widgets personalizados en el panel de control de WordPress

Lo más probable es que hayas visto widgets que te permiten añadir diferentes temas y plugins a tu panel de control de WordPress. Puedes incorporar uno como desarrollador de temas copiando el siguiente código function php.

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 this custom blogtheme! Get in contact with the developer, <a href="mailto:[email protected]">klik hier</a>. Click for WordPress Tutorials: <a href="https://www.webstick.blog" target="_blank">Webstick</a></p>';
}	

Cambiar el Avatar por defecto en WordPress

Es posible que hayas visto el avatar del hombre misterioso por defecto en los blogs. Es fácil sustituirlo por defecto en los blogs por uno que represente tu marca. Sube la imagen que deseas que sea el avatar por defecto, y luego añade el código a tu functions.php WordPress.

add_filter( 'avatar_defaults', 'wpb_new_gravatar' );
function wpb_new_gravatar ($avatar_defaults) {
$myavatar = 'http://voorbeeld-site.nl/wp-content/uploads/2019/06/wpb-default-gravatar.png';
$avatar_defaults[$myavatar] = "Standaard Gravatar";
return $avatar_defaults;
}

Ahora puedes ir a la página “Configuración” y seleccionar tu avatar por defecto.

Gravatar estándar de WordPress functions.php wordpress

Fechas dinámicas de copyright en tu pie de página de WordPress

Editando la plantilla del pie de página de tu tema puedes añadir la fecha de copyright. No será visible cuando tu sitio se lance y no cambiará automáticamente el próximo año. Este código puede utilizarse para añadir un año de copyright dinámico al 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;
}                 

Una vez que hayas añadido esta función, ve a tu footer.php e inserta el siguiente código donde quieras mostrar el día de copyright dinámico:

<?php echo wpb_copyright(); ?>

Esta función busca la fecha del primer y último mensaje. A continuación, la función hace un eco de los años cada vez que mencionas el puesto.

Cambia tu color de fondo de forma aleatoria en WordPress

Puedes cambiar aleatoriamente el color de fondo de WordPress en cada carga de página. Así es como se hace. Este código debe añadirse al archivo functions.php WordPress de tu tema.

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, tienes que editar el archivo header.php de tu tema. Busca la etiqueta <body> y sustitúyela por la siguiente línea:

<body <?php body_class(); ?> style="background-color:<?php wpb_bg();?>">>

Ahora puedes guardar los cambios y entrar en tu sitio web para verlo en acción.

Cambiar el color de fondo de WordPress

Actualizar WordPress-URLs

Necesitas actualizar las URLs de WordPress si tu página de inicio de sesión de WordPress no se carga o se recarga con frecuencia.

Puedes hacerlo utilizando el archivo WordPress functions php. Sin embargo, si haces esto, no podrás cambiar la dirección en la página de configuración. Los campos URL del sitio y URL de WordPress no se pueden editar. Esto se puede solucionar añadiendo este código a tu función. Asimismo, puedes editar las URL en la base de datos utilizando MyPHPadmin.

update_option( 'siteurl', 'http://example-site.com' );
update_option( 'home', 'http://example-site.com' );

No olvides sustituir ejemplo-sitio.com por tu nombre de dominio. Entra y ve a Configuración para establecer las URLs. Tendrás que eliminar cualquier código que hayas añadido a tu archivo de características. De lo contrario, seguirá actualizando las URLs cada vez que abras tu sitio.

Añadir tamaños de imagen adicionales a WordPress

WordPress genera automáticamente diferentes formatos para las imágenes cuando las subes. Se pueden crear tamaños de imagen adicionales para tu tema. Este código se puede añadir al archivo de funciones de tu tema.

add_image_size( 'sidebar-thumb', 120, 120, true ); // Hard Crop
add_image_size( 'homepage-thumb', 220, 180 ); // Soft Crop
add_image_size( 'singlepost-thumb', 590, 9999 ); // Unlimited Height

Este código crea tres formatos de imagen de diferentes tamaños. Puedes modificar el código para adaptarlo a tus necesidades. Este código te permite mostrar determinados tamaños de imágenes en cualquier lugar de tu tema.

<?php the_post_thumbnail( 'homepage-thumb' ); ?>

Añade un nuevo menú de navegación a tu tema

WordPress permite a los desarrolladores de temas crear y mostrar menús de navegación. Para añadir este código al archivo de funciones de tu tema, puedes definir una nueva ubicación para tu menú.

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’ y verás ‘Mi menú personalizado’ como opción de ubicación del tema.

Menús extra de WordPress

Este código debe añadirse a tu tema, donde desees que aparezca el menú de navegación.

<?php
wp_nav_menu( array( 
    'theme_location' => 'my-custom-menu', 
    'container_class' => 'custom-menu-class' ) ); 
?>

Añade campos de perfil para tus autores

¿Quieres añadir más campos a tus perfiles de autor en WordPress? Puedes añadir este código a tu archivo de funciones.

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 añadirá campos de Twitter & Facebook a los perfiles de usuario en WordPress.

campos adicionales perfiles de usuario WP

Estos campos ahora se pueden mostrar en tu plantilla de autor como la siguiente:

<?php echo $curauth->twitter; ?>

Puedes añadir áreas de widgets y barras laterales ya preparadas a los temas de WordPress

Los temas premium facilitan mucho la creación de barras laterales. Ésta es muy popular y muchos desarrolladores la conocen. Es una gran herramienta y merece ser incluida en la lista. Copia el siguiente código en tu archivo function php o functions.php WordPress

// 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' );

Procede a ir a ‘Apariencia’ – ‘Widgets’ en el back-end y verás tu recién creada área de widgets personalizados.

nuevos widgets en el back-end

Este código mostrará el área de widgets o la barra lateral de tu tema.

<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('custom_sidebar') ) : ?>
<!–Default sidebar info goes here–>
<?php endif; ?>

Ocultar los errores de inicio de sesión de WordPress

Los hackers pueden utilizar los errores de inicio de sesión de WordPress para averiguar si alguien ha introducido una contraseña o un nombre de usuario incorrectos. Puedes hacer que tu área de inicio de sesión de WordPress sea más segura ocultando los errores de inicio de sesión.

function no_wordpress_errors(){
  return 'Something is wrong!';
}
add_filter( 'login_errors', 'no_wordpress_errors' );

Los usuarios verán ahora un mensaje estándar si escriben un nombre de usuario/contraseña incorrectos.

no hay pistas de inicio de sesión wordpress

Iniciar sesión en WordPress con direcciones de correo electrónico

WordPress permite a los usuarios iniciar sesión en el sitio con un nombre de usuario o una dirección de correo electrónico. Puedes añadir este código a tu functions.php WordPress para desactivar el inicio de sesión por correo electrónico.

remove_filter( 'authenticate', 'wp_authenticate_email_password', 20 );

Desactivar la búsqueda en WordPress

Este código se puede añadir a tu archivo de funciones para desactivar la funcionalidad de búsqueda en los sitios de WordPress.

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;" ) );

Puedes cambiar el texto “leer más” para acceder a los extractos en WordPress

¿Deseas modificar el texto después del extracto? Este código se puede añadir al archivo functions.php WordPress de tu tema.

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' );

Desactivar los canales RSS en WordPress

Los canales RSS no son necesarios para todos los sitios web. Este código puede añadirse al archivo de funciones de tu tema de WordPress para desactivar los canales RSS.

function fb_disable_feed() {
wp_die( __('No feed available,please visit our <a href="'. get_bloginfo('url') .'">homepage</a>!') );
}

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);

Cambiar la longitud del extracto en WordPress

WordPress restringe la longitud de un extracto a 55 palabras. Puedes añadir este código a tu archivo de funciones para modificar la longitud del extracto. Si deseas, puedes modificar el número 100 para indicar cuántas palabras quieres que aparezcan en los extractos.

function new_excerpt_length($length) {
return 100;
}
add_filter('excerpt_length', 'new_excerpt_length');

Añadir un usuario administrador en WordPress

Puedes crear un administrador si olvidas tu contraseña o dirección de correo electrónico de WordPress. Este código puede añadirse al WordPress functions php o functions.php de tu tema a través de un cliente FTP, del panel de alojamiento o introduciendo este código directamente en tu tema.

function wpb_admin_account(){
$user = 'Username';
$pass = 'Password';
$email = '[email protected]';
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');

Recuerda colocar tu nombre de usuario, contraseña y correo electrónico. No olvides eliminar el código de tu carpeta de funciones después de iniciar sesión en tu sitio de WordPress.

Elimina el panel de bienvenida de tu panel de control de WordPress

Eliminar el panel de bienvenida del panel de control de WordPress

El panel de control del área de administración de WordPress tiene ahora una pantalla de bienvenida. Esta pantalla proporciona atajos útiles para que los nuevos usuarios de WordPress puedan hacer cosas. Se puede ocultar fácilmente añadiendo el siguiente código en tu archivo de funciones.

remove_action('welcome_panel', 'wp_welcome_panel');

Mostrar el número total de usuarios registrados en WordPress

Quieres mostrar el número de usuarios registrados en tu sitio de WordPress. Este código se puede añadir al functions.php de tu tema.

// Function to return user count
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 generará un shortcode que te permitirá mostrar el número total de usuarios registrados en tu sitio web. Este shortcode se puede añadir a [user_count] cualquier página o entrada en la que desees mostrar el número total.

Habilitar códigos cortos en los widgets de texto

WordPress no permite utilizar códigos cortos en los widgets de texto por defecto. Esto se puede arreglar añadiendo este código al archivo de funciones de tu tema.

// Allow shortcodes in text widgets
add_filter('widget_text','do_shortcode');

Las entradas de WordPress se pueden personalizar con clases CSS para pares e impares.

Hay muchos temas de WordPress que tienen una clase o tema impar para los comentarios de WordPress. Esto ayuda a los usuarios a ver dónde acaba un comentario y empieza el siguiente.

La misma técnica puede utilizarse para las entradas de WordPress. Es visualmente atractivo y permite a los usuarios explorar rápidamente las páginas con mucho contenido. Este código puede añadirse al archivo functions.php o WordPress functions php 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 da a las entradas de WordPress un aspecto inusual o incluso más elegante. Para dar un estilo diferente a tus entradas, puedes añadir un CSS personalizado. Es un código de ejemplo que te ayudará a empezar.

.even {
background:#f0f8ff;  
} 
.odd {
 background:#f4f4fb;
}

El resultado será así.

colores de fondo pares e impares mensajes wordpress

Añadir tipos de archivos adicionales para subir en WordPress

Por defecto, WordPress sólo te permite subir los tipos de archivo más comunes. Sin embargo, puedes ampliar la funcionalidad para permitirte subir otros tipos de archivos. Este código puede añadirse al archivo de funciones 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);

Te permite subir archivos SVG o PSD a WordPress. Lo mejor es que lo busques primero para determinar los tipos de archivo permitidos. Luego, puedes utilizar estos tipos en tu código.

Eliminar los enlaces de imagen por defecto en WordPress

WordPress enlazará automáticamente una imagen a su página o archivo de imagen adjunto cuando la subas. Los usuarios pueden hacer clic en una imagen para ser llevados a una página diferente a la de tu post. ¿Cómo evitar que WordPress vincule automáticamente los archivos de imagen? Este fragmento de código puede añadirse a tu archivo de funciones.

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);

Si subes una nueva foto en WordPress, no se enlazará automáticamente. Si quieres, puedes enlazarla a la página de archivos adjuntos o de archivos.

Imagen de WordPress desvinculada

Añadir un infobox de autor en las entradas de WordPress

Este método se puede utilizar para mostrar las biografías de los autores al final de las entradas en sitios con varios autores. Añade este código a tus funciones.

function wpb_author_info_box( $content ) {
 
global $post;
 
// Find out if the post is one-post with a post author
if ( is_single() && isset( $post->post_author ) ) {
 
// Find the name of the author
$display_name = get_the_author_meta( 'display_name', $post->post_author );
 
// Display name not available? Use nickname
if ( empty( $display_name ) )
$display_name = get_the_author_meta( 'nickname', $post->post_author );
 
// Find the biographical information and description of the author
$user_description = get_the_author_meta( 'user_description', $post->post_author );
 
// Find author's URL
$user_website = get_the_author_meta('url', $post->post_author);
 
// The link to the author archive page is available
$user_posts = get_author_posts_url( get_the_author_meta( 'ID' , $post->post_author));
  
if ( ! empty( $display_name ) )
 
$author_details = '<p class="author_name">About ' . $display_name . '</p>';
 
if ( ! empty( $user_description ) )
// Auteur avatar and bio
 
$author_details .= '<p class="author_details">' . get_avatar( get_the_author_meta('user_email') , 90 ) . nl2br( $user_description ). '</p>';
 
$author_details .= '<p class="author_links"><a href="'. $user_posts .'">Bekijk alle berichten van ' . $display_name . '</a>';  
 
// Verify if the author has a website.
if ( ! empty( $user_website ) ) {
 
// Link to author's website
$author_details .= ' | <a href="' . $user_website .'" target="_blank" rel="nofollow">Website</a></p>';
 
} else { 
// If there isn't an author's website, close the paragraph
$author_details .= '</p>';
}
 
// All this information should be passed to the message content
$content = $content . '<footer class="author_bio_section" >' . $author_details . '</footer>';
}
return $content;
}
 
// Add feature to your post content filter
add_action( 'the_content', 'wpb_author_info_box' );
 
// Permit HTML in author's bio section
remove_filter('pre_user_description', 'wp_filter_kses');

Para que tenga un mejor aspecto, tendrás que añadir un CSS personalizado. Este ejemplo de CSS puede servir de guía.

.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;
}

Desactivar XML-RPC en WordPress

XML-RPC permite que aplicaciones externas se comuniquen de forma remota con tu sitio de WordPress. Los hackers pueden aprovechar esta vulnerabilidad para atacar la seguridad. Para desactivar XMLRPC en WordPress, simplemente añade el siguiente código a tu archivo de funciones:

add_filter('xmlrpc_enabled', '__return_false');

Esperamos que te sea de gran utilidad este interesante post, lleno de trucos y atajos para utilizar y personalizar el archivo functions.ph WordPress.

También puede interesarte:

Deja una respuesta

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