Php WP_按自定义元值查询顺序,然后按修改的顺序查询
我正在尝试订购一个包含Php WP_按自定义元值查询顺序,然后按修改的顺序查询,php,wordpress,Php,Wordpress,我正在尝试订购一个包含meta\u查询的wp\u查询。 经过一些不同的方法之后,似乎查询无法排序,因为我包含了meta_查询,并且默认情况下使用了orderby=>ID,它不能被覆盖。关于如何实现这一点有什么想法吗? 下面是我用来按元值显示帖子的PHP代码: $paged = get_query_var('paged') ? get_query_var('paged') : (get_query_var('page') ? get_query_var('page') : 1); $args =
meta\u查询的wp\u查询
。
经过一些不同的方法之后,似乎查询无法排序,因为我包含了meta_查询
,并且默认情况下使用了orderby=>ID
,它不能被覆盖。关于如何实现这一点有什么想法吗?
下面是我用来按元值显示帖子的PHP代码:
$paged = get_query_var('paged') ? get_query_var('paged') : (get_query_var('page') ? get_query_var('page') : 1);
$args = array(
'post_type' => 'post',
'post_status' => 'publish',
'paged' => $paged,
'meta_query' => array(
array(
'key' => 'subtitrare',
'value' => 'romana',
'compare' => 'LIKE'
)
)
);
$listing_query = null;
$listing_query = new WP_Query($args);
if ($listing_query->have_posts()) : get_template_part('loop-item');
endif;
wp_reset_postdata();
如您所见,我还对结果进行分页,因此可以使用相同的$args
。我曾尝试使用自定义函数来重新排列结果,但对我来说不起作用
$args = array(
'post_type' => 'post',
'post_status' => 'publish',
'paged' => $paged,
'orderby' => 'modified',
'order' => 'DESC',
'meta_query' => array(
array(
'key' => 'subtitrare',
'value' => 'romana',
'compare' => 'LIKE'
)
)
);
这是你需要的代码,但你已经说过你尝试过了。这将返回所有自定义字段值设置为“romana”的帖子。使用此代码会得到什么结果
这是你需要的代码,但你已经说过你尝试过了。这将返回所有自定义字段值设置为“romana”的帖子。使用此代码的结果是什么?您希望它的订购者是什么?尝试订购者->修改,但未成功。所以我想按修改后的日期分类,我要重新表述一下。我想重新排列结果,在他们的帖子在wp_帖子中修改后。因此,它们首先使用默认的meta_id按meta_值排列,结果按post_modified重新排列。您希望它按什么排序?尝试按orderby->modified,但没有成功。所以我想按修改后的日期分类,我要重新表述一下。我想重新排列结果,在他们的帖子在wp_帖子中修改后。因此,它们首先使用默认的meta_id按meta_值排列,然后根据post_modified重新排列结果。这是我第一次尝试。相信我:)。。。问题是,由于元查询,查询忽略了此orderby。。。默认情况下,meta_查询是按meta_id排列的(我认为),所以如果您在查询中放置另一个“orderby”,则id并不重要。。。这需要另一种方法,如“存储”或任何第一个查询,并在修改post_后重新排列它。很明显,你的建议不起作用,虽然我第一次尝试了,但我现在再次尝试,仍然没有改变,这是我第一次尝试。相信我:)。。。问题是,由于元查询,查询忽略了此orderby。。。默认情况下,meta_查询是按meta_id排列的(我认为),所以如果您在查询中放置另一个“orderby”,则id并不重要。。。这需要另一种方法,如“存储”或任何第一个查询,并在修改post_后重新排列它。很明显,你的建议不起作用,尽管我第一次尝试了,但我现在再次尝试,仍然没有改变。