php - 为什么'init'钩子不起作用?
问题描述
我尝试向“init”钩子添加一个操作,但是当我打开任何页面时,我没有得到回调中定义的结果。
能说下怎么办吗?
(存在对文件系统的权限。我在回调内部找到了一个代码,直接进入了激活方法并且它起作用了)
class MyPlugin
{
public function activate()
{
add_action('init', function() {
$file = fopen(__DIR__.'myFile.txt', "w");
fwrite($file, 'it works');
fclose($file);
});
}
$myPluggin = new MyPlugin();
register_activation_hook(__FILE__, array($myPluggin, 'activate'));
PS:当我do_action('init')
手动调用时,它可以工作。但是如何让它自动工作呢?
解决方案
我找到了我的问题的答案,(写在这里):
在插件的激活钩子之后只触发了两个钩子:'activated_plugin' 和 'shutdown'
推荐阅读
- java - 尝试在 Java 中使用“不重复字符的最长子字符串”
- jmeter - 在 for 循环中重用 CSV:在 Jmeter 中使用角色/权限
- android - 如何让 Unity IAP 与 Google Play IAB 一起使用?
- asp.net-core - 我真的不明白为什么在【bin/debug/netcoreapp 3.1】的env.EnvironmentName值是production
- android - 如何在视图之间添加空间
- flutter - 尽管 List 内部包含元素(颤动),但 List.map 未执行
- php - Laravel 8 API REST 登录
- node.js - react IOS / android应用程序是否支持节点JS?
- mysql - 将 SQL 查询更改为 CakePHP 查询
- excel - 尝试将工作表数据复制到现有工作簿时订阅超出范围