WordPress管理画面 各種投稿一覧の先頭にIDを表示させデフォルトをIDの降順で表示させるように設定する

概要説明

ショートカットで使用したりカスタマイズで使用したりと記事のID(post_id)はよく利用します。管理画面の投稿一覧にID情報を表示させ、一覧の表示のデフォルトの条件を追加したIDの降順(大きい順)に変更。投稿一覧、固定ページ一覧、カスタム投稿一覧に対応。

WordPress管理画面 各種投稿一覧の先頭にIDを表示させデフォルトをIDの降順で表示させるように設定する

管理画面の投稿一覧にIDを追加してデフォルト表示を設定

functions.php
/*----------------------------------------------------
 管理画面 投稿一覧の先頭にIDを表示させデフォルトをIDの降順に設定
----------------------------------------------------*/
if ( !function_exists( 'add_post_list_id_columns' ) ){

    // 投稿一覧の先頭にIDを表示させる
    function add_post_list_id_columns( $columns ) {

        $remake_columns = array();

        foreach ( $columns as $name => $display_name ) {

            if ( isset( $columns['title'] ) && $name == 'title' ) {
                $remake_columns['post_id'] = 'ID';
            }
            $remake_columns[$name] = $display_name;
        }

        return $remake_columns;
    }

    add_filter( 'manage_post_posts_columns', 'add_post_list_id_columns', 5 ); // 投稿
    add_filter( 'manage_page_posts_columns', 'add_post_list_id_columns', 5 ); // 固定ページ

    // news 部分はカスタム投稿のslug
    //add_filter( 'manage_news_posts_columns', 'add_post_list_id_columns', 5 ); // カスタム投稿にも設定する場合


    // 管理画面 投稿一覧にIDを追加
    function add_manage_posts_custom_column_id($column_name, $post_id) {
        if ( $column_name == 'post_id' ) {
            echo $post_id;
        }
    }
    add_action('manage_posts_custom_column', 'add_manage_posts_custom_column_id', 10, 2);
    add_action('manage_pages_custom_column', 'add_manage_posts_custom_column_id', 10, 2);

    // ID の見出しでソートを可能にする
    function add_sort_column_id ( $sortable_columns ) {
        $sortable_columns['post_id'] = 'ID';
        return $sortable_columns;
    }
    add_filter( 'manage_edit-post_sortable_columns', 'add_sort_column_id' );
    add_filter( 'manage_edit-page_sortable_columns', 'add_sort_column_id' );

    //管理画面の一覧の表示順制御 IDの大きい順(降順)に変更する
    function set_admin_pre_get_posts( $wp_query ) {

        // 管理画面
        if( is_admin() ) {
            global $pagenow;

            $post_type = isset($wp_query->query_vars['post_type']) ? $wp_query->query_vars['post_type'] : false;


            // 投稿ページ
            if ( 'edit.php' === $pagenow and !isset( $_GET['orderby'] ) ) {
                $wp_query->set( 'orderby', array( 'menu_order' => 'ASC', 'ID' => 'DESC' ) );
                $_GET['orderby']='ID';
                $_GET['order']='desc';
            } else if ( $post_type !== false and !isset( $_GET['orderby'] ) ) {
                // 固定ページ
                if($post_type == 'page') {
                    $wp_query->set( 'orderby', array( 'menu_order' => 'ASC', 'ID' => 'ASC' ) );
                    $_GET['orderby']='ID';
                    $_GET['order']='desc';
                }

                // カスタム投稿
                //if($post_type == 'news') {
                //    $wp_query->set( 'orderby', array( 'meta_key' => 'ID', 'menu_order' => 'ASC', 'ID' => 'DESC' ) );
                //    $_GET['orderby']='ID';
                //    $_GET['order']='desc';
                //}
            }

        }
    }
    add_filter('pre_get_posts', 'set_admin_pre_get_posts');
}

関連機能

  1. WordPress ユーザー編集ページに任意の項目を追加

  2. WordPress カテゴリーの並び順を変更できるプラグイン Custom Taxonomy Order

  3. 記事タイトルの初期値(プレースホルダー)をpost_type毎に変更する

サイドバー

よく使うカスタマイズ

最近の記事

アニメの名言集

『優しい。』なんて
他に褒める所が無い人に
言う台詞でしょう!?

響け!ユーフォニアム
by 小笠原晴香

Profile

PAGE TOP
Amazon プライム対象