我有一个名为“评级”的自定义字段,其值从 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;
}