ダッシュボード 管理画面のページ一覧にタクソノミーやカスタムフィールドを表示する

スラッグを表示

// 固定ページ一覧にスラッグを表示する
function add_page_columns_name($columns) {
	$columns['slug'] = "スラッグ";
	return $columns;
}
function add_page_column($column_name, $post_id) {
	if( $column_name == 'slug' ) {
		$post = get_post($post_id);
		$slug = $post->post_name;
		echo attribute_escape($slug);
	}
}
add_filter( 'manage_pages_columns', 'add_page_columns_name');
add_action( 'manage_pages_custom_column', 'add_page_column', 10, 2);

カスタムフィールドを表示

// 管理画面のカスタムポストの一覧にカスタムフィールド表示
// タイトル表示
add_filter( 'manage_{PostType}_posts_columns', 'add_manage_posts_columns' );
function add_manage_posts_columns($columns) {
	$columns['カラム名'] = "カラム名";
	return $columns;
}
// 項目表示
add_action( 'manage_{PostType}_posts_custom_column', 'manage_add_column', 10, 2 );
function manage_add_column($column_name, $post_id) {
	if( $column_name == 'カラム名' ) {
		echo attribute_escape(get_post_meta($post_id, 'カラム名', true));
	}
}

タクソノミー表示

// 管理画面のカスタムポストの一覧にタクソノミーフィールド表示
// タイトル表示
add_filter('manage_edit-{PostType}_columns', 'add_custom_column');
function add_custom_column( $defaults ) {
	$defaults['タクソノミー名'] = 'タクソノミータイトル';
	return $defaults;
}

// 項目表示
add_action('manage_{PostType}_posts_custom_column', 'add_custom_column_id', 10, 2);
function add_custom_column_id($column_name, $post_id) {
	if( $column_name == 'タクソノミー名' ) {
		echo get_the_term_list($id, 'タクソノミー名', '', ', ');
	}
}

その他
フィールドを複数表示したり、スラッグやIDを表示したり出来るみたいです。。。。

コメントを残す

メールアドレスが公開されることはありません。