Wordpress meta_value_num无效

时间:2012-05-18 15:26:09

标签: wordpress

我试图通过自定义字段中设置的数值来简单地订购帖子。我已经搜索了在线资源,仍无法确定为什么这不起作用。有什么想法吗?

<?php 
    $args = array(
        'post_type' => 'calendar',
        'meta_key' => 'event_date_new',
        'orderby' => 'meta_value_num',
        'order' => 'DESC'
    );
    $loop = new WP_Query($args);
    while ( $loop->have_posts() ) : $loop->the_post(); ?>
        <h3><?php the_title(); ?></h3>
        <?php echo the_field('event_date_new'); ?>
    <?php endwhile; ?>

2 个答案:

答案 0 :(得分:1)

你尝试过吗? 'orderby' => 'meta_value_num meta_value''orderby' => 'meta_value meta_value_num'

答案 1 :(得分:1)

此查询有效

$wp_query_args['post_type'] = 'event';
$wp_query_args['paged']     = $paged;
$wp_query_args['posts_per_page'] = 10;
$wp_query_args['orderby']   = 'meta_value_num';
$wp_query_args['order']     = 'DESC';
$wp_query_args['meta_key']  = 'event_end_date';
$wp_query_args['meta_query']= array(
                                array(
                                    'key' => 'event_end_date',
                                    'compare' => '<',
                                    'value' => date('Ymd'),
                                )
                            );

此查询不起作用。

$wp_query_args['post_type'] = 'event';
$wp_query_args['paged']     = $paged;
$wp_query_args['posts_per_page'] = 10;
$wp_query_args['orderby']   = 'meta_value_num';
$wp_query_args['order']     = 'ASC';
$wp_query_args['meta_key']  = 'event_start_date';
$wp_query_args['meta_query']= array(
                                'relation' => 'OR',
                                array(
                                    'key' => 'event_start_date',
                                    'compare' => '>=',
                                    'value' => date('Ymd'),
                                ),
                            array(
                                'key' => 'event_end_date',
                                'compare' => '>=',
                                'value' => date('Ymd'),
                            )
                        );