投稿画面の不要なボックスを削除

nippiWordPressのバージョンが上がるごとに複雑化するダッシュボードである。できることが増えて便利な反面、ユーザには分かりづらくなってくる。ダッシュボードにログインすると「ワーッ!」ってなっちゃうというのだ。
mixi日記レベルと思っていたWordPressの更新作業であるが、ユーザはそんな気持ちをかかえていたのか。ダッシュボードが地味すぎるのがダメなのか?このように訴えるクライアントが続けて2件あったため、なんとかしようと思い立った。

そこで思い出したのが、年末に見せていただいた「WordCamp Tokyo アンケート集計サイト」だ。投稿画面を大胆にカスタマイズして、アンケート集計に撤したものである。そこにはチェックボックスとラジオボタンが並び、本文フィールドは消えていた。見たときには、こんなことができるんだ!使い道がわからないけどなんかかっこいい!ぐらいに思っていた。いざ、アレを使うとき。

まずは、投稿画面の抜粋やディスカッション、サイドバーのカテゴリ、タグなどわかりずらくて不要と思われるボックスを削除する。削除のタイミングは、ボックスを追加する際と同じアクションフッック add_meta_boxes を利用する。

[PHP]
add_action(‘add_meta_boxes’, ’my_add_meta_boxes’, 10, 2 );

function my_add_meta_boxes($post_type, $post) {
$meta_boxes = array(
‘side’ => array( ‘tagsdiv-post_tag’, ‘categorydiv’, ‘durationdiv’, ‘postimagediv’, ‘formatdiv’ ),
‘normal’ => array( ‘trackbacksdiv’, ‘commentstatusdiv’, ‘commentsdiv’, ‘postexcerpt’, ‘postcustom’, ‘slugdiv’, ‘authordiv’, ‘revisionsdiv’ )
);

foreach ( $meta_boxes as $position => $boxes ) {
foreach ( $boxes as $box ) {
remove_meta_box( $box, $post_type, $position );
}
}
}

[/PHP]

かなりすっきりした!
さらに本文フィールドを消す場合には、別のアクションフック init を利用する。

[PHP]
add_action( ‘init’ , ‘my_remove_post_editor_support’ );

function my_remove_post_editor_support() {
remove_post_type_support( ‘post’, ‘editor’ );
}
[/PHP]

こうなるともうなんでWordPressでやるの?って感じになってくる。好きだからよいのだ。

参考にしたのは、
WordCamp Tokyo アンケート集計サイトの舞台裏 | Simple Colors

1件のコメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください