Mini plugin para utilizar el logo de la web y la url principal en la ventana de login

Dificultad: Media

Por defecto, WordPress te muestra su logotipo y un enlace a su web en la página de acceso a la web. Con este mini plugin puedes modificar este comportamiento para que muestre tu logotipo con enlace a la url de inico de tu web.

Para utilizar este mu-plugin, necesitas acceso ftp o al servidor de alojamiento de la web. Crea un archivo y dale un nombre reconocible, como mi-custom-logo.php, por ejemplo. A través de ftp, súbelo a wp-content/mu-plugins. A veces, dependiendo del proveedor de alojamiento, la carpeta mu-plugins puede existir. En otros casos tendrás que crearla.

Este sería el contenido del archivo:

<?php

/**
 * Plugin Name: LC Custom Admin Logo
 * Description: Utiliza el logotipo del sitio configurado en «Apariencia > Personalizar» como logotipo de inicio de sesión de WordPress y lo vincula a la URL del sitio.
 * Version: 1.0.0
 * Author: Luis Chicharro
 * License: GPL-2.0-or-later
 */

if (! defined('ABSPATH')) {
    exit;
}

add_action('login_enqueue_scripts', 'lc_login_logo_output_styles');
add_filter('login_headerurl', 'lc_login_logo_url');
add_filter('login_headertext', 'lc_login_logo_title');

/**
 * Outputs login screen styles using the site's custom logo.
 *
 * @return void
 */
function lc_login_logo_output_styles()
{
    $custom_logo_id = get_theme_mod('custom_logo');

    if (! $custom_logo_id) {
        return;
    }

    $logo_url = wp_get_attachment_image_url($custom_logo_id, 'full');

    if (! $logo_url) {
        return;
    }

    $logo_meta = wp_get_attachment_metadata($custom_logo_id);

    $logo_width  = 320;
    $logo_height = 100;

    if (
        is_array($logo_meta)
        && ! empty($logo_meta['width'])
        && ! empty($logo_meta['height'])
    ) {
        $ratio       = (int) $logo_meta['height'] / (int) $logo_meta['width'];
        $logo_width  = 320;
        $logo_height = min(160, max(80, (int) round($logo_width * $ratio)));
    }

?>
    <style>
        body.login div#login h1 a {
            background-image: url('<?php echo esc_url($logo_url); ?>');
            background-size: contain;
            background-position: center;
            background-repeat: no-repeat;
            width: <?php echo esc_attr($logo_width); ?>px;
            max-width: 100%;
            height: <?php echo esc_attr($logo_height); ?>px;
        }
    </style>
<?php
}

/**
 * Sets the login logo link to the site URL.
 *
 * @return string
 */
function lc_login_logo_url()
{
    return home_url('/');
}

/**
 * Sets the login logo title text to the site name.
 *
 * @return string
 */
function lc_login_logo_title()
{
    return get_bloginfo('name');
}

Eso es todo. A partir de ahora, cada vez que accedas al administrador de tu página, verás el logotipo que hayas definido al personalizar la identidad del sitio, enlazado a la página de inicio de la web.

Si necesitas ayuda, no dudes en contactar conmigo.