WordPressの管理画面にログインするとダッシュボードが表示されます。
初期状態で画面中央に色んな情報がパネルで表示されますが、正直使える情報は殆どないですよね。プラグインをインストールするとパネルがごちゃごちゃしてきますので、使わないパネルは非表示にすることができます。
ダッシュボードのパネルに、自作ウィジェットをパネルに追加できることはご存じでしょうか?
この記事では、ダッシュボードのパネルに自作ウィジェットを追加する方法をまとめています。
ダッシュボードのパネルに自作ウィジェットを追加するためのWordpress関数は?
wp_dashboard_setupフック
wp_dashboard_setup – Hook | Developer.WordPress.org
Fires after core widgets for the admin dashboard have been registered.
wp_add_dashboard_widget関数
wp_add_dashboard_widget() – Function | Developer.WordPress.org
Adds a new dashboard widget.
ダッシュボードのパネルに自作ウィジェットを追加するには?
wp_dashboard_setupフックとwp_add_dashboard_widget関数を組み合わせます。
基本形は、以下の通りです。
add_action('wp_dashboard_setup', function(){
wp_add_dashboard_widget('custom_help_widget', 'メモ欄', 'dashboard_text');
});
function dashboard_text() {
echo $msg_01, $msg_02;
}
応用編:ダッシュボードのパネルにflamingoの受信一覧を表示する自作ウィジェット
Contact form 7とflamingoを組み合わせて使っている人は多いと思います。flamingoの受信メッセージをダッシュボードのパネルに表示するカスタマイズになります。
//Add custom dashboard widget
function my_custom_dashboard_widgets() {
wp_add_dashboard_widget('my_show_latest_emails', 'Latest Emails',
'my_show_latest_emails');
}
add_action('wp_dashboard_setup', 'my_custom_dashboard_widgets');
//function to get emails
function my_show_latest_emails() {
echo '<div id="activity-widget">';
$args = array(
'numberposts' => 10,
'offset' => 0,
'category' => 0,
'orderby' => 'post_date',
'order' => 'DESC',
'include' => '',
'exclude' => '',
'meta_key' => '',
'meta_value' =>'',
'post_type' => 'flamingo_inbound',
'post_status' => 'publish',
'suppress_filters' => true
);
$recent_emails = wp_get_recent_posts( $args, ARRAY_A );
if($recent_emails)
{
echo '<table><thead><th>Date</th><th>Email</th></thead><tbody>';
foreach($recent_emails as $email){
echo '<tr>';
echo '<td>' . $email['post_date'] . '</td>';
echo '<td>' . $email['post_title'] . '</td>';
echo '</tr>';
}
echo '</tbody></table>';
}
if ( !$recent_emails) {
echo '<div class="no-activity">';
echo '<p class="smiley"></p>';
echo '<p>' . __( 'No activity yet!' ) . '</p>';
echo '</div>';
}
echo '</div>';
}
まとめ
ダッシュボードのパネルに好きな内容を自作ウィジェットで表示するのは意外と簡単です。他にもいろいろ応用ができるので、是非カスタマイズしてみてください。