プラグインを使わずにダッシュボードにウィジェットを追加する

プラグインを使わずにダッシュボードにウィジェットを追加する方法を、よくやるのにすぐ忘れて調べ直すことになるのでメモです。

ウィジェットを追加する

こちらはユーザー権限別にマニュアルを表示する場合に追加したものです。
管理者(Administrator):3つ全部表示
編集者(Editor):編集者マニュアルとエディターマニュアルを表示
投稿者(Author):投稿者マニュアルとエディターマニュアルを表示

function manual_dashboard_widget_function() {
global $current_user;
echo 'WordPressの操作マニュアル (PDF) をダウンロードしてご覧いただけます。
<ul>';
if ( current_user_can( 'administrator' ) ) { //管理者
echo '<li><a href="/manual/pdf/UserManual.pdf" target="_blank"><strong>管理者マニュアル</strong></a></li>';
}
elseif ( current_user_can( 'editor' ) ) { //編集者
echo '<li><a href="/manual/pdf/EdutirManual.pdf" target="_blank"><strong>編集者マニュアル</strong></a></li>';
}
elseif ( current_user_can( 'author' ) ) { //投稿者
echo '<li><a href="/manual/pdf/UserManual.pdf" target="_blank"><strong>投稿者マニュアル</strong>(PDF:894KB)</a></li>';
}
echo '<li><a href="/manual/pdf/ClasicEditor.pdf" target="_blank"><strong>編集エディター</strong>(PDF:1.47MB)</a></li></ul>';
}
function manual_add_dashboard_widgets() {
wp_add_dashboard_widget('manual_dashboard_widget', 'ダウンロード', 'manual_dashboard_widget_function');
}
add_action('wp_dashboard_setup', 'manual_add_dashboard_widgets' );

ダッシュボードの左側一番下に追加されます。

ダッシュボードの右側にウィジェットを追加する

追加したウィジェットは左側に表示されますので、どんどん左にぶら下がってしまってバランスが悪いなぁという時は「add_meta_box」でこうします。

function manual_dashboard_widget_function() {
    global $current_user;
    echo 'WordPressの操作マニュアル (PDF) をダウンロードしてご覧いただけます。
    <ul>';
    if ( current_user_can( 'administrator' ) ) { //管理者
    echo '<li><a href="/manual/pdf/UserManual.pdf" target="_blank"><strong>管理者マニュアル</strong></a></li>';
    }
    elseif ( current_user_can( 'editor' ) ) { //編集者
    echo '<li><a href="/manual/pdf/EdutirManual.pdf" target="_blank"><strong>編集者マニュアル</strong></a></li>';
    }
    elseif ( current_user_can( 'author' ) ) { //投稿者
    echo '<li><a href="/manual/pdf/UserManual.pdf" target="_blank"><strong>投稿者マニュアル</strong>(PDF:894KB)</a></li>';
    }
    echo '<li><a href="/manual/pdf/ClasicEditor.pdf" target="_blank"><strong>編集エディター</strong>(PDF:1.47MB)</a></li></ul>';
    }
function manual_add_dashboard_widgets() {   
add_meta_box( 'manual_dashboard_widget', 'マニュアルダウンロード', 'manual_dashboard_widget_function', 'dashboard', 'side', 'high' );
}
add_action('wp_dashboard_setup', 'manual_add_dashboard_widgets' );

add meta boxについて

上級: ウィジェットをサイドに追加する(※Codexより)
add_meta_box( ‘id‘, ‘Dashboard Widget Title‘, ‘dash_widget‘, ‘dashboard‘, ‘side‘, ‘high‘ );

↑この、add_meta_boxhの使い方はこうなりまして↓

<?php
   add_meta_box( $id, $title, $callback, $screen, $context,
         $priority, $callback_args );
 ?>

パラメーターの内容はこうです↓

$iddivに付けられるID属性値。
<div id=”この部分” class=”postbox “>
$titleウィジェットのタイトル(日本語記載可)
$callback関数名
※1行目の「function」の後ろに記載した文字列
$screen投稿タイプ
‘post’,’page’,’dashboard’,’link’,’attachment’,’custom_post_type’,’comment’
※custom_post_type=カスタム投稿タイプ
初期値: null
$context表示場所
‘normal’, ‘advanced’,’side’
$priority表示優先度
‘high’, ‘core’, ‘default’ ‘low’
$callback_argsコールバック関数に渡す引数
省略できる。
初期値: null

便利ですね!

コメントを残す