投稿IDを管理画面の投稿一覧のカラムに表示する

2017年11月15日

サイトを構築する際、投稿IDやカテゴリーIDをすぐに取得したい場合がありますね。

管理画面の投稿名にマウスポインタを当てて、ブラウザのステータスバーにIDを表示する方法もありますが、複数のIDについて、一覧でさっとメモしたい時に非常に面倒くさいです。

↓ やってられない
管理画面 ID 取得

プラグインを使う方法もありますが、functions.phpに書き込んでもOK。

テーマ・テンプレートのアップデートをすると、funtions.phpの内容も失われることがありますので、いちいち編集するのが面倒な方は、My Custom Functionsのようなプラグインを使って下さい。

ただし、記述を間違えて、サイトが吹っ飛んだ時、プラグインを使っていると、データベースに書き込まれたwp_optionのデータを削除する作業が必要になります。データがどこに格納されて、どうすれば削除できるのか、方法を知らなければ、最悪、サイトがお釈迦になります。

その点、functions.phpの直接編集+FTPを使えば、誤った箇所を元に戻す→再アップロードで1秒で復旧できますので、書き換え作業が面倒な反面、エラーには強いです。

投稿ID(post id)を表示する方法

http://wpsnipp.com/index.php/functions-php/add-post-id-to-posts-pages-admin-columns/

//---------------------------------------------------------------------------
// 管理画面に投稿ID表示
//---------------------------------------------------------------------------

add_filter('manage_posts_columns', 'posts_columns_id', 5);
add_action('manage_posts_custom_column', 'posts_custom_id_columns', 5, 2);
add_filter('manage_pages_columns', 'posts_columns_id', 5);
add_action('manage_pages_custom_column', 'posts_custom_id_columns', 5, 2);
function posts_columns_id($defaults){
    $defaults['wps_post_id'] = __('ID');
    return $defaults;
}
function posts_custom_id_columns($column_name, $id){
        if($column_name === 'wps_post_id'){
                echo $id;
    }
}

こんな感じで表示できます。

投稿ID 取得 管理画面

カテゴリーID(category ID)を表示する方法

カテゴリーIDを取得する方法。

申し訳ないですが、情報提供元はメモしていません。

//------------------------------
// 管理画面にカテゴリーID表示
//------------------------------

add_filter( 'manage_edit-category_columns', 'wpse_77532_cat_edit_columns' );
add_filter( 'manage_category_custom_column', 'wpse_77532_cat_custom_columns', 10, 3 );
add_action( 'admin_head-edit-tags.php', 'wpse_77532_column_width' );

/**
 * Register the ID column
 */
function wpse_77532_cat_edit_columns( $columns )
{
    $in = array( "cat_id" => "ID" );
    $columns = wpse_77532_array_push_after( $columns, $in, 0 );
    return $columns;
}   

/**
 * Print the ID column
 */
function wpse_77532_cat_custom_columns( $value, $name, $cat_id )
{
    if( 'cat_id' == $name ) 
        echo $cat_id;
}

/**
 * CSS to reduce the column width(カラムの幅を調整)
 */
function wpse_77532_column_width()
{
    // Tags page, exit earlier
    if( 'category' != $_GET['taxonomy'] )
        return;

    echo '';
}

/**
 * Insert an element at the beggining of the array
 */
function wpse_77532_array_push_after( $src, $in, $pos )
{
    if ( is_int( $pos ) )
        $R = array_merge( array_slice( $src, 0, $pos + 1 ), $in, array_slice( $src, $pos + 1 ) );
    else
    {
        foreach ( $src as $k => $v )
        {
            $R[$k] = $v;
            if ( $k == $pos )
                $R       = array_merge( $R, $in );
        }
    }
    return $R;
}

こんな感じになります。

投稿ID 取得 管理画面

タグIDを表示する方法

管理画面にタグID(tag ID)を表示し、ID順に整列する方法です。

http://stackoverflow.com/questions/31355897/sort-tags-by-tag-id-in-wordpress-admin-panel

add_filter('manage_edit-post_tag_columns','post_tag_columns_func');
function post_tag_columns_func($columns){
    $columns[ 'id' ]='ID';
    return $columns;
}
add_filter('manage_edit-post_tag_sortable_columns','post_tag_sortable_columns_func');
function post_tag_sortable_columns_func($columns){
    $columns['id']='ID';
    return $columns;
}
add_filter('manage_post_tag_custom_column','add_post_tag_column_content',10,3);
function add_post_tag_column_content($content,$column,$id){
    return $id;
}

こんな感じで表出されます。ID▲マークをクリックすれば、昇順、降順の切り替えができます。

タグID 取得 管理画面

functions.php の記述法の探し方

投稿IDやカテゴリーIDの表示方法は、いろんなやり方があります。

日本語情報もいろいろ出ていますが、英語圏のサイトから拾った方が便利な時もあるので、キーワードの設定の仕方です。

たとえば、タグIDを探す場合。

add tag id column wordpress

show tag id admin panel wordpress

いろいろ組み合わせて、お気に入りの記述を探して下さい。

phpMyadminを使ってリストをエクスポート

データベースの扱いに慣れた方なら、phpMyadminを使って、IDリストをSQLファイルとしてエクスポートすることができます。

たとえば、カテゴリーIDの一覧表を作成したい場合。

wp_terms を開き、取得したい列にチェックをいれ、『エクスポート』をクリックします。

カテゴリーID 取得 管理画面

『実行』でファイルをダウンロード。

カテゴリーID 取得 管理画面

こんな感じでリスト表示されるので、一枚、プリントアウトして手元に持っておくと、いちいち管理画面を開いて確認する必要がないので、サイトをカスタマイズする時に便利です。

カテゴリーID 取得 管理画面

タグIDも同じように wp_terms の後ろの方に格納されています。どこに何が格納されているか分からない場合は、いったん、wp_terms を丸ごとエクスポートして、テキストエディタで必要な項目だけコピペする方法もあります。

慣れないうちは、丸ごとエクスポートの方が安全かもしれません。

投稿のタイトル、ID、抜粋などをリストでエクスポート

同じ要領で、投稿のタイトル、ID、日時、抜粋など、必要な項目だけリストでエクスポートすることも可能です。

wp_postsの『構造』を表示し、エクスポートしたい項目にチェックを入れます。

投稿 リスト表示 phpMyadmin

『チェックしたものを表示』で、リスト化したい内容を確認します。

投稿 リスト表示 phpMyadmin

内容に間違いなければ、『エクスポート』して、SQLファイルとして出力します。

投稿 リスト表示 phpMyadmin

こんな感じで一覧が取得できます。投稿記事の管理に便利です。

投稿 リスト表示 phpMyadmin

データベースの操作する時は必ずバックアップをとってから行って下さい。

Posted by 阿月まり