Ich habe festgestellt, dass einige Plugins wie Contact-form-7 , Nextgen-gallery , möglicherweise andere, eine interessante Anti-Funktion haben , ihre Shortcodes nicht zu registrieren, wenn dies is_admin()
wahr ist.
Das Problem ist, wenn Sie einen dynamischen Inhalt (der möglicherweise einen Shortcode enthält) aus Ajax generieren und die "richtige" wp-Methode admin-ajax.php verwenden möchten, ist es unmöglich, dass WP_ADMIN nicht wahr ist. Siehe die ersten Zeilen von admin-ajax.php:
define( 'DOING_AJAX', true );
if ( ! defined( 'WP_ADMIN' ) ) {
define( 'WP_ADMIN', true );
}
Nun scheint es PHP-Erweiterungen zu geben, mit denen Sie eine definierte Konstante (hacky) aufheben können, oder es gibt eine Möglichkeit, mit dem undokumentierten WP_Screen-System herumzuspielen und $GLOBALS['current_screen']
die is_admin()
Funktion false zurückzugeben? Die am besten verwendbare Problemumgehung scheint das Posten auf der Seite oder im Site-Stammverzeichnis zu sein.
Ist es üblich, dass Plugins ihre Shortcodes registrieren, wenn sie is_admin()
falsch sind? Wenn ja, konnte ich keine andere Dokumentation oder einen anderen Grund dafür finden, als dass es sich möglicherweise um eine vorzeitige Optimierung handelt.
is_admin
ist doing_it_wrong es ist viel bessere Möglichkeiten in WP für Ajax - Anfragen zu überprüfen. Wenn das Plugin js / css in die Warteschlange stellt, hat es'wp_enqueue_scripts'
keine Auswirkungen auf die Administrationsseiten , wenn es gut funktioniert (mithilfe von Aktion), da dieser Hook auf den Verwaltungsseiten nicht ausgelöst wird.