【WordPress】管理画面の固定ページ一覧・投稿一覧にスラッグを表示する方法

2018年12月27日 (更新: 2018年12月28日) WordPress

管理画面の固定ページ一覧・投稿一覧にスラッグを表示する方法

Pocket

管理画面の固定ページ一覧は、デフォルトで「タイトル・作成者・コメント・日付」が表示されます。ここに「スラッグが表示できたら便利なのに…!」って思ったこと、ありませんか?

ワードプレスで分岐条件を使う場合、スラッグで指定することが多いので、一覧ページにスラッグが表示されていたら一手間省けて便利ですよね。そこで今回は、管理画面の「固定ページ一覧」や「投稿一覧」などにスラッグを表示する方法をご紹介します。

固定ページ一覧にスラッグを表示するには、functions.php に次のように記載します。フックは「manage_pages_columns」「manage_pages_custom_column」を使います。

/* 固定ページ一覧にスラッグを追加 */
function add_page_column_title( $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 esc_attr( $slug );
  }
}
add_filter( 'manage_pages_columns', 'add_page_column_title' );
add_action( 'manage_pages_custom_column', 'add_page_column', 10, 2 );

次は投稿一覧にスラッグを追加します。固定ページ一覧の「_page(s)」の部分を「_post(s)」に変更するだけです。簡単ですね。

/* 投稿一覧にスラッグを追加 */
function add_post_column_title( $columns ) {
  $columns[ 'slug' ] = "スラッグ";
  return $columns;
}
function add_post_column( $column_name, $post_id ) {
  if( $column_name == 'slug' ) {
    $post = get_post( $post_id );
    $slug = $post->post_name;
    echo esc_attr( $slug );
  }
}
add_filter( 'manage_posts_columns', 'add_post_column_title' );
add_action( 'manage_posts_custom_column', 'add_post_column', 10, 2 );

カスタム投稿タイプを利用している場合は、同じ方法でスラッグが追加できます。投稿一覧の「_post(s)」の部分を「_{$post_type}_post(s)」にするだけです。

/* カスタム投稿タイプ一覧にスラッグを追加 */
function add_{$post_type}_post_column_title( $columns ) {
  $columns[ 'slug' ] = "スラッグ";
  return $columns;
}
function add_{$post_type}_post_column( $column_name, $post_id ) {
  if( $column_name == 'slug' ) {
    $post = get_post( $post_id );
    $slug = $post->post_name;
    echo esc_attr( $slug );
  }
}
add_filter( 'manage_{$post_type}_posts_columns', 'add_{$post_type}_post_column_title' );
add_action( 'manage_{$post_type}_posts_custom_column', 'add_{$post_type}_post_column', 10, 2 );

追加したスラッグの縦列の幅は、デフォルトで「width:25%;」になっているので、一覧ページのレイアウトが少し崩れる可能性があります。

その場合は、CSSでスラッグの幅を修正してレイアウトを整えましょう。下記のように「echo 〜」の部分を一行追加します。widthの値は「10〜20%」の範囲で適切な数値を入力してください。

function add_xxxx_column_title( $columns ) {
  $columns[ 'slug' ] = "スラッグ";
  echo '<style>.fixed .column-slug {width: 10%;}</style>';
  return $columns;
}

以上で管理画面の各一覧ページにスラッグが追加できたと思います。

ところで、この一覧ページに「ID」も表示したいという方がいるかもしれませんね。その場合はプラグインがおすすめです。

「Catch IDs」というプラグインを使えば、固定ページ一覧や投稿一覧はもちろん、カスタム投稿タイプ、カテゴリー、タグ、メディア、コメント、ユーザーなどの一覧にも簡単に「ID」が表示できます。興味のある方は、ぜひ一度試してみてください。
 

この記事が気に入ったら
いいね ! しよう

Pocket