Pre_Get_Comments不起作用吗?

时间:2015-10-19 作者:Yorick89

我正在阅读来自WROX的“专业Wordpress插件开发”一书,我想使用我在其中找到的这段代码(我用pre\\u get\\u注释切换了pre\\u get\\u帖子),但由于某种原因,它不起作用?当我在google上搜索时,我发现很多人说“pre\\u get\\u comments”今年某个时候停止了工作。这是真的吗?因为我在wordpress抄本上找不到任何相关信息。那么我应该用什么钩子来代替呢?

do_action_ref_array( \'pre_get_comments\', \'random_order_comments\');
function random_order_comments( $query )
{
    if( is_single() ){
            $query->set( ‘orderby’, ‘rand’ );
    }
}

1 个回复
SO网友:Milo

我看不出有什么原因pre_get_comments 不会起作用,it\'s still in core, 然而

您的代码中有一些问题-

do_action_ref_array 是核心调用来触发操作的,您可以通过以下方式将自己的函数添加到操作队列add_action.

orderby 是要按其排序的字段名,order 控制其订购方式,以及ASCDESC 是的唯一有效值order.

WP_Comment_Query 返回注释数组,您可以使用PHP\'s shuffle 随机排列顺序。

还要注意的是,上面的代码中有卷曲的排字引号orderbyrand, 这将抛出一个PHP致命错误。你确实有debugging enabled, 对