2017.08.15

2017.09.08

WordPress

WordPressの管理画面の項目を編集してすっきりさせる方法

Wordpress管理画面のカスタム投稿タイプ一覧で項目を編集する方法

WordPressでカスタム投稿タイプを作成したときに、管理画面に空欄しか表示されない不要な項目が残ってしまったり、逆にカスタムフィールドで制作したフィールド名を項目として表示できたら便利になることがあります。見栄えを編集できると不要な情報をなくしてすっきりさせることができたり、必要な情報の視認性をあげられるので、よりユーザーフレンドリーな管理画面にすることができます。今回はそんな管理画面の項目欄の編集方法を紹介します。

項目の削除

記述はすべてfunction.phpに書き足します。

function edit_posts_columns($columns) {
        unset($columns['消したい項目のid']);
        return $columns;
}
add_filter( 'manage_posts_columns', 'edit_posts_columns' );
add_action( 'manage_posts_custom_column', 'add_column', 10, 2 );

項目を削除したい場合のコードです。
消したい項目のidは管理画面のソースで、項目のthに自動で割り当てられているものです。
3行目のunset($columns['消したい項目のid']);で項目を指定しており、行を追加して複数指定することもできます。
ちなみにカスタム投稿タイプを制作した場合にデフォルトで表示されるページのタイトルのIDはhsm_pagetitleページ description(説明文)のIDはhsm_descriptionです。

カスタムフィールドの追加

function edit_posts_columns($columns) {
        $columns['追加したいフィールド名'] = "表示したい項目名";
        return $columns;
}
function add_column($column_name, $post_id) {
        if( $column_name == '追加したいフィールド名' ) {
                $stitle = get_post_meta($post_id, '追加したいフィールド名', true);
        }
        if ( isset($stitle) && $stitle ) {
                echo attribute_escape($stitle);
        } else {
                echo __('None');
        }
}
add_filter( 'manage_posts_columns', 'edit_posts_columns' );
add_action( 'manage_posts_custom_column', 'add_column', 10, 2 );

項目に指定のカスタムフィールドの値を表示したい場合は上記のように記述します。デフォルトのカスタムフィールドだけでなく、有名プラグインのadvansed custam fieldで制作したフィールドも同じ記述で導入できます。

カスタム投稿の場合&応用例

カスタム投稿タイプの場合は、サンプルコードの下2行の記述にカスタム投稿タイプ名を加える必要があります。
また、削除と追加の記述は合わせて書くこともできます。

以下は、newsというカスタム投稿タイプの管理画面で、ページのタイトルページ description(説明文)の2項目を削除して、カスタムフィールドの項目を2つ追加する場合、のサンプルコードです。

function edit_posts_columns($columns) {
        unset($columns['hsm_pagetitle']);
        unset($columns['hsm_description']);
        $columns['追加したいフィールド名-01'] = "表示したい項目名-01";
        $columns['追加したいフィールド名-02'] = "表示したい項目名-02";
        return $columns;
}
function add_column($column_name, $post_id) {
        if( $column_name == '追加したいフィールド名-01' ) {
                $stitle = get_post_meta($post_id, '追加したいフィールド名-01', true);
        }
        if( $column_name == '追加したいフィールド名-02' ) {
                $stitle = get_post_meta($post_id, '追加したいフィールド名-02', true);
        }
        if ( isset($stitle) && $stitle ) {
                echo attribute_escape($stitle);
        } else {
                echo __('None');
        }
}
add_filter( 'manage_news_posts_columns', 'edit_posts_columns' );
add_action( 'manage_news_posts_custom_column', 'add_column', 10, 2 );

まとめ

管理画面をすっきりさせたり、必要な情報を視認しやすくすることは、顧客満足度に繋がるはずです。導入を試してみてください。

SHARE

この記事の筆者

Web&Soundクリエイター 田村 培修

Web&Soundクリエイター 田村 培修

楽器とパソコンのキーボードを使い分ける当社のマルチクリエイター。e-sportsに興味津々であれこれ情報を収集中。

WEBSITE DESIGN REQUEST

ホームページ制作・リニューアルの
ご相談はお気軽に

TEL 06-6537-9941 平日 9:00〜19:00

〒550-0012 大阪府大阪市西区立売堀2-5−41

ホームページ制作を相談する