LoginSignup
1
1

More than 3 years have passed since last update.

WordPressの固定ページ一覧を更新順に並べて表示する

Posted at

WordPressの固定ページ一覧の並び順を更新順にしてみました。
page-modified.png

やりたいこと

WordPress管理画面の固定ページ一覧の表示順を変更する。

URLで設定できる

WordPressの固定ページ一覧の並び順は、URLで設定できます。以下のように、GET引数を追加するだけでOKです。

初期設定の固定ページ一覧
https://管理画面/edit.php?post_type=page
更新順に変更
https://管理画面/edit.php?post_type=page&orderby=modified

https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/WP_Query の orderby の指定が使えるようです。(当方で検証したのは、orderby=modifiedorderby=ID のみ)

管理画面にリンクを追加したい

さて、更新順のページを表示するために、URLを毎回入力するのは大変ですね。なので、管理画面にリンクを追加します。

WordPressに用意されているadd_submenu_page関数を使うと簡単です。

// 固定ページの表示順
function ounziw_page_menu() {
    add_submenu_page( 'edit.php?post_type=page', '固定ページ(更新順)', '固定ページ(更新順)',
        'edit_pages', 'edit.php?post_type=page&orderby=modified' );
}
add_action( 'admin_menu', 'ounziw_page_menu' );

add_submenu_pageは、以下の引数をとります。
1. (必須)親メニューのスラッグ
2. (必須)ページのタイトル
3. (必須)メニューのタイトル
4. (必須)権限
5. (必須)リンクのスラッグ
6. (任意)コールバック関数
7. (任意)メニューの位置を数字で指定

今回はメニュー【固定ページ】(WPに標準で用意されている)の中に、サブメニューとして設定しています。なので、
親メニューのスラッグ : edit.php?post_type=page
リンクのスラッグ : edit.php?post_type=page&orderby=modified
としています。

こうすると、メニュー【固定ページ】に、固定ページ(更新順) というメニュー項目が追加されます。この項目のリンク先が edit.php?post_type=page&orderby=modified です。

functions.phpに記述する

上記のコードを、お使いのテーマのfunctions.phpに記述すれば完成です。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1