从插件检查并加载主题类

时间:2019-03-28 作者:Chen Kinnrot

我正在把一个主题分解成一堆插件,我想一个接一个地做,这样他妈的就不会失控了。

问题是,假设我有一个依赖于主题类的插件,我应该在哪里以及如何验证他的存在并加载它,如果不存在,我如何正确显示错误并避免加载插件,它是否在激活挂钩上?我对插件还很陌生,希望获得最佳实践,或者任何关于我的问题的好文档参考,谢谢!

我不需要检查另一个插件的存在,只需要另一个当前属于主题的代码。

1 个回复
最合适的回答,由SO网友:leymannx 整理而成

我建议不要在插件中使用你的主题中的方法。Only the other way around. Let your plugins provide methods to be used in the theme. 那么你可以简单地使用is_plugin_active().

尽管如此,您还是可以使用PHPclass_exists() 检查类的存在。另一种常见的做法似乎是让您的插件die; 在加载任何其他内容之前在最顶部。

<?php
/*
Plugin Name: My Plugin
Description: Lorem ipsum dolor sit amet.
Version: 1.0
Author: You
Author URI: https://example.com
*/

if ( ! class_exists(\'MyThemeClass\') ) {
  die;
}

class MyPlugin() {
  // ...
}

new MyPlugin;

相关推荐