WordPress主题目录调用插件add_action失效的解决方法咨询
问题解决办法
出现这个问题的核心原因是主题加载时,插件中的Lever\Api\Providers\ShareService类可能还未完成加载,导致PHP无法找到该类,钩子注册失败。
你可以按以下方式修改主题中的调用代码:
- 在主题的
functions.php中,将钩子注册代码包裹在plugins_loaded动作内(该动作会在所有插件加载完成后触发),同时增加类存在性检查,避免报错:
add_action( 'plugins_loaded', function() { // 确认插件类已加载后再注册钩子 if ( class_exists( 'Lever\Api\Providers\ShareService' ) ) { add_action( 'du_postSaveEvent', [ 'Lever\Api\Providers\ShareService', 'postSaveEvent' ], 10, 3 ); } });
额外检查项:
- 确保你的插件已在WordPress后台正常启用
- 插件中的
ShareService类需通过正确方式加载(比如使用PSR-4自动加载规范,或在插件主文件中手动require类文件),保证插件加载时该类已可被PHP访问
内容的提问来源于stack exchange,提问作者Edu Rafael
相关产品推荐
相关产品推荐

