小金井にあるWEB制作会社の備忘録

MEMORANDUM

WordPress(ワードプレス)の管理画面の投稿(個別ページ)一覧に独自カラムを追加する

WordPress(ワードプレス)でサイトを運用していく際に、投稿ページ(カスタム投稿)や個別ページに独自の入力項目(カスタムフィールド)を追加することがあります。
編集ページに移動すると内容を確認できますが、内容によっては一覧ページの段階で確認できる方が便利なので対応方法をメモ。

function.php(PHP)

function my_adv_posts_columns($columns) {
	$columns['my_adv_post'] = 'オリジナルカラムの名称';
	return $columns;
}

function add_column($column_name, $post_id){	
	if($column_name == 'my_adv_post'){	
		$get_value = get_post_meta($post_id, 'my_adv_post_state', true);
		if(isset($get_value) && $get_value == 1 ) {
			echo('表示する');
		}else{
			echo('表示しない');
		}
	}
}

//投稿ページに適応
add_filter('manage_posts_columns', 'my_adv_posts_columns');
add_action('manage_posts_custom_column', 'add_column', 10, 2);

//個別ページに適応
add_filter('manage_pages_columns', 'my_adv_posts_columns');
add_action('manage_pages_custom_column', 'add_column', 10, 2);

//カスタム投稿タイプに適応(○○○○はカスタム投稿の投稿タイプ名)
add_filter('manage_○○○○_posts_columns', 'my_adv_posts_columns');
add_action('manage_○○○○_posts_custom_column', 'add_column', 10, 2);

参考例は投稿ページと個別ページ、カスタム投稿のそれぞれのページに広告表示の可否をカスタムフィールド「my_adv_post_state」を作成して、入力された値に応じて表示したもの。

同一カテゴリーの記事