タグでの記事並べ替えは確か出来なかったと思います。WP_Queryはカスタムフィールドなら並べ替えが出来るため、
・カスタム投稿タイプにアーカイブが有る
・タグを使わない(もしくはもう一手間かける)
という条件であれば出来るような気がします。
- カスタムフィールドに「open」フラグを持つものを作る
pre_get_posts
でカスタム投稿タイプの場合条件を追加する
'meta_key' と 'orderby' でカスタムフィールドでの並べ替えを行う。
0. (タグを使う場合)記事の保存にフックしてタグが付いた場合はカスタムフィールドに「open」フラグを入れる
当然タグが外れたタイミングでも同じくカスタムフィールドを操作。
PHP
1// 未テスト(こういう感じ、という例)
2function custom_query_pre_get_posts( $query ) {
3 if ( is_admin() || !$query->is_main_query() ) { return $query; } // 管理画面は除外
4 if ( is_post_type_archive( 'custom_post_type_name' ) ) { // カスタム投稿タイプ名 'custom_post_type_name'
5 $query->set( 'meta_key', 'custom_field_name' ); // カスタムフィールド名 'custom_field_name'
6 $query->set( 'orderby', array( 'meta_value_num' => 'ASC', 'date' => 'DESC' ) ); // 並び順を指定
7 }
8 return $query;
9}
10add_action( 'pre_get_posts', 'custom_query_pre_get_posts' );
11/* 3. のコードは書いていません */
【WordPress ≫ 記事の絞り込みや並び替えを行う | MORILOG】
http://morilog.com/wordpress/tips/custom_parse_query/
【カスタムフィールドで並び替え:WordPress私的マニュアル】
http://elearn.jp/wpman/column/c20130809_01.html
【WordPressのカスタムフィールドでソートする | com4tis】
http://com4tis.net/wordpress-customfield-sort/
【もっと簡単版!WordPress 投稿の並び順の条件(orderby)を複数にして、それぞれの並べ方(order)を別々に指定したい。 - かもメモ】
http://chaika.hatenablog.com/entry/2015/12/25/154244
もしこの方法を採られる場合は、複合キーワードでの検索は案外難しいのでトライ&エラーが必須ですので、がんばってください。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/05/27 01:38
2016/05/27 01:57
2016/05/27 04:17