1 から 10 までの値を持つ「評価」と呼ばれるカスタム フィールドがあります。私が望むのは、評価に応じて検索結果を並べ替える (ボタンをクリックするなど)ことを選択できることです。
このコードを見つけました。しかし問題は、投稿を評価順にするかどうかを選択できないことです。投稿を自動的に並べ替えます。これは、コピーして functions.php に貼り付けたコードです。
add_filter('posts_join', 'add_join' );
function add_join($pjoin){
global $wpdb;
$pjoin .= "LEFT JOIN (
SELECT *
FROM $wpdb->postmeta
WHERE meta_key = 'rating' ) AS postmeta ON $wpdb->posts.ID = postmeta.post_id";
return ($pjoin);
}
add_filter('posts_orderby', 'change_sortorder' );
function change_sortorder( $orderby ){
global $wpdb;
$orderby = "postmeta.meta_value+0 DESC";
return $orderby;
}