「投稿とかページの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 );
ちなみに、並び替えの実装はしてないので並び替えはできません。
需要があればやろうかしら。
まとめ
プラグインを使ったらできることをあえて、プラグインを使わずやることで勉強になりますほんと。
カテゴリやタグでも他のフックを使えば色々できそうですね。
素晴らしすぎて鼻血出そう…(*´∀`*)