WordPressの管理画面をカスタマイズするアクションフックをいくつか(2)

前回は3つのアクションフックを紹介しましたが、今回は2つ。

wp_dashboard_setup

管理画面のダッシュボードを表示する時に呼び出されるアクションフックです。

下記のコードではダッシュボードに、タイトル部が『ようこそ』、コンテンツ部が『お疲れ様です。』という表示のダッシュボードウィジェットが追加されます。

function dashboard_widget_function() {
echo "お疲れ様です。";
}
function add_dashboard_widgets() {
wp_add_dashboard_widget('dashboard_widget_welcome', 'ようこそ', 'dashboard_widget_function');
}
add_action('wp_dashboard_setup', 'add_dashboard_widgets' );

こんな感じ。
ダッシュボードウィジェットの追加例

自分で作ったWordPressプラグインで、ダッシュボードに何らかの情報を表示したい時に使えますね。私は今回の制作でカスタム投稿タイプを多く使ったので、それぞれのカスタム投稿タイプの公開済み数や下書き数、削除済み数などを列挙するのに使いました。

また、下記のコードでは初期状態でダッシュボードに表示される『WordPressブログ』『WordPressフォーラム』を削除することも可能です。

function remove_dashboard_widgets() {
unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_primary']); // WordPressブログ
unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_secondary']); // WordPressフォーラム
}
add_action('wp_dashboard_setup', 'remove_dashboard_widgets');

以下のウィジェットのことです。
WordPressブログウィジェット、WordPressフォーラムウィジェット

詳しくは管理画面のダッシュボード・ウィジェット非表示をご覧ください。

manage_posts_custom_column

これは、よくフィルターフック『manage_edit-post_columns』と一緒に使って、投稿一覧画面に列を追加するのに使われるアクションフックです。

以下のコードでは、投稿一覧に『修正日』列を追加します。

function custom_post_columns($columns) {
$columns['post_modified'] = "修正日";
return $columns;
}
function add_post_column($column_name, $post_id) {
if( $column_name == 'post_modified' ) {
$post_data = get_post($post_id);
echo date('Y年m月d日',strtotime($post_data->post_modified)).'修正';
}
}
add_filter( 'manage_edit-post_columns', 'custom_post_columns' );
add_action( 'manage_posts_custom_column', 'add_post_column', 10, 2 );

投稿一覧の右にこんな感じで列が追加されます。
投稿一覧に修正日列を追加

投稿一覧画面の列を並べ替えるには管理画面の一覧画面の列を並び替える方法をご覧ください。

また『manage_edit-post_columns』の「post」を、カスタム投稿タイプ名に変更、例えば『manage_edit-movie_columns』という形式にすると、そのカスタム投稿タイプの一覧画面がカスタマイズ出来ます。

まとめ

今回の制作で、カスタム投稿タイプとカスタムフィールドをかなり使ったので、上記のアクションフックが大活躍しました。

特に一覧画面の列を増やすのは、追加した投稿の状態がかなり判りやすくなるので、自分のサイトでカスタムフィールドを使う場合などにすごく便利です。

スポンサードリンク

twitterまたはFacebookでもコメントして頂けます