Php 按post_meta和(作者)用户_meta自定义WP_查询顺序
我遇到了一个在谷歌和其他地方找不到的问题。 把问题放在上下文中。 我正在制作一个wordpress网站,用户可以把他们的导师名单放在那里,以提供一个教程,我正在实施对导师的评估系统,他们自己和他们的听力。 所以我有导师列表帖子类型,每个导师列表都有一个“post\u score”的元值,每个导师(发布教程的用户)都有一个名为“user\u points”的用户元值 因此,我需要一个WP\u查询,该查询将从数据库中获取所有已发布的导师列表,但按排序(post\u score+用户积分)。只是强调一下,“post_score”是post_类型tutor_列表的post_meta,“user_points”是该帖子作者(tutor_列表)的user_meta。 我还需要在循环中显示该值 我可以通过Php 按post_meta和(作者)用户_meta自定义WP_查询顺序,php,custom-post-type,wordpress,Php,Custom Post Type,Wordpress,我遇到了一个在谷歌和其他地方找不到的问题。 把问题放在上下文中。 我正在制作一个wordpress网站,用户可以把他们的导师名单放在那里,以提供一个教程,我正在实施对导师的评估系统,他们自己和他们的听力。 所以我有导师列表帖子类型,每个导师列表都有一个“post\u score”的元值,每个导师(发布教程的用户)都有一个名为“user\u points”的用户元值 因此,我需要一个WP\u查询,该查询将从数据库中获取所有已发布的导师列表,但按排序(post\u score+用户积分)。只是强调一
$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_查询能提供这样的功能吗?
我需要WP_查询来使用它的所有额外功能,比如分页等。
或者,是否有一种方法可以将自定义sql的所有结果传递给WP_查询对象
谢谢我认为您应该能够通过指定
meta_键
然后将meta_查询
添加到$args
中来实现这一点。看看吧,有一个“orderby”和“meta\u value”以及自定义post type”部分。是的,我可以通过post\u meta
获得订单,我可以制作多个post\u meta
类似的内容,但我不知道如何获取作者用户\u meta
的值,并将它们添加到总分中,然后按itI需要此功能用于分页。但我找到了解决方案,如何将$wpdb
转换成$wp_query
并进行分页。解决办法是