我正在开发一个Wordpress插件,我想在每个页面上执行操作。但是,看起来我的插件只有在访问使用其中一部分的页面时才会起作用,例如,短代码。在其他每一页上,它都没有做任何事情。我怎么能告诉Wordpress运行我的插件的钩子,即使它没有在那个特定的页面上使用?
我用这段代码测试了它。如果我打开一个使用我的插件注册的短代码的页面,“HUH?”将出现在页面的最顶部。在其他所有页面上,没有任何内容......
add_action('init', 'myplugin_init');
function myplugin_init() {
echo 'HUH?';
}
答案 0 :(得分:0)
我认为,您的代码是作为条件代码的子代。例如以下内容:
if($condition == true)
{
add_action('init', 'function_to_call');
}
为了调试,请将代码放在主插件文件中并查看结果。 我希望它有效。
答案 1 :(得分:0)
我注意到了“HUH?”邮件在登录页面和所有管理页面上都可见。我搜索了很多,并在codex上发现了这篇文章:https://codex.wordpress.org/Function_Reference/is_plugin_active。事实证明,我需要在我的主题的functions.php中添加一行,因为前端默认不加载插件。所以这是解决方案,将此行添加到您的functions.php:
include_once( ABSPATH . 'wp-admin/includes/plugin.php' );