it-swarm.xyz

Как добавить собственный логотип ко всем темам?

Я хотел бы добавить собственный логотип на панель управления всей сети моего блога. Я пошел по рецепту на разгром журнала и получил этот код:

//hook the administrative header output
add_action('admin_head', 'my_custom_logo');

function my_custom_logo() {
    echo '
      <style type="text/css">
      #header-logo { background-image: url('.get_bloginfo('template_directory').'/images/custom-logo.gif) !important; }
      </style>
    ';
 }

Где я могу добавить это? Я думаю, что я должен добавить это в functions.php. Но если это так, я должен добавить код к каждой теме в моих взаимных сетях.

У кого-нибудь есть идея добавить его во всю сеть? Я также должен быть в состоянии установить только для определенного саба, а не для всей сети, если я передумаю в будущем :)

Спасибо!

1
user391

Если вы хотите, чтобы этот логотип отображался на ваших сетевых сайтах независимо от темы, я бы посоветовал вам создать новый PHP файл внутри wp-content/mu-plugins (создать каталог, если он не существует) и удалить этот код внутри нового файла. Вы можете назвать свой файл как угодно - например, my-network-tweaks.php. Этот файл будет загружен автоматически как плагин на всех сайтах.

И если вы хотите переопределить это изображение для определенного сайта, вы можете сделать эту функцию подключаемой. Как это:

<?php
//hook the administrative header output
add_action('admin_head', 'my_custom_logo');

// if override function exists load it up instead
if(function_exists('override_my_custom_logo')) {

    function my_custom_logo() {
        override_my_custom_logo();
    }

// fallback to original function
} else {

    function my_custom_logo() {
        echo '
        <style type="text/css">
            #header-logo { background-image: url('/path/to/images/custom-logo.gif) !important; }
        </style>
        ';
    }

}
?>

Обратите внимание, что я изменил путь к изображению, потому что мы хотим, чтобы он указывал на один файл для всей сети. Использование get_bloginfo('template_directory') приведет к загрузке изображения из каталога темы.

Если вы хотите переопределить изображение для одного сайта, просто используйте код Tom J Nowell, переименовав функцию в override_my_custom_logo

3
iv.draganov

Поместите это в functions.php и добавьте файл custom-logo.gif (32x32 пикселей) в подпапку изображений вашей темы.

//hook the administrative header output
add_action('admin_head', 'my_custom_logo');

function my_custom_logo() {
    echo '
<style type="text/css">
#header-logo { background-image: url('.get_bloginfo('template_directory').'/images/custom-logo.gif) !important; }
</style>
';
}
1
Tom J Nowell

Вы можете проверить плагин White Label CMS , чтобы автоматизировать это для вас.

1
Eric