Я помітив, що деякі плагіни, такі як Contact-form-7 , Nextgen-gallery , можливо інші, мають цікаву антифункцію не реєструвати свої шорткоди, коли is_admin()
це правда.
Проблемним є те, що якщо ви хочете генерувати деякий динамічний контент (який може мати короткий код) з ajax, і використовувати "правильний" wp спосіб цього, admin-ajax.php, неможливо, щоб WP_ADMIN не був правдивим. Дивіться перші рядки admin-ajax.php:
define( 'DOING_AJAX', true );
if ( ! defined( 'WP_ADMIN' ) ) {
define( 'WP_ADMIN', true );
}
Тепер, здається, є розширення PHP, які дозволять вам встановити визначену константу (хакі), або може бути спосіб зіпсуватись із недокументованою системою WP_Screen і $GLOBALS['current_screen']
зробити is_admin()
функцію повернення помилковою ?? Здається, найбільш корисним рішенням є публікація на сторінці або в корені сайту.
Чи загально для плагінів реєструвати свої шорт-коди, коли is_admin()
це неправда? Якщо так, я не зміг знайти жодної документації чи причини для нього, крім того, що це може бути передчасна оптимізація.
is_admin
робиться це_it_wrong, у WP є набагато кращі способи перевірити наявність запитів на ajax. Нарешті, якщо плагін запускає js / css, якщо він робить це добре (використовуючи'wp_enqueue_scripts'
дію), це не вплине на сторінки адміністратора, оскільки цей гак не запускається на сторінках адміністратора.