用 WordPress 登录页面中的当前主题徽标替换默认的 WordPress 徽标

Replace Default WordPress Logo with the Current Theme Logo in WordPress Login Page

我正在尝试用活动主题徽标替换 WordPress 登录徽标。活动主题正在使用徽标的默认 "Customizer" 选项。

我正在使用以下代码

function my_custom_login_logo() {
echo '<style type="text/css">
h1 a {background-image:url(https://broproud.com/wp-content/uploads/2018/08/cropped-150-Width-Logo.png) !important; margin:0 auto;}
</style>';
}
add_filter( 'login_head', 'my_custom_login_logo' );

我知道,我可以使用此代码更改徽标,但是如何自动显示活动主题徽标?需要什么样的功能?

请试试这个

function my_custom_login_logo() {
    $logo_url = ( function_exists( 'the_custom_logo' ) && get_theme_mod( 'custom_logo' ) ) ? wp_get_attachment_image_src( get_theme_mod( 'custom_logo' ), 'full' ) : false;
    $logo_url = ( $logo_url ) ? $logo_url[0] : generate_get_option( 'logo' );

    $logo_url = esc_url( apply_filters( 'generate_logo', $logo_url ) );

    ?>
    <style type="text/css">
        h1 a {
            background-image:url(<?php echo $logo_url ?>) !important; margin:0 auto;}
    </style>
    <?php
}
add_filter( 'login_head', 'my_custom_login_logo' );

第一步 是向 login_enqueue_scripts 添加一个动作,这是(如上所述)通过向主题 [=26= 添加代码片段来完成的].

之后你会发现两件事:

  1. 如果您有 non-square 徽标,它将变得非常小
  2. 如果您点击它,您将转到 wordpress.org

两者都可以在同一个片段中用纯 css 轻松解决:

<style type="text/css">
  body.login div#login h1 a {
    background-image: url(PATH TO YOUR LOGO);
    padding-bottom: 30px;
    margin: 0;
    width: 100%;
    background-size: contain;
    pointer-events: none;
  }
</style>
<?php
} add_action( 'login_enqueue_scripts', 'custom_login_logo' );