私はYOast SEOを検出したいと思います。私はすでにこの機能を使用しています:YOast SEOプラグインを検出
function active($plugin) {
$network_active = false;
if (is_multisite()) {
$plugins = get_site_option('active_sitewide_plugins');
if (isset($plugins[$plugin])) {
$network_active = true;
}
}
return in_array($plugin, get_option('active_plugins')) || $network_active;
}
if (active('wordpress-seo/wp-seo.php') {
これは問題ありません。しかしYoastがwordpress-seo/wp-seo.php
の名前を変更することを考えると、この機能は役に立たなくなります。だから我々はWPSEO_VERSION
定数のように、バックアップを追加するために変更することは困難であるものが必要:
if (active('wordpress-seo/wp-seo.php') {
// activate
} elseif(defined('WPSEO_VERSION')) {
// activate
} else {
// deactivate
}
このラインif(defined('WPSEO_VERSION')) {
を何らかの理由で可能ということがいかに... Yoastを検出しませんか?
ありがとうございました。
まず、このファイルの名前を変更しません。 第2に、Fencer04が指摘したように、プラグイン関連のものを 'plugins_loaded'フックにラップすることなく、プラグイン関連のものがないかチェックすることはできません。 すべてのプラグインがロードされるたびに 'plugins_loaded'フックがトリガされるため、すべての定数とクラスが存在します。プラグインは依存できない順序でロードされます。アルファベット順ではありません。 https://codex.wordpress.org/Plugin_API/Action_Reference/plugins_loadedを参照してください - YopeからJipを助けてくれることを願っています。 – moorscode
答えた@hackedファイル –