管理画面の固定ページ一覧、投稿一覧に「スラッグ」を追加表示する方法
WordPressの管理画面で固定ページ一覧と投稿一覧を表示すると、タイトル・作成者・日付などは確認できますが、デフォルトでは「スラッグ(URLの一部)」が表示されません。
サイト運営でページ管理を効率化するために、スラッグを固定ページ一覧、投稿一覧に表示させる方法をご紹介します。
functions.phpにコードを追加
子テーマの functions.php
に以下のコードを追加してください。
これで管理画面の「固定ページ一覧」に「スラッグ」列が表示されます。
// ------------------------------
// 固定ページ一覧、投稿一覧に「スラッグ」を追加
// ------------------------------
// 固定ページ一覧にスラッグ列を追加
add_filter('manage_pages_columns', function($columns) {
$columns['slug'] = 'スラッグ';
return $columns;
});
add_action('manage_pages_custom_column', function($column, $post_id) {
if ($column === 'slug') {
$post = get_post($post_id);
$slug = $post->post_name;
echo '' . esc_html($slug) . '';
}
}, 10, 2);
// 投稿一覧にスラッグ列を追加
add_filter('manage_posts_columns', function($columns) {
$columns['slug'] = 'スラッグ';
return $columns;
});
add_action('manage_posts_custom_column', function($column, $post_id) {
if ($column === 'slug') {
$post = get_post($post_id);
$slug = $post->post_name;
echo '' . esc_html($slug) . '';
}
}, 10, 2);
// 管理画面用CSSを読み込む
add_action('admin_enqueue_scripts', function($hook) {
// 投稿一覧(edit.php)、固定ページ一覧(edit-pages.php)のみ
if (in_array($hook, ['edit.php', 'edit-pages.php'])) {
wp_enqueue_style(
'admin-columns-style',
//お使いのcssファイル名に変更
get_stylesheet_directory_uri() . '/style.css'
);
}
});
// CSSを読み込む
add_action('admin_enqueue_scripts', function($hook) {
if ($hook === 'edit.php' || $hook === 'edit-pages.php') {
//お使いのcssファイル名に変更
wp_enqueue_style('my-admin-style', get_stylesheet_directory_uri() . '/style.css');
}
});
補足:
manage_pages_columns
フィルターで「スラッグ」列を追加。manage_pages_custom_column
アクションで実際のスラッグを表示。$post->post_name
がスラッグに相当します。get_stylesheet_directory_uri() . '/style.css'
の「style」部分にご自身のお使いのcssファイル名に変更。
子テーマのディレクトリ構造
- child-theme/
- style.css
- functions.php
- footer.php
- header.php
- js/
- mybox.js
- images/
- logo.png
汎用CSS
管理画面のスタイルに以下を追加すると見やすくなります。
/* -----------------------------
* 固定ページ一覧、投稿一覧に「スラッグ」を追加
----------------------------- */
/* 投稿・固定ページ一覧のカラム調整 */
.column-title { width: 20% !important; } /*タイトル列*/
.column-author { width: 10% !important; } /*投稿者列*/
.column-categories { width: 12% !important; } /*カテゴリ列*/
.column-tags { width: 12% !important; } /*タグ列 */
.column-date { width: 10% !important; } /*日付列*/
.column-slug { width: 12% !important; max-width: 120px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } /*スラッグ列(自作)*/
.column-thumbnail img { width: 80px; height: auto; } /*アイキャッチ画像列*/
補足:
- 管理画面専用CSSは 存在する列だけに効く ので、固定ページと投稿一覧で列が違っても大丈夫。
- 万一、将来的に新しい列を追加した場合は、必要に応じて .column-○○ の幅を追加すればOK。
(例)
まとめ
このコードを追加することで、WordPress管理画面の固定ページと投稿一覧に「スラッグ」が表示されます。大規模サイトや固定ページが多い場合、ページ管理の効率化にとても役立ちます。