タグ: ID

  • WordPress 管理画面の投稿・ページ一覧に投稿IDとページIDを追加する便利な functions.php のコードを書いてみた。

    WordPress 管理画面の投稿・ページ一覧に投稿IDとページIDを追加する便利な functions.php のコードを書いてみた。

    「投稿とかページのIDを簡単に調べたいんだけど!!!」

    ということなので調べて実装してみた。

    投稿IDを使ってどうこうするってのはページで使うことが多いですかね、さて。

    コードだけ見れればいい、って方は読まずに一番下までいってください。

     

    関数をフックするポイントは 4つ

    投稿・ページ一覧画面に ID を表示できればいいので、一覧のタイトル・行 x2 の 4つでした。

    関数の説明は割愛、Codex リンクでお届け。

     

    manage_pages_columns

    ページ一覧の行タイトルを操るフック。

     

    manage_pages_custom_column

    Codex にはまだドキュメントがありませんね。

    http://codex.wordpress.org/Plugin_API/Action_Reference/manage_pages_custom_column

    ただ、後述の manage_posts_custom_column と内容はほぼ一緒です。

     

    manage_posts_columns

    投稿一覧の行タイトルを操るフック。

     

    manage_posts_custom_column

    投稿一覧の各行を操るフック。

     

    Codex はサンプルのコードが載っているのでほんとわかりやすいですね。

    ということでしゅっと実装して↓

     

    IDを表示するコードができた

    こんな感じ。

    functions.php に書くと、投稿・ページ一覧に ID が表示されるようになります。

    /**
     * 投稿・ページ行タイトルに項目 ID を追加する関数
     *
     * @param $columns
     *
     * @return mixed
     */
    function add_id_to_columns_title( $columns ) {
    	// 行タイトルに post_id を配列キーとした ID という名前を追加
    	$columns['post_id'] = __( 'ID' );
    	// post_id 用のスタイル
    	echo '<style>.column-post_id{width:40px;}</style>';
    	return $columns;
    }
    // 関数をフックして適用
    add_filter( 'manage_posts_columns', 'add_id_to_columns_title' );
    add_filter( 'manage_pages_columns', 'add_id_to_columns_title' );
    
    /**
     * 各行に投稿 ID を出力
     *
     * @param $column
     * @param $post_id
     */
    function add_id_to_column_rows( $column, $post_id ) {
    	switch ( $column ) {
    		// 行のキーが post_id なら ID を出力
    		case 'post_id':
    			echo "<span class='$column-$post_id'>$post_id</span>";
    			break;
    		default:
    			break;
    	}
    }
    // 関数をフックして適用
    add_filter( 'manage_posts_custom_column', 'add_id_to_column_rows', 10, 2 );
    add_filter( 'manage_pages_custom_column', 'add_id_to_column_rows', 10, 2 );
    投稿一覧にIDが表示されましたー
    投稿一覧にIDが表示されましたー

     

    ちなみに、並び替えの実装はしてないので並び替えはできません。

    需要があればやろうかしら。

     

    まとめ

    プラグインを使ったらできることをあえて、プラグインを使わずやることで勉強になりますほんと。

    カテゴリやタグでも他のフックを使えば色々できそうですね。