投稿、固定ページ一覧にスラッグ表示させたいと思う人は多いと思います。
表示させるのは検索すると直ぐに出てきます。しかし、日本語slugの場合はURLエンコードされた文字列になってしまいます。
これは日本語文字列のslugを使いたくない人にはチェックできるのでメリットでもありますが、一方で日本語slug上等という人には見にくくなるだけという、デメリットもあります。
そこで、日本語文字列をurlデコードして表示するように変更したものをご用意しました。
投稿一覧にslugを表示(日本語対応)
//投稿、固定ページ一覧にスラッグ表示
function add_columns_slug($columns) {
$columns['slug'] = "スラッグ";
echo '<style>.fixed .column-slug {width: 10%;}</style>';
return $columns;
}
function add_column_row_slug($column_name, $post_id) {
if($column_name == 'slug') {
$post = get_post($post_id);
$slug = $post->post_name;
//echo esc_attr($slug);
echo urldecode(esc_attr($slug));
}
}
add_filter( 'manage_pages_columns', 'add_columns_slug');
add_action( 'manage_pages_custom_column', 'add_column_row_slug', 10, 2);
add_filter( 'manage_posts_columns', 'add_columns_slug' );
add_action( 'manage_posts_custom_column', 'add_column_row_slug', 10, 2 );
投稿一覧にIDの列を追加
/* 投稿一覧にIDの列を追加 */
function add_posts_columns_postid($columns) {
$columns['postid'] = 'ID';
echo '';
return $columns;
}
add_filter( 'manage_posts_columns', 'add_posts_columns_postid' );
add_filter( 'manage_pages_columns', 'add_posts_columns_postid' );
//IDを表示
function custom_posts_columns_postid($column_name, $post_id) {
if( 'postid' == $column_name ) {
echo $post_id;
}
}
add_action( 'manage_posts_custom_column', 'custom_posts_columns_postid', 10, 2 );
add_action( 'manage_pages_custom_column', 'custom_posts_columns_postid', 10, 2 );
//ソート可能にする
function sort_posts_columns_postid($columns) {
$columns['postid'] = 'ID';
return $columns;
}
add_filter( 'manage_edit-post_sortable_columns', 'sort_posts_columns_postid' );
add_filter( 'manage_edit-page_sortable_columns', 'sort_posts_columns_postid' );
カスタム投稿タイプに適用して、うまく動かない時は、
manage_edit-カスタム投稿名_sortable_columms
を追加する。
参考:https://chiri-tsumo.com/post_page_id/
カテゴリー・タグのID列を追加
//カテゴリー・タグのID列を追加
function add_term_columns( $columns ) {
$index = 2; // 列を追加する位置
return array_merge(
array_slice($columns, 0, $index),
array('id' => 'ID'),
array_slice($columns, $index)
);
}
add_filter('manage_edit-category_columns' , 'add_term_columns');
add_filter('manage_edit-post_tag_columns' , 'add_term_columns');
//IDを表示
function custom_term_columns( $content, $column_name, $term_id ) {
if ( 'id' === $column_name ) {
$content = $term_id;
}
return $content;
}
add_action( 'manage_category_custom_column', 'custom_term_columns', 10, 3 );
add_action( 'manage_post_tag_custom_column', 'custom_term_columns', 10, 3 );
//ソート可能にする
function sort_term_columns($columns) {
$columns['id'] = 'ID';
return $columns;
}
add_filter( 'manage_edit-category_sortable_columns', 'sort_term_columns' );
add_filter( 'manage_edit-post_tag_sortable_columns', 'sort_term_columns' );