Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 按post_meta和(作者)用户_meta自定义WP_查询顺序_Php_Custom Post Type_Wordpress - Fatal编程技术网

Php 按post_meta和(作者)用户_meta自定义WP_查询顺序

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+用户积分)。只是强调一

我遇到了一个在谷歌和其他地方找不到的问题。 把问题放在上下文中。 我正在制作一个wordpress网站,用户可以把他们的导师名单放在那里,以提供一个教程,我正在实施对导师的评估系统,他们自己和他们的听力。 所以我有导师列表帖子类型,每个导师列表都有一个“post\u score”的元值,每个导师(发布教程的用户)都有一个名为“user\u points”的用户元值

因此,我需要一个WP\u查询,该查询将从数据库中获取所有已发布的导师列表,但排序(post\u score+用户积分)。只是强调一下,“post_score”是post_类型tutor_列表的post_meta,“user_points”是该帖子作者(tutor_列表)的user_meta。 我还需要在循环中显示该值

我可以通过

$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
并进行分页。解决办法是