Как добавить стили в Head, только на страницах, где виджет используется?
Добрый день. Я создал виджет и в нем зарегистрировал стили и скрипты ему необходимые.
Сам виджет я добавил именно на страницу (не через сайдбар).
Рядом с кодом выводящимся во фронт-енд, я добавил wp_enqueue_script() и wp_enqueue_style()
Со скриптами, проблем не возникло - они добавились в футер, где и должны быть. Но со стилями, как и ожидалось - возникла проблема - нельзя же, загрузив уже пол страницы, добавить в шапку забытые стили.
Так вот, как можно сделать условие, чтобы при загрузке страницы, проверялось, есть ли в ней виджет, и если есть, то добавить его стили в прежде чем загружать страницу?
как полагается через functions.php - add_action('wp_enqueue_scripts'
точнее сказать сложно - пожалели информации
если пальцем в небо, то через add_action('wp_enqueue_scripts' и проверку is_page_template и, возможно, is_active_widget,
либо отправить их в футер add_action('get_footer',
Владимир Брумер, is_active_widget проверяет есть ли он в каком-нибудь сайдбаре.
add_action('wp_enqueue_scripts) добавил бы в шапку, если вызывался в functions.php, а не уже внутри станицы.
is_page_template про этот вариант я думал, но не на всех страницах одного шаблона должен быть виджет, поэтому оставил этот вариант как запасной.
Пока использую в конце страницы, но просто виджет в самом верху страницы, и плохо для seo когда отображение страницы съезжает в процессе загрузки.
Вот исходя из всего этого и решил задать вопрос - может кто знает способ или лучше забить и не заморачиваться...
Если в опциях сайта или пост-мете записей нет никаких данных о подключенном виджете, то только парсить get_the_content() регулярками, но вы точно так же можете добавить стили в футер, как и скрипты)