user391
  • 0
Новичок

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

  • 0

Я хотел бы добавить собственный логотип на панель инструментов всей сети блогов. Я просмотрел рецепт на сайте Smashing Magazine и получил такой код:

//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 . Но если это так, я должен добавить код к каждой теме в моих mutlinenetworks.

Есть ли у кого-нибудь идея добавить его во всю сеть? Я также должен иметь возможность установить только для определенного сабвуфера, а не для всей сети, если я передумаю в будущем 🙂

Спасибо!

Share
  1. Если вы хотите, чтобы этот логотип отображался на ваших сетевых сайтах независимо от темы, я бы посоветовал вам создать внутри новый файл 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') приведет к загрузке изображения из каталога темы.

    Если вы хотите переопределить изображение для одного сайта, просто используйте код Тома Дж. Ноуэлла, переименовав функцию вoverride_my_custom_logo

    • 0
    • Насколько я понимаю… Мне нужно скопировать код, предоставленный Томом, и поместить его в новый файл custom_logo_for_entire_site.php в разделе plugins. И мне нужно заменить путь к изображению, указанный в коде Тома, используя (‘/path/to/images/custom-logo.gif’). Где мне нужно сохранить изображение логотипа? Нужно ли мне создавать новую папку с изображениями в каталоге /wpcontent?

      • 0
    • Поместите файл в wp-content/mu-plugins, а не в обычную wp-content/plugins папку. Путь к изображению полностью ваш выбор — вы можете поместить изображение, например, внутрь wp-content/uploads (главная папка загрузки блога), и тогда путь к нему будет get_bloginfo('wpurl'). /wp-content/uploads/custom-logo.gif'

      • 0
    • Этот плагин выглядит великолепно. Жаль, что я не знал об этом много лет назад!

      • 0
    • Мы можем добавить логотип и использовать плагин для белой метки. Но я хотел бы знать, как мне использовать дополнительные функции, такие как добавление виджетов на панель инструментов, изменение граватора по умолчанию, добавление и удаление полей профиля по умолчанию и т. д. с использованием functions.php. Мы может иметь все эти функции с различными плагинами. Но я узнал, что есть некоторые хитрости для добавления функциональности с помощью functions.php. Так что мы также можем спасти наш сайт от высокой скорости загрузки страниц, вызванной плагинами. Не могли бы вы помочь мне, если бы я мог добавить такие коды с помощью functions.php ко всем темам?

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

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

    //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>
    ';
    }
    
    • 0

Оставить ответ

You must login to add an answer.