在自定义字段中列出并在Wordpress上使用第二个自定义字段进行排序

时间:2019-12-06 16:31:43

标签: php wordpress

我有一个页面,我在其中通过称为“国家”的自定义字段列出项目。这是我当前的代码:

<?php

$paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1;

$args = array (
'posts_per_page' => 24,
'paged'          => $paged,
'category_name' => 'food', 
'meta_key'       => 'country',
'meta_value'     => 'Italy'
);

$custom_query = new WP_Query( $args );

while($custom_query->have_posts()) :
$custom_query->the_post();


..............



endwhile;
wp_reset_query ();
?>

现在,我想添加另一个名为“ order”的自定义字段(数字),该字段通过新的数字自定义字段“ order”对“ country”列出的项目进行排序。

我该怎么办?

谢谢大家

P.s。对不起,我的英语不好,但我是意大利语;)

1 个答案:

答案 0 :(得分:1)

您必须使用WordPress元查询在其中传递多个自定义字段值。您可以按参数使用订单。请参考以下示例。

$q = new WP_Query( array(
'meta_query' => array(
    'relation' => 'AND',
    'country_clause' => array(
        'key' => 'country',
        'value' => 'italy',
    ),
    'order_clause' => array(
        'key' => 'city',
        'compare' => 'EXISTS',
    ), 
),
'orderby' => 'order_clause', // Results will be ordered by 'city' meta values.
) );

请尝试。