我想知道根据WordPress主题或插件开发,这是否是一个好的实践。
add_action(\'init\',\'all_my_hooks\');
function all_my_hooks(){
// some initialization stuff here and then
add_action(\'admin_init\',-----);
add_action(\'admin_menu\',----);
// more like so
}
谢谢我想知道根据WordPress主题或插件开发,这是否是一个好的实践。
add_action(\'init\',\'all_my_hooks\');
function all_my_hooks(){
// some initialization stuff here and then
add_action(\'admin_init\',-----);
add_action(\'admin_menu\',----);
// more like so
}
谢谢一般来说:是的,等待一个专用的钩子来启动您自己的代码。Never 只需将对象实例抛出到全局命名空间中。但是init
很少有必要。
你越晚越好。如果您的第一个代码在wp_head
不要使用早期挂钩。你甚至可以cascade hooks:
add_action( \'wp_head\', \'first_callback\' );
function first_callback()
{
// do something
// then
add_action( \'wp_footer\', \'second_callback\' );
}
关于init
挂钩:使用wp_loaded
相反之后的init
以及之后ms_site_check()
已调用。这样可以避免在多站点安装中在无效的子站点上运行插件。其他一切都一样。我看不到big 这种做法的好处,原因如下:
add_action
和add_filter
函数仅向全局变量添加一个条目$wp_filter
它保存所有筛选器和操作。See source. 它不调用您的函数。当do_action
和apply_filters
被调用(使用适当的钩子名称),这种情况很晚才会发生在钩子应该所在的位置。您可能会说这样做将使全局变量$wp_filter
变大=>需要更多内存。但我认为创建一个新函数也有同样的问题。
英寸header.php
: 为标题中发生的事情(如菜单、注册脚本)添加挂钩和回调函数content.php
: 添加挂钩和回调函数以过滤内容admin-menu.php
: 添加挂钩和回调函数以添加管理菜单(假设这些文件放在主题/插件中)
相反,您必须:
仅将回调函数放入header.php
, content.php
, admin-menu.php
header.php
文件您必须搜索以了解何时触发这些回调。考虑一下当您的主题/插件中有多个类时的情况。你把所有种类的钩子放在一个地方吗?还是每个类都有一个保存所有钩子的包装函数?太多余了!
除此之外,我认为这是个人风格:)。我看到一些像Hybrid这样的框架按照你说的做了。有时候,我很难在这些框架中挖掘!
我想知道是否有一种方法可以使用Wordpress管理工具提示(灰色和蓝色),当你更新你的Wordpress(3.x)时会显示这些提示。显示新功能。谢谢