WordPressの固定ページ一覧の並び順を更新順にしてみました。
やりたいこと
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=modified
と orderby=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は、以下の引数をとります。
- (必須)親メニューのスラッグ
- (必須)ページのタイトル
- (必須)メニューのタイトル
- (必須)権限
- (必須)リンクのスラッグ
- (任意)コールバック関数
- (任意)メニューの位置を数字で指定
今回はメニュー【固定ページ】(WPに標準で用意されている)の中に、サブメニューとして設定しています。なので、
親メニューのスラッグ : edit.php?post_type=page
リンクのスラッグ : edit.php?post_type=page&orderby=modified
としています。
こうすると、メニュー【固定ページ】に、固定ページ(更新順) というメニュー項目が追加されます。この項目のリンク先が edit.php?post_type=page&orderby=modified
です。
functions.phpに記述する
上記のコードを、お使いのテーマのfunctions.phpに記述すれば完成です。