使用Add_Filter的步骤和前提条件是什么?

时间:2013-06-25 作者:bigpotato

嘿,我是一个WP noob,我的任务是清理其他人编辑插件核心时留下的混乱。据我所知,WP中有一些东西叫做过滤器。我不知道如何使用它们,也不知道它们是如何工作的。对于以下示例(从教程复制):

function remove_footer_admin () {
echo \'Fueled by <a href="http://www.wordpress.org" target="_blank">WordPress</a> | Designed by <a href="http://www.uzzz.net" target="_blank">Uzzz Productions</a> | WordPress Tutorials: <a href="http://www.wpbeginner.com" target="_blank">WPBeginner</a></p>\';
}

add_filter(\'admin_footer_text\', \'remove_footer_admin\');
发生了什么事?所以我们正在覆盖admin_footer_text 作用在本例中,它是来自管理部分的一个函数。根据我目前的理解(如果我错了,请告诉我),管理部分有很多默认的WP函数,它们是按一定的顺序执行的。这add_filter 使用remove_footer_admin 将被称为后钩子。所以之前运行的WP函数admin_footer_text 将相应运行,然后admin_footer_text, 然后remove_footer_admin, 然后是通常在admin_footer_text. 这是正确的吗?

此外,似乎add\\u filter有时只能添加?我不知道条件是什么。你能解释一下我在什么情况下可以使用它吗?

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

我喜欢想add_filter 作为调整变量的一种方式。它可以在任何你看到的地方使用apply_filters 在代码中。通常,您return 一个变量值,而不是呼出它。

您的示例最好这样写:

function remove_footer_admin () {
return \'Fueled by <a href="http://www.wordpress.org" target="_blank">WordPress</a> | Designed by <a href="http://www.uzzz.net" target="_blank">Uzzz Productions</a> | WordPress Tutorials: <a href="http://www.wpbeginner.com" target="_blank">WPBeginner</a></p>\';
}

add_filter(\'admin_footer_text\', \'remove_footer_admin\');
以及remove_footer_admin() 将在WP代码到达

echo apply_filters( \'admin_footer_text\', \'<span id="footer-thankyou">\' . __( \'Thank you for creating with <a href="http://wordpress.org/">WordPress</a>.\' ) . \'</span>\' );
在管理页脚中。php。。。其中第二个参数(<span> 等等)是apply_filters 允许您在此实例中进行修改。

我写了一个tutorial on WordPress filters 我认为这可能有助于解释一些事情。

结束

相关推荐

Apply_Filters()和_Excerpt提供了意外的结果

我觉得我一定错过了一些显而易见的东西,但我似乎无法让WordPress合作。我正在用一个函数生成Facebook OG标签。除了摘录,一切都很好。自get_the_excerpt($post->ID), 有没有其他方法可以创建摘录而不必创建一个全新的循环?我觉得这太过分了。我的第一反应是apply_filters():$description = apply_filters(\'the_excerpt\', get_post($post->ID)->post_content);