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が表示されましたー

 

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

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

 

まとめ

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

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


投稿日

カテゴリー:

投稿者:

コメント

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

  1. beatride Avatar

    素晴らしすぎて鼻血出そう…(*´∀`*)

コメント、してみません?