Замените логотип WordPress по умолчанию на логотип текущей темы на странице входа в WordPress - PullRequest
0 голосов
/ 12 января 2019

Я пытаюсь заменить логотип входа в WordPress на логотип активной темы. Активная тема использует параметры логотипа по умолчанию для логотипа.

Я использую следующий код

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

Я знаю, что с помощью этого кода я могу изменить логотип, но как автоматически отобразить логотип активной темы? Какая функция требуется?

Ответы [ 2 ]

0 голосов
/ 26 мая 2019

Первый шаг - добавить действие в login_enqueue_scripts, это (как указано выше) выполняется путем добавления фрагмента кода в файл theme.php.

После этого вы найдете 2 вещи:

  1. если у вас есть неквадратный логотип, он станет очень маленьким
  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' );
0 голосов
/ 12 января 2019

Пожалуйста, попробуйте это

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