因为,我只能保持三分钟热度,所以,知识点一定要在三分钟之内讲完……
所谓艺高人胆大!在学习了一些开发WordPress插件的知识后,我们膨胀了、决定玩点不一样的!
关于WordPress的钩子-Action和Filter,堪称 WordPress 中的魔法,可以做很多有意思的事儿。之前我们聊了很多,估计朋友们也发现了,聊得都是如何增加钩子,还没说过如何删除钩子。
要从钩子中删除回调函数,需要调用remove_action 或 remove_filter ,这取决于回调函数是作为action还是filter添加的。
传递给remove_action / remove_filter 的参数必须与传递给注册它的 add_action / add_filter 一模一样,否则是不会起作用的。
另外,注意顺序!必须先添加后删除才有效。删除时,钩子还不存在;之后,再添加上,就是白忙活了!
顺序问题,在 WordPress 中经常会遇到,还是因为WordPress开发者太多了,难免有人胡来…… 不过,经过查看源代码,一般都能解决,无非是调整钩子回调函数优先级,或者调换钩子……
如何嫌 remove_action / remove_filter 太麻烦,还有更厉害的:remove_all_actions / remove_all_filters 。威力巨大,感兴趣的朋友可以试试,看看没有钩子的WordPress是什么样的。
下面是一个例子:
// 这里增加了一个钩子
function wporg_setup_slider() {
// ...
}
add_action( 'template_redirect', 'wporg_setup_slider', 9 );
// 后来,决定去掉上面那个钩子。
function wporg_disable_slider() {
// 参数要和添加时的一模一样
remove_action( 'template_redirect', 'wporg_setup_slider', 9 );
}
// 为了确保能成功去掉,所以在 after_setup_theme 钩子中去删除上面那个钩子。
// after_setup_theme 是在functions.php 文件之后才执行的
add_action( 'after_setup_theme', 'wporg_disable_slider' );
实战经验:删别人的钩子,属于高难度操作,一般情况下并不需要(一般情况下都有其他更好的解决办法)。
-
Post Type Switcher将 WordPress文章从一个类型转换到另一个类型Post Type Switcher是一个WordPress插件,用于将文章从一个类型转换到另一个类型,包括自定义文章类型。安装并启用该插件后,在编辑文章时,会在发布面板中增加Post Type选项,用户可以选择要转换到的文章类型并更新文章。此外,插件也支持在后台所有文章页面批量更改文章类型。
-
Fluent Forms - WordPress表单插件Fluent Forms是一款功能强大且易于使用的WordPress表单插件,适合各种规模的网站使用。无论是简单的联系表单还是复杂的用户调查表,Fluent Forms都能满足用户的需求。
-
WP-Ban WordPress禁止指定IP访问网站的插件WP-Ban是一款专为WordPress网站设计的安全插件,其主要功能是屏蔽恶意或不受欢迎的IP地址,以增强网站的安全性。
-
WPvivid插件:WordPress网站备份与还原的解决方案WPvivid插件是一款功能强大的WordPress插件,专为网站数据备份、还原和搬家设计。它支持高度自定义的备份选项,允许用户选择备份整个站点(包括数据库和文件)、仅文件或仅数据库。
-
Dashboard Notes WordPress仪表盘中添加备注信息的实用插件WP Dashboard Notes插件是WordPress平台上一个实用的仪表盘备注信息工具,它可以帮助网站管理者更好地记录和管理网站的日常维护工作、待办事项等。通过该插件的自定义备注和待办列表功能,用户可以更好的跟踪和完成任务,提高网站管理的效率和质量。
-
FluentSMTP一款功能强大且免费的WordPress SMTP插件FluentSMTP是一款功能强大且免费的SMTP插件,它支持为WordPress配置多个SMTP发送服务器。
暂无评论,抢个沙发...