You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WordPress中register_activation_hook钩子无触发问题求助

WordPress插件激活钩子未触发的解决思路
  • 不要用echo测试激活钩子:插件激活时WordPress会执行逻辑后跳转至插件列表页,钩子内的echo输出会被跳转覆盖,无法在页面上显示。改用error_log()写入调试日志,比如:

    register_activation_hook(__FILE__, function() {
        error_log('激活钩子已触发,时间:' . date('Y-m-d H:i:s'));
    });
    

    开启调试模式后,日志会写入wp-content/debug.log文件,查看该文件即可确认钩子是否触发。

  • 验证钩子参数准确性:确保register_activation_hook的第一个参数是插件主文件的路径,你当前用__FILE__是正确的(因为index.php是包含Plugin Name注释的主文件),如果后续调整插件目录结构,要注意参数是否指向正确文件。

  • 确认插件激活方式:激活钩子仅在后台点击「启用」按钮时触发,如果是通过修改数据库、FTP上传后直接启用(无后台操作),钩子不会执行。必须通过后台插件列表的启用按钮激活插件。

  • 排查代码冲突:临时禁用所有其他插件,切换到WordPress默认主题(如Twenty Twenty-Four),再激活你的插件。若此时钩子正常触发,说明是其他插件或主题的代码干扰了激活流程,可逐一恢复排查冲突源。

  • 单独测试数据表创建逻辑:将创建数据表的SQL语句单独提取出来,临时写一个测试文件执行,验证SQL语法是否适配MySQL 8.0(比如指定正确的字符集和排序规则CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci),排除SQL本身的问题。

内容的提问来源于stack exchange,提问作者johnbell

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 01:46:18