WordPress移転記14


元コードはこちら(EXP「【WordPress 4.0】新機能を試す – 投稿記事の表示順を複数の条件で指定!」)
めんどくさいのでテキストボックス化してなくてTABによる空白が死んでいるので正しくコピペするなら参考元からお願いします。

add_post_type_support( ‘post’, ‘page-attributes’ );

これで属性がつけれるようにする。
記事を投稿するページの表示オプション(画面右上)から「投稿の属性」にチェックをいれると入力窓が出てくるぞ。

add_action( ‘pre_get_posts’, ‘foo_modify_main_queries’ );
function foo_modify_main_queries ( $query ) {
if ( is_admin() || ! $query -> is_main_query() )
return;
if ( $query -> is_category( array( ‘phone’,’wordpress’ )) ) {
$query -> set( ‘post_type’, ‘post’ );
$query -> set( ‘orderby’, ‘menu_order’ );
$query -> set( ‘order’, ‘ASC‘ );
return;
}
}

‘phone’,’wordpress’って入れてるのがカテゴリーの「スラッグ」という個別ID。ここではわかりやすく2つ表示。
ASCが古→新、DESCが新→古。通常はDESC。
arrayがないと複数設定できないのでこの通りに。今後増やす可能性があるなら最初から入れておいたほうが楽だろう。

3行くらいでできるのもあったんだが、月別アーカイブが見るも無残なほどにぐっしゃぐしゃになったので諦めかけてた。
ページ内にそのカテゴリが含まれると強制で整列するようになってたな。そのために読めなくなる記事があったので放置はできなかった。
ファイルアップロードソフトはFTP……と制限するのもおかしい話だが、wordpress画面外でファイル更新できる術が無いと復旧厳しいので使えた方がいい。
コード修正後更新ボタン押してからF5で直る鯖もあるっちゃあるが、全部じゃないだろうしなぁ。
なんにせよ、これ使えると用途に幅ができるのは間違いないので連載記事あるなら入れてて損はないだろう。