Aber es gibt mir “Nein, undefiniert”. Wie seltsam, denn es sollte definiert werden.
Hat jemand eine Idee? Ich bin total ideenlos.
Denken Sie auch an wordpress.stackexchange.com, Ihre Frage ist dort möglicherweise besser geeignet
– Jakow L
26. Juli 2016 um 18:03 Uhr
@YakovL Ja, aber ich dachte, das wäre eher eine PHP-bezogene Sache, aber es stellt sich heraus, dass es WordPress-Funktionen dafür gibt.
– J. Reh
26. Juli 2016 um 18:17 Uhr
Bitte überprüfen Sie meine Funktion. Es enthält viel, um einen guten und stabilen Check mit wp-Funktionen durchzuführen!
– Herr Jo
14. September 2020 um 7:39 Uhr
ist Die relevante Frage hier ist, wenn Yoast installiert ist und läuft oder nur “installiert”? Letzteres frage ich mich Wann müssen wir wissen, ob sich ein inaktives Plugin im Plugin-Ordner befindet? Ich nehme an, wie in der Frage “… und Laufen” geschrieben, sind die Antworten, die wir geben sollten.
– Jonas Lundmann
19. Mai 2021 um 7:29 Uhr
Jonas Lundman
Oder ohne zusätzliche Einschlüsse, Frontend oder Backend:
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
}
Funktioniert mit jedem Plugin, schauen Sie einfach in Ihre Plugins-Ordner für dein Ziel: plugin-folder/plugin-index-name.php wobei letzteres die Plugin-Details oben in der Datei enthalten sollte.
Das stimmt nicht!!!!! Dies prüft, ob ein Plugin aktiv ist. Wenn es inaktiv, aber installiert ist, wird es hier nicht angezeigt.
– Herr Jo
12. September 2020 um 16:09 Uhr
@Mr.Jo die Frage ist mehr als der “Stackoverflow-Titel”. Da die Lösung für die Suche nach dem Themenkontext “eine gute Zeile ist, um zu überprüfen, ob Yoast installiert ist und ausgeführt wird …”, ist die Antwort daher richtig.
– Jonas Lundmann
13. September 2020 um 18:32 Uhr
Ja, es ist richtig, um zu überprüfen, ob es aktiv ist, aber nicht, um zu überprüfen, ob es installiert ist. Ich werde unten eine richtige Antwort posten, um beides auf die richtige Weise zu überprüfen …
– Herr Jo
14. September 2020 um 6:29 Uhr
Mike Morris – MBXSW
Inspiriert von Jonas Lundmans Antwort habe ich dies geschrieben, um auch zu handhaben, wenn Yoast Premium aktiv ist.
Danke an alle anderen für die bisher gute Arbeit! Aber bei der Frage geht es auch um eine Überprüfung, ob ein Plugin installiert ist, und alle Ihre Antworten beziehen sich nur darauf, zu überprüfen, ob ein Plugin aktiv ist.
Also ging ich zu meinem Spielplatz und entwickelte einen korrekten Check, den ich Ihnen zeigen möchte, indem ich die bereits bereitgestellten Funktionen von WP verwendete.
// Check if needed functions exists - if not, require them
if ( ! function_exists( 'get_plugins' ) || ! function_exists( 'is_plugin_active' ) ) {
require_once ABSPATH . 'wp-admin/includes/plugin.php';
}
/**
* Checks if Yoast SEO is installed
*
* @return bool
*/
function is_wp_seo_installed(): bool {
if ( check_plugin_installed( 'wordpress-seo/wp-seo.php' ) ) {
return true;
}
return false;
}
/**
* Check if Yoast SEO is activated
*
* @return bool
*/
function is_wp_seo_active(): bool {
if ( check_plugin_active( 'wordpress-seo/wp-seo.php' ) ) {
return true;
}
return false;
}
/**
* Check if plugin is installed by getting all plugins from the plugins dir
*
* @param $plugin_slug
*
* @return bool
*/
function check_plugin_installed( $plugin_slug ): bool {
$installed_plugins = get_plugins();
return array_key_exists( $plugin_slug, $installed_plugins ) || in_array( $plugin_slug, $installed_plugins, true );
}
/**
* Check if plugin is installed
*
* @param string $plugin_slug
*
* @return bool
*/
function check_plugin_active( $plugin_slug ): bool {
if ( is_plugin_active( $plugin_slug ) ) {
return true;
}
return false;
}
Wie Sie sehen können, habe ich zwei separate Funktionen geschrieben, um zu überprüfen, ob Yoast SEO ist installiert und aktiv, also muss ich es nur aufrufen und den Rückgabeparameter überprüfen:
$installed = is_wp_seo_installed();
$active = is_wp_seo_active();
if ( $installed && $active ) {
echo 'WP SEO is installed and active!';
} else {
echo 'WP SEO is not installed or active!';
}
Wer diese beiden Extrafunktionen aber überspringen möchte, kann die beiden Prüffunktionen direkt aufrufen:
$installed = check_plugin_installed( 'wordpress-seo/wp-seo.php' );
$active = check_plugin_active( 'wordpress-seo/wp-seo.php' );
if ( $installed && $active ) {
echo 'Yoast SEO is installed and active!';
} else {
echo 'Yoast SEO is not installed or active!';
}
Ich hoffe, dies hilft Ihnen dabei, eine gute installierte und aktive Prüfung durchzuführen!
Denken Sie auch an wordpress.stackexchange.com, Ihre Frage ist dort möglicherweise besser geeignet
– Jakow L
26. Juli 2016 um 18:03 Uhr
@YakovL Ja, aber ich dachte, das wäre eher eine PHP-bezogene Sache, aber es stellt sich heraus, dass es WordPress-Funktionen dafür gibt.
– J. Reh
26. Juli 2016 um 18:17 Uhr
Bitte überprüfen Sie meine Funktion. Es enthält viel, um einen guten und stabilen Check mit wp-Funktionen durchzuführen!
– Herr Jo
14. September 2020 um 7:39 Uhr
ist Die relevante Frage hier ist, wenn Yoast installiert ist und läuft oder nur “installiert”? Letzteres frage ich mich Wann müssen wir wissen, ob sich ein inaktives Plugin im Plugin-Ordner befindet? Ich nehme an, wie in der Frage “… und Laufen” geschrieben, sind die Antworten, die wir geben sollten.
– Jonas Lundmann
19. Mai 2021 um 7:29 Uhr