高级自定义字段(ACF)Wordpress中的订单价格

时间:2016-11-08 07:17:59

标签: php wordpress

我的问题是:

我在Wordpress管理页面的ACF中创建了名为price的新列。 在前端,我想按价格降序显示列表产品。

此处我在Admin WordPress中的ACF代码显示colum price:

add_filter('manage_edit-cars_columns', 'colum_xedulich');
function colum_xedulich($columns) {
    $columns = array(
            'cb' => $columns['cb'],
            'title'=>$columns['title'],
            'price_car' => __('price',_NP_TEXT_DOMAIN),
            'date' => __('Date','_NP_TEXT_DOMAIN')
        );
        return $columns;
}

add_filter('manage_cars_posts_custom_column','listProduct',10,2);
function listProduct($columns,$post_id){
    switch ($columns){
         case 'price_car':
            echo  get_field('price_from')." VNĐ ";
         break;
    }
}

但是在前端,我想在DESC中按price订购但不工作: 我在前端的代码:

$post_page = isset($_REQUEST['post_page']) ? (int)$_REQUEST['post_page'] : $_REQUEST['post_page'];
$posts_per_page = isset($_REQUEST['posts_per_page']) ? (int)$_REQUEST['posts_per_page'] : 6;

$post_page = $post_page < 1 ? 1 : $post_page;
$posts_per_page = $posts_per_page < 1 ? 1 : $posts_per_page;

$the_query = new WP_Query(array(
    'post_type' => 'cars',
    'posts_per_page' => $posts_per_page,
    'orderby' => 'price',
    'order' => 'DESC',
    'paged' => $post_page
));

在我的情况下,有什么方法可以对price个产品进行排序吗?

1 个答案:

答案 0 :(得分:1)

替换

$the_query = new WP_Query(array(
    'post_type' => 'cars',
    'posts_per_page' => $posts_per_page,
    'orderby' => 'price',
    'order' => 'DESC',
    'paged' => $post_page
));

$the_query = new WP_Query(array(
    'post_type' => 'cars',
    'posts_per_page' => $posts_per_page,
    'meta_key'      => 'price',
    'orderby' => 'meta_value_num',
    'order' => 'DESC',
    'paged' => $post_page
));

希望它能解决你的问题。