【WordPress】フロントでIntuitive Custom Post Orderの並び替えが効かないとき
状況
ドラッグ&ドロップで並び替えができる便利なプラグインIntuitive Custom Post Orderで、管理画面は並び替えられているのにフロント側では反映されていないな…?っていうときのメモ。
原因
要約すると
- 並び順はmenu_orderとして保存されている
- カスタムタクソノミーアーカイブ(taxonomy-○○.php)ではデフォルトの日付順に表示されてしまうことがある
ようです。
解決策
query_posts()でmenu_order順に並び替えるようにすれば解決しますが、検索するとテンプレート内でquery_posts()を使うような解決策が提示されているページが多く出てくるので注意。function.phpに記載するようにします。
下記は、カスタムタクソノミー「download」アーカイブページで並び順をmenu_order順にしてくれっていうアクションフックです。
function download_sort_order($query)
{
if (is_admin() || !$query->is_main_query()) {
return;
}
if ($query->is_tax('download')) {
$query->set('orderby', 'menu_order');
$query->set('order', 'ASC');
}
}
add_action('pre_get_posts', 'download_sort_order');
参考
- Intuitive Custom Post Orderで並び替えが出来ない時の原因と対策 | オランダで生きていく
https://nldot.info/intuitive-custom-post-order-causes-and-countermeasu... - カスタム投稿タイプでIntuitive Custom Post Orderの並び替えが効かない場合 – note for coding
https://lib.ridesign.jp/lib_wp/postorder/ - メインループのクエリ条件を正しい方法で変更する | The WordPress Press
https://thewppress.com/libraries/alters-query-conditions-in-a-right-wa...
関連記事
-
WordPress
【WordPress】管理画面をカスタマイズする
-
WordPress 関数の使い方
【WP】wp_get_archivesがリンク先エラーになる
-
TIPS WordPress
404ページを設定する
-
WordPress プラグイン
【WordPressプラグイン】Advanced Custom Fieldsの出力
-
WordPress
【WordPress】ループ内でカテゴリーの取得と表示
-
WordPress 関数の使い方
【WordPress】サブループで記事の読み込み
-
WordPress 関数の使い方
【WordPress】ページネーションを作る
-
PHP WordPress
term_description()からpタグを消す