it-swarm-pt.tech

Como você adiciona um logotipo personalizado a temas inteiros?

Gostaria de adicionar um logotipo personalizado ao painel de toda a minha rede de blogs. Eu fui através de uma receita na revista esmagadora e peguei este código:

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

Onde eu adiciono isso? Eu acho que deveria adicioná-lo em functions.php. Mas se assim for devo adicionar o código para todos os temas em minhas mutirletworks.

Alguém tem ideia de adicioná-lo a toda a rede? Eu também deveria ser capaz de definir apenas para um sub especial e não para toda a rede Se eu mudar de idéia no futuro :)

Obrigado!

1
user391

Se você quer que este logo apareça nos sites da sua rede, independentemente do tema, eu aconselho você a criar um novo arquivo PHP dentro de wp-content/mu-plugins (crie o diretório se ele não existir) e solte o código dentro do novo arquivo. Você pode nomear seu arquivo como quiser - por exemplo, my-network-tweaks.php. Esse arquivo será carregado automaticamente como um plugin em todos os sites.

E se você quiser substituir essa imagem por um site específico, pode tornar essa função conectável. Como isso:

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

}
?>

Note que mudei o caminho da imagem porque queremos que aponte para um único arquivo para toda a rede. Usando get_bloginfo('template_directory') faria com que carregasse a imagem do diretório do tema.

Se você quiser substituir a imagem de um único site, basta usar o código de Tom J Nowell renomeando a função para override_my_custom_logo

3
iv.draganov

Coloque isso em functions.php e adicione um arquivo custom-logo.gif (32x32 pixels) em uma subpasta de imagens do seu tema.

//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

Você pode verificar o plugin White Label CMS para automatizar isso para você.

1
Eric