トピック投稿者
yuki
(@yuki84yuki)
ありがとうざいます。
>//クエリがあるかどうか調べて、なかったら(無限ループになるので)
という記述がありましたが、カスタム投稿一覧では”wp-admin/edit.php?post_type=スラッグ”というようにクエリが付与されるので、無限ループになってしまうようです。
すいません、yuki84yukiさん。
検証はしてなかったのですが、とりあえず試してみました。
アドレスが、リダイレクトされませんでした。
それで、投稿一覧にカラムを追加して降順、昇順を付けてみたのですが、
ちゃんと並び変わりませんでした。
お役に立てず申し訳ありません。
ioxrxogiさんが提示してくださった参考記事のほうで
nobitaさんがチラッと書いていらっしゃいますけど、
pre_get_posts
を使ってできますよ。
以下をfunctions.phpに追記してみてください。
他に書いているコードとの関係でNGなこともあるかもしれませんけど。
// 管理画面での表示リスト順変更
add_action( 'pre_get_posts', 'custom_post_sort' );
function custom_post_sort( $query ) {
if ( ! $query->is_main_query() )
return;
elseif ( is_admin()
&& ( isset( $query->query_vars['post_type'] ) && $query->query_vars['post_type'] == '【カスタム投稿タイプ名】' ) ) {
$query->set( 'meta_key', '【カスタムフィールド名】' );
$query->set( 'orderby', 'meta_value_num' );
$query->set( 'order', 'DESC' ); // 降順
}
}
Pineapplenさん、試してみました。
わたしの環境ではちゃんと動きました。
あとは、yuki84yukiさんの環境で動くかどうかですね。
トピック投稿者
yuki
(@yuki84yuki)
– $query->set( ‘orderby’, ‘meta_value_num’ );
+ $query->set( ‘orderby’, ‘【カスタムフィールド名】’ );
として試して上手くいきました。
ioxrxogi さん、Pineapplen さん、ありがとうございました。