我正在尝试为我的'book'帖子类型使用自定义可排序列。
我的pre_get_posts函数没有排序。每个帖子都有'downloads_orders'的现有元值,它们都是数字。我还验证了代码正在运行(通过转出查询)
add_action( 'pre_get_posts', 'my_book_orderby' );
function my_book_orderby( $query ) {
if( ! is_admin() )
return;
$orderby = $query->get( 'orderby');
if( 'downloads_orders' == $orderby ) {
$query->set('meta_key', 'downloads_orders');
$query->set('orderby', 'meta_value_num');
}
}
为什么这不是排序的任何想法?
编辑:刚才意识到我的排序都没有奏效。甚至不是默认的标题列。 编辑:'发布类型订单'插件是冲突的,导致没有排序工作。取消激活此代码,上面的代码现在正在运行
答案 0 :(得分:0)
试试这个:
add_action( 'pre_get_posts', 'my_book_orderby' );
function my_book_orderby( $query ) {
if( ! is_admin() )
return;
$orderby = $query->get( 'orderby');
if( 'downloads_orders' == $orderby ) {
$query->set('meta_key', 'downloads_orders');
$query->set('orderby', 'meta_value');
}
}