具有多个元值的posts_orderby过滤器 - Wordpress 3.9.1

时间:2014-07-24 10:28:55

标签: php wordpress wp-query

有问题......

我有一个包含多个meta_values的自定义帖子类型(例如年份,收藏品编号,页面......)

我想按此顺序订购帖子:年份,收集编号,页面

有我的代码

$args = array(
    'posts_per_page' => 20,
    'paged' => $paged,
    'orderby'    => 'meta_value_num',
    'meta_key'   => '_year'
);

add_filter('posts_orderby','orderbyreplace');
$wp_query = new WP_Query($args);
remove_filter('posts_orderby','orderbyreplace');

在我的functions.php中

function orderbyreplace($orderby) {  
    $orderby = '_year.meta_value+0 DESC, _collection_number.meta_value+0 DESC, _pages.meta_value+0 DESC';

    return $orderby;
}

但是当我应用过滤器时,我得到0结果。

我的wordpress版本是3.9.1

我的元值是_year,_collection_number和_pages

有什么想法吗?

0 个答案:

没有答案