it-swarm.cn

如何为整个主题添加自定义徽标

我想在我的整个博客网络的仪表板中添加一个自定义徽标。我通过粉碎杂志上的食谱得到了这个代码:

//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中添加它。但如果是这样,我应该将代码添加到我的mutlinetworks中的每个主题。

有没有人有想法将它添加到整个网络?我也应该只能设置一个特定的子而不是整个网络如果我将来改变主意:)

谢谢!

1
user391

如果您希望此徽标显示在您的网络站点上,无论主题如何,我建议您在wp-content/mu-plugins中创建一个新的PHP文件(如果该目录不存在则创建该目录)并删除该代码在新文件中。您可以根据自己的喜好命名文件 - 例如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

您可以查看 白标CMS 插件,为您自动执行此操作。

1
Eric