wordpress - 在Wordpress中,当查询中有多个自定义字段时,如何按自定义字段排序?

标签 wordpress wordpress-theming

我正在编辑一个现有的 Wordpress 主题,该主题在自定义查询中使用自定义字段。我需要编辑查询,以便结果按一个自定义字段筛选,并按第二个自定义字段排序。

这是我到目前为止尝试过的:

<?php
$query_args = array();
$query_args['post_type'] = 'woo_estate';
$query_args['meta_query'] = array(
    array(
        'key' => 'on_show',
        'value' => 'true'
    ),
    array(
        'key' => 'price',
        'type' => 'numeric',
    )
);
$query_args['orderby'] = 'price';
$query_args['order'] = 'ASC';

$query_args['posts_per_page'] = $woo_options['woo_more_entries'];
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$query_args['paged'] = $paged;

?>
    <?php query_posts(  $query_args ); ?>

问题是结果继续按默认(日期)排序,而不是按 price 自定义字段排序。

如何让此查询按自定义价格字段排序?

最佳答案

在此处的文档中挖掘了一下:http://codex.wordpress.org/Class_Reference/WP_Query我能够想出实现我需要的代码。

$query_args = array();
$query_args['post_type'] = 'woo_estate';
$query_args['meta_query'] = array(
    array(
        'key' => 'on_show',
        'value' => 'true'
    )
);

$query_args['meta_key'] = 'price';
$query_args['orderby'] = 'meta_value_num';
$query_args['order'] = 'DESC';

$query_args['posts_per_page'] = $woo_options['woo_more_entries'];
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$query_args['paged'] = $paged;

query_posts(    $query_args )

关于wordpress - 在Wordpress中,当查询中有多个自定义字段时,如何按自定义字段排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14076528/

相关文章:

MySQL 日期/作者比较

php - WordPress + PHP : Query posts to find those that contain a custom field array which contains a specific key

css - 下拉菜单边框

jquery - WordPress wp_enqueue_script() 永远不会工作

css - Div 宽度不会调整以位于 float 图像旁边

android - 获取背景以完全覆盖android手机

php - 分页链接无效/页面/2 - 未找到 - Wordpress

html - 是否可以将 WordPress 主题转换为平面 HTML 或 Django 模板?

php - 首页显示(您的最新帖子)空白,其他页面正常

html - Wordpress:将多个类别名称和标签名称从页面添加到 <body>