Si usas el tema Astra, de lejos el más utilizado de todos los temas WordPress que hay, puede que te surja la necesidad de modificar el logo según la página en la que se encuentre el visitante.
Esto no es muy común pero hay configuraciones donde es prácticamente obligatorio, como si tienes páginas con información específica de submarcas propias, por ejemplo.
Logo distinto en Astra según el slug de la página visitada
Si te encuentras en esta situación es muy fácil indicarle al tema Astra que se use un logo distinto en según qué página, con un código como el siguiente:
/* Cambiar logo de Astra según la url */
function custom_astra_logo_output($html) {
// Slug de la página donde cambiar el logo ( p.ej. pagina-distinta )
if (is_page('pagina-distinta')) {
// URL de la imagen de logo personalizado para el slug de pagina anterior
$custom_logo_url = 'URL_COMPLETA_DE_IMAGEN_DE_LOGO_PERSONALIZADO_DIFERENTE';
} else {
// Obtenemos el logo por defecto activo
$custom_logo_id = get_theme_mod('custom_logo');
$custom_logo_url = wp_get_attachment_image_url($custom_logo_id, 'full');
}
// Modificamos el HTML generado para cambiar un logo por otro
$html = sprintf(
'<a href="%1$s" class="custom-logo-link" rel="home" itemprop="url"><img src="%2$s" class="custom-logo" alt="%3$s"></a>',
esc_url(home_url('/')),
esc_url($custom_logo_url),
esc_attr(get_bloginfo('name'))
);
return $html;
}
add_filter('get_custom_logo', 'custom_astra_logo_output');
Cómo usar este código
Asegúrate de cambiar 2 elementos:
- El slug de la página en la que quieras cambiar el logo, en el ejemplo
pagina-distinta, por el de la tuya. - La url del logo a mostrar en esa página específica, en el ejemplo
URL_COMPLETA_DE_IMAGEN_DE_LOGO_PERSONALIZADO_DIFERENTE.
Cómo añadir el código a mi web
Lo ideal, al ser un código que se aplica únicamente al tema Astra, es que lo añadas al final de un tema hijo de Astra, como explico en esta guía de cómo añadir funciones personalizadas.
¿Funciona?
Pues claro, yo pruebo todos los códigos que publico en Ayuda WordPress.
¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!








