按帖子排序不工作

时间:2014-03-06 09:43:28

标签: wordpress wordpress-plugin

我正在尝试为我的'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');
    }
}

为什么这不是排序的任何想法?

编辑:刚才意识到我的排序都没有奏效。甚至不是默认的标题列。 编辑:'发布类型订单'插件是冲突的,导致没有排序工作。取消激活此代码,上面的代码现在正在运行

1 个答案:

答案 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');
    }
}