web-dev-qa-db-fra.com

Ajouter une bannière au tableau de bord

Est-il possible d'ajouter une bannière au tableau de bord WP? Je ne veux pas dire dans un widget personnalisé ou quoi que ce soit, juste une simple bannière d'image.

2
Dean Elliott

Solution de contournement à l'aide de l'insertion DOM jQuery.
Notez l'utilisation de PHP Heredoc sintax pour imprimer le script.

function wpse_53035_script_enqueuer(){
    echo <<<HTML
    <script type="text/javascript">
    jQuery(document).ready( function($) {
        $('<div style="width:100%;text-align:center;"><img src="http://cdn.sstatic.net/wordpress/img/logo.png?v=123"></div>').insertBefore('#welcome-panel');
    });     
    </script>
HTML;
}
add_action('admin_head-index.php', 'wpse_53035_script_enqueuer');

Cela insère la nouvelle div en haut avant #welcome-panel. Si vous utilisez le div #dashboard-widgets-wrap, il est imprimé à la même position (après <h2>Dashboard</h2> et avant les widgets).
Le panneau de bienvenue est normalement masqué, mais je ne suis pas sûr de son comportement général. Je suppose que cela dépend de vos tests.


[edit]
En fait, inspectez simplement la page et insérez-la où vous voulez.


[edit 2]
Jouer avec le code ...
La version suivante effectue un fondu enchaîné des widgets. Il ajoute également la largeur et la hauteur dans la balise image , afin que les autres éléments ne "sautent" pas lorsque l'image se charge finalement.

function wpse_53035_script_enqueuer(){
    echo <<<HTML
    <style type="text/css">#dashboard-widgets-wrap {display:none;}</style>
    <script type="text/javascript">
    jQuery(document).ready( function($) {
        $('#dashboard-widgets-wrap').delay(1200).fadeTo('slow',1);
        $('<div style="width:100%;text-align:center;margin:8px 0"><img src="http://cdn.sstatic.net/wordpress/img/logo.png?v=123" width="483" height="43"></div>').insertBefore('#dashboard-widgets-wrap');
    });     
    </script>
HTML;
}
add_action('admin_head-index.php', 'wpse_53035_script_enqueuer');
1
brasofilo

Vous pouvez vous connecter à l'action admin_head et inclure du code CSS personnalisé pour associer une image d'arrière-plan à la div avec un identifiant de wpbody-content.

http://codex.wordpress.org/Plugin_API/Action_Reference/admin_head-%28plugin_page%29

0
kingkool68