我有一个初学者的主题,我用我自己建立的大多数网站。因为每个站点都有不同的插件依赖关系,所以我试图创建一个脚本,它从本质上整理当前活动的所有插件的列表,并将它们存储在JSON文件中。
然后,我想使用TGM插件激活来循环该列表,并安装任何尚未存在的插件。
我们使用git来托管我们的主题目录。当我们推动这些更改时,它们会自动部署到我们的临时服务器上。问题是,我们不想为了安装丢失的插件而必须登录到FTP或运行WP-CLI命令。如果本地主机上缺少插件,我们更希望依赖项来自主题本身,以便自动安装插件。
我们还有一个非常健忘的开发人员,不能依靠他手动将插件添加到TGM文件中。
因此,我这里的问题在于,我似乎找不到任何在插件激活或停用时立即调用的挂钩,此时需要重新整理插件列表并将其输出到JSON文件中,以用于激活或停用该列表中的插件。
在此方面的任何帮助都将不胜感激。
最合适的回答,由SO网友:Krzysiek Dróżdż 整理而成
解决方案很少。您可以使用activate_plugin
和deactivate_plugin
例如挂钩。
但是据我所知,您希望在插件列表发生更改时得到通知,而不是在插件被激活或停用时得到通知。
所以最简单的方法就是update_option
.
add_action(\'updated_option\', function( $option_name, $old_value, $value ) {
if ( \'active_plugins\' == $option_name ) {
// update your json file based on $value
}
}, 10, 3);