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

时间:2010-09-02 作者:user391

我想在我整个博客网络的仪表板上添加一个自定义徽标。我在《粉碎》杂志上仔细研究了一个配方,得到了以下代码:

//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中的每个主题中。

有没有人想把它添加到整个网络中?如果我将来改变主意,我还应该能够仅为特定sub设置,而不是为整个网络设置:)

非常感谢。

3 个回复
最合适的回答,由SO网友:iv.draganov 整理而成

如果你想让这个徽标在你的网站上显示出来,而不考虑主题,我建议你在其中创建一个新的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\') 将导致它从主题目录加载图像。

如果要覆盖单个站点的映像,只需使用TomJ Nowell的代码将函数重命名为override_my_custom_logo

SO网友:Eric

您可以查看White Label CMS 插件为您自动执行此操作。

SO网友:Tom J Nowell

将其放入函数中。php并添加一个文件自定义徽标。主题的图像子文件夹中的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>
\';
}

结束

相关推荐

How do you debug plugins?

我对插件创作还很陌生,调试也很困难。我用了很多echo,它又脏又丑。我确信有更好的方法可以做到这一点,也许是一个带有调试器的IDE,我可以在其中运行整个站点,包括插件?