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