Php wordpress自定义orderby语句

Php wordpress自定义orderby语句,php,wordpress,loops,Php,Wordpress,Loops,我试图显示一个自定义的post类型列表,该列表由位于其自身表中的值排序。我正在使用一个名为wti_like_posts的插件,它允许用户通过向上/向下的方式对帖子进行评分 该表包含附加的分数和post_id。我希望能够在查询中为已经存在的“orderby”选项添加一个“rating”选项,以便在查询帖子时将该分数考虑在内 你知道有什么好办法吗?我想我必须使用add_过滤器,但我已经尝试过了,无法找到它。任何帮助都将不胜感激 提前感谢您必须构建一个自定义sql查询,以联接两个表以获得结果 glob

我试图显示一个自定义的post类型列表,该列表由位于其自身表中的值排序。我正在使用一个名为wti_like_posts的插件,它允许用户通过向上/向下的方式对帖子进行评分

该表包含附加的分数和post_id。我希望能够在查询中为已经存在的“orderby”选项添加一个“rating”选项,以便在查询帖子时将该分数考虑在内

你知道有什么好办法吗?我想我必须使用add_过滤器,但我已经尝试过了,无法找到它。任何帮助都将不胜感激


提前感谢

您必须构建一个自定义sql查询,以联接两个表以获得结果

global $wpdb; 
$sql = "SELECT * FROM ".$wpdb->prefix."wp_posts, ".$wpdb->prefix."ratings_table WHERE wp_post.id = ratings_table.post_id";
$posts = $wpdb->get_results($sql);
echo "<ul>";
foreach ($posts as $post){
    echo '<li>'.$post->title.'|'.$post->score.'<br/>';
    echo '</li>';
}
echo "</ul>";

谢谢你的回答!我已经用这个方法运行了一个列表。但问题是,我想将orderby选项添加到wordpress选项中,这样我就可以使用它,例如,
get\u posts('post\u type=type&num\u posts=10&orderby=rating&meta\u key=foo[…])
。因为我想用它来动态过滤带有不同参数(分类法、搜索、作者等)的结果……问题是,我想要的值不在wp_posteta表中,而是在它自己的表中。。。这就是为什么我不能用这个方法。。。meta_key=foo只是一个例子,因为我想告诉你我的请求中已经有很多参数,忽略它吧。。。
$args = array(
 'numberposts'     => 10,
 'offset'          => 0,
 'orderby'         => 'meta_value',
 'order'           => 'ASC', 
 'meta_key'        => 'rating', 
 'post_type'       => 'post',
 'post_status'     => 'publish' 
 );
 $results = get_posts( $args );