WordPress:检查是否安装了插件

J. *_*Doe 5 php wordpress plugins

我想检查是否在WordPress中安装了Yoast SEO.我在我的测试环境中激活了Yoast SEO,但它没有成功.

在Yoast 的wp-seo-main.php中,第16行有这条线:

define( 'WPSEO_VERSION', '3.4' );
Run Code Online (Sandbox Code Playgroud)

所以我想,检查Yoast是否安装并运行是一个很好的路线,所以我做了:

if ( defined( 'WPSEO_VERSION' ) ) {
    echo '<script>alert("Yes, defined");</script>';
} else {
    echo '<script>alert("No, undefined");</script>';
}
Run Code Online (Sandbox Code Playgroud)

但它给了我"不,未定义".有多奇怪,因为它应该被定义.

有人有个主意吗?我完全没有想法.

Jon*_*man 12

或者没有额外的夹杂物,前端或后端:

if(in_array('wordpress-seo/wp-seo.php', apply_filters('active_plugins', get_option('active_plugins')))){ 
    // do stuff only if Yoast is installed and active
}
Run Code Online (Sandbox Code Playgroud)

适用于任何插件,只需查看目标的插件文件夹:plugin-folder/plugin-index-name.php后者shuld驻留在文件顶部的插件详细信息.

  • @Mr.Jo,问题不仅仅是“stackoverflow 标题”。由于主题上下文搜索解决方案是“检查 Yoast 是否安装并运行的好方法...”,因此答案是正确的。 (2认同)