这个函数在WP主题的函数.php文件中声明了什么?

时间:2014-07-26 作者:AndreaNobili

有人可以帮助我理解这个函数在functions.php 主题的文件?

function exclude_featured_tag( $query ) {
    if ( $query->is_home() && $query->is_main_query() ) {
        $query->set( \'tag__not_in\', \'array(ID OF THE FEATURED TAG)\' );
    }
}
add_action( \'pre_get_posts\', \'exclude_featured_tag\' );
我不喜欢PHP,但我认为如果用户在主页上,它会修改一个查询对象,排除带有特定标记的帖子。是这样吗?

如果是的话,你能给我解释一下最后一句话吗:

add_action( \'pre_get_posts\', \'exclude_featured_tag\' );
我认为它是用来自动调用前面的函数来描述特定事件的发生。。。是这样吗?什么活动?你能帮我了解具体的工作原理吗?

Tnx公司

1 个回复
最合适的回答,由SO网友:Caspar 整理而成

最后一行告诉WP在pre_get_posts 钩该挂钩是修改将运行的主查询以构建页面的理想位置。在这种情况下,exclude_featured_tag() 检查WP是否正在加载主页,以及是否将调用该页面的主查询(与正在运行的任何其他辅助查询相反)。然后修改查询($query->set()) 不包括任何标记为的帖子ID OF THE FEATURED TAG.

有关pre_get_posts 挂钩,请参见codex.

结束

相关推荐

我们必须使用ftp来从错误的函数中恢复吗?php编辑?

只是试图对函数进行编辑。php在我的网站上。像往常一样,wp不喜欢它,大发雷霆,阻止了我做任何进一步的改变。所以现在我必须使用ftp来编辑出有问题的代码。你可能会说我应该更加小心/擅长编码,但问题是:难道没有一种更简单的方法可以从混乱的函数中恢复过来吗。php编辑比ftp更重要?