Я изучаю плагины и шорткоды. Я заметил, что когда я активирую свой плагин, его код загружается на все мои страницы - даже на те страницы, на которых нет моего шорткода. (Я не имею в виду контент против страниц администратора). На некоторых страницах контента я использую определенный шорткод, а на других страницах контента - нет, но в любом случае код плагина загружается. Как сделать так, чтобы плагин был включен только на страницах, где используется шорткод?
Подробнее:
Допустим, у меня есть плагин, который делает лайтбокс. Я активирую плагин. На моей странице "Cool Images" я использую шорткод для создания лайтбокса. Когда я проверяю View Source на моей странице «About», которая не использует шорткод лайтбокса, я вижу, что код плагина лайтбокса загружен. Мои страницы будут загружаться быстрее, если я напишу свой плагин так, чтобы его код загружался только на тех страницах, где он необходим. Это возможно? В противном случае у меня будет код для множества плагинов, загружаемых на страницах без необходимости. Есть идеи?
источник
Ответы:
WP v3.3 дал нам возможность запускать wp_enqueue_script в середине страницы. Билет 9346
Это значительно облегчило включение вашего JS с большей детализацией (по крайней мере, при использовании шорткодов). Здесь jquery будет включен только тогда, когда наш шорткод запущен.
источник
Проверьте переменные пользовательского интерфейса администратора
Один пункт меню является особым случаем: комментарии, поскольку они регистрируются с помощью
add_WHATEVER_(submenu)page()
API.Они не являются согласованными и жестко закодированы в ядро wp. Обратите внимание, что не все установлены на всех страницах.
Подцепите специфичные для страницы хуки интерфейса администратора
Тогда вы также специальные, страница специфические крючки, которые вы можете взглянуть на в
admin-footer.php
иadmin-header.php
:Несколько примеров из реальной жизни: Post Screen
Кроме того, есть также то,
$hook_suffix
что вы можете проверить для постановки сценариев в очередь, когда вы подключаете свое действие:Обновить
Чтобы упростить (в один клик) доступ к этим данным / информации, мы создали свободно доступный плагин, удобный для разработчиков, под названием «(Текущая информация администратора) (WCM)» , который доступен на GitHub . Плагин можно в ближайшее время также найти в официальном репозитории wp.org .
Скриншоты
Чтобы получить предварительный просмотр того, что вы получаете с этим плагином:
источник
Может сделать что-то вроде (в header.php):
Проверяет, является ли текущая загрузка страницей или публикацией, затем захватывает контент и ищет ваш шорткод. Найдя его, он выполняет вашу функцию.
источник
get_shortcode_regex()
?Самый простой способ - просто проверить шорткод.
источник
get_shortcode_regex()
для этого.@kaiser отметил
get_shortcode_regex()
несколько раз в этой теме, я просто подумал, что приведу пример того, как его использовать. Код в значительной степени взят соget_shortcode_regex()
справочной страницы WordPress Code.источник
Я нашел это решение :
источник