it-swarm-ja.com

テーマ全体にカスタムロゴを追加する方法

ブログネットワークのダッシュボード全体にカスタムロゴを追加したいです。私はスマッシュマガジンのレシピを見て行き、このコードを入手しました:

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

}
?>

画像パスはネットワーク全体で1つのファイルを指すようにしたいので、変更したことに注意してください。 get_bloginfo('template_directory')を使用すると、テーマディレクトリから画像をロードします。

単一のサイトの画像を上書きしたい場合は、Tom J Nowellのコードを使用して、関数の名前をoverride_my_custom_logoに変更してください。

3
iv.draganov

これをfunctions.phpに配置し、テーマのimagesサブフォルダにcustom-logo.gif(32 x 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>
';
}
1
Tom J Nowell

あなたはこれを自動化するために White Label CMS プラグインをチェックアウトするかもしれません。

1
Eric