Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php posts_orderby过滤器具有多个元数据-Wordpress 3.9.1_Php_Wordpress - Fatal编程技术网

Php posts_orderby过滤器具有多个元数据-Wordpress 3.9.1

Php posts_orderby过滤器具有多个元数据-Wordpress 3.9.1,php,wordpress,Php,Wordpress,有个问题 我有一个具有多个meta_值的自定义帖子类型(如年份、收藏编号、页数等) 我想按如下顺序订购这篇文章:年份、收藏编号、页数 这是我的密码 $args = array( 'posts_per_page' => 20, 'paged' => $paged, 'orderby' => 'meta_value_num', 'meta_key' => '_year' ); add_filter('posts_orderby','

有个问题

我有一个具有多个meta_值的自定义帖子类型(如年份、收藏编号、页数等)

我想按如下顺序订购这篇文章:年份、收藏编号、页数

这是我的密码

$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');
在my 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

我的元值是_年、_集合_编号和_页数


有什么想法吗?

我一直在寻找解决方案:'(