自定义WordPress查询排序功能

时间:2019-03-27 09:39:40

标签: wordpress sorting

我正在尝试让用户对自定义WP查询进行排序,但是我无法使其正常工作,所以也许有人知道我在做什么错?

我将其用作自定义查询:

<?php
    $args = array(
        'post_type'        => 'vacation',
        'meta_key'          => get_query_var('meta_key'),
        'orderby'           => 'meta_value',
        'order'             => get_query_var('order'),
        'posts_per_page'   => -1
    );

$query = new WP_Query( $args ); 
while ( $query->have_posts() ) { $query->the_post(); ?>

我将其用作订购的HTML链接:

<a href="?meta_key=bedrooms?order=asc">Bedrooms ASC</a>
<a href="?meta_key=bedrooms?order=desc">Bedrooms DESC</a>

URL将会更改,但是当我单击两个链接之一时,我看不到卧室从高到低或从低到高的任何顺序。

2 个答案:

答案 0 :(得分:0)

如果您的元值是整数类型,则只需将“ orderby” =>“ meta_value”更改为“ meta_value” =>“ meta_value_num”。

<?php
$args = array(
    'post_type'        => 'vacation',
    'meta_key'          => get_query_var('meta_key'),
    'orderby'           => 'meta_value_num',
    'order'             => get_query_var('order'),
    'posts_per_page'   => -1
);

$query = new WP_Query( $args ); 
while ( $query->have_posts() ) { $query->the_post(); ?>

答案 1 :(得分:0)

在您的HTML中,href错误。传递多个参数时,必须使用&。像这样:

<a href="?meta_key=bedrooms&order=asc">Bedrooms ASC</a>

<a href="?meta_key=bedrooms&order=desc">Bedrooms DESC</a>