我有一个在谷歌和其他网站上找不到的问题。将问题置于上下文中。我正在制作一个wordpress网站,用户可以在其中放置他们的导师列表,以提供教程,并且我正在实现对导师的自我评估和听力评估系统。因此,我有一个tutor\\u列表,每个tutor\\u列表都有一个“post\\u得分”元值,每个tutor(放置教程的用户)都有一个名为“user\\u分”的用户元值。
所以我需要一个WP_Query 将从数据库中获取所有已发布的tutor\\u列表,但sorted by (post\\u得分+ 用户点(user\\u points)。只是强调一下,“post\\u得分”是属于“post\\u类型”的“post\\u meta”,而“user\\u points”是该帖子作者的“user\\u meta”(tutor\\u listing)。我还需要在循环中显示该值。
我可以通过以下方式获得所有tutor\\u列表
$args = array(
\'post_type\' => \'job_listing\',
\'post_status\' => \'publish\'
);
$query = new WP_Query( $args );
我可以从自定义wordpress sql查询中获得如下结果:
SELECT p1.ID, p1.post_author, p1.post_title, p1.post_date, (um1.meta_value + pm1.meta_value) AS total_score
FROM $wpdb->posts p1
JOIN $wpdb->users u1 ON (p1.post_author = u1.ID)
JOIN $wpdb->usermeta um1 ON (um1.user_id = u1.ID)
JOIN $wpdb->postmeta pm1 ON (pm1.post_id = p1.ID)
WHERE p1.post_type = \'tutor_listing\'
AND p1.post_status = \'publish\'
AND um1.meta_key = \'user_points\'
AND pm1.meta_key = \'post_score\'";
WP\\U查询能否提供这样的功能?我需要WP\\u查询来使用它的所有额外功能,如分页等。或者,是否有一种方法可以将使用自定义sql得到的所有结果传递给WP\\U查询对象?
非常感谢。