如何检查是否安装了Gutenberg编辑器

时间:2018-08-09 作者:Raashid Din

我想问一个简单的问题,如果我必须检查是否安装了pliugin,该怎么办。例如,我想运行一个代码,它说,

如果安装了Gutenberg,则运行以下代码,否则不运行。

我已经创建了这段代码,但不确定这是否有效

    if(defined(\'Gutenberg\')) {
    }
这是正确的方法还是有其他方法。提前感谢

2 个回复
最合适的回答,由SO网友:Mark Kaplun 整理而成

检查插件是否已安装总是一个坏主意,因为插件可能已安装,但无论出于何种原因,都无法正常工作,或者以不同于您预期的方式工作。

例如,对于gutenberg来说,没有在REST API中公开的帖子类型不能由gutenberg编辑。

像往常一样,如果你有一个依赖于插件的功能,你应该钩住它的动作和过滤器,以避免猜测它是否处于活动状态(动作被“调用”的事实是活动的最佳指示),或者请插件作者添加你可能觉得有用的动作/过滤器类型。

SO网友:Iceable

一种可能的方法是检查是否定义了插件中包含的特定类或函数,使用class_exists()function_exists(), 分别地

对于古腾堡,你可以检查register_block_type():

if ( function_exists( \'register_block_type\' ) ) {
    // Gutenberg is available.
}
然而,我站在马克·卡普伦一边说,在大多数情况下,这不是一个好主意,如果您遵循最佳实践,甚至没有必要这样做。

如果要与插件交互,则应通过挂钩和过滤器进行交互。插件是否正在运行无关紧要:如果插件不在那里,挂钩就不会运行。

结束

相关推荐