将存档上的发布顺序更改为按主题忽略的最多评论显示

时间:2018-04-23 作者:user142295

我正在尝试将我的归档页面更改为按评论最多的顺序排列,但由于我的主题,我想这会被忽略。

这是我放在自定义函数文件中的代码,但它并没有改变顺序。

add_action ( \'pre_get_posts\', function ( $query ) 
{
    if (  $query->is_archive()
         && !is_admin()
         && $query->is_main_query()

    ) {
        $query->set( \'orderby\', \'comment_count\' );
    }
});
我认为我的主题函数中的这段代码使我的自定义代码无法运行:

if ( ! function_exists( \'wpcc_custom_posts_oderby\' ) ) {
    function wpcc_custom_posts_oderby( $query ) {
        if ( ( $query->is_home() && $query->is_main_query() ) || ( $query->is_archive() && $query->is_main_query() ) ) {
            $orderby = get_theme_mod( \'wpcc_general_post_orderby\' );
            if( !$orderby ): $orderby = \'date\'; endif;
            $order = get_theme_mod( \'wpcc_general_post_order\' );
            if( !$order ): $order = \'DESC\'; endif;

            if( ! function_exists( \'is_woocommerce\' ) || ( function_exists( \'is_woocommerce\' ) && ! is_woocommerce() ) ) {
                $query->set( \'orderby\', $orderby );
                $query->set( \'order\', $order );
            }
        }
    }

    add_action(\'pre_get_posts\',\'wpcc_custom_posts_oderby\');
}
有没有办法编写自定义代码来覆盖主题?

谢谢

1 个回复
SO网友:Oleg Butuzov

尝试删除此自定义操作挂钩。

add_action(\'init\', function(){
    remove_action(\'pre_get_posts\',\'wpcc_custom_posts_oderby\');;
});

结束

相关推荐