web-dev-qa-db-ja.com

ダッシュボードにバナーを追加する

WPダッシュボードにバナーを追加する方法はありますか?カスタムウィジェットなどではなく、単純な画像バナーだけを意味します。

2
Dean Elliott

JQuery DOM挿入を使用した回避策.
スクリプトを印刷するためのPHP Heredoc sintax の使用に注意してください。

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');

これは、新しいdivを#welcome-panelの前の一番上に挿入します。 div #dashboard-widgets-wrapを使用すると、同じ位置(<h2>Dashboard</h2>の後とウィジェットの前)に出力されます。
ウェルカムパネルは通常隠れていますが、その一般的な振る舞いについてはよくわかりません。これはあなたのテスト次第だと思います。


[編集]
実際のところ、ページを調べて好きなところに挿入するだけです。


[編集2]
コードで遊んでいます...
次のバージョンはウィジェットのラップをフェードインします。また、imageタグの幅と高さも追加されているため、画像が最後に読み込まれたときに他の要素が "ジャンプ"することはありません。

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

admin_headアクションにフックして、wpbody-contentというIDで背景画像をdivに添付するためのカスタムCSSを含めることができます。

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

0
kingkool68