Intereting Posts
Всякий раз, когда я делюсь фразой wordpress, автоматически добавляется, может ли кто-нибудь помочь? синтаксис для remove_filter в родительской теме с классом Направление страницы на страницу под умолчанию Как добавить описание в поле ввода имени пользователя в регистрационной форме? Платный плагин-член с некоторыми специальными функциями изменить значки видео на выбранный эскиз? Включить персонализированное значение метаданных в выбранном JSON Ошибка перенаправления поискового URL-адреса Как добавить пользовательский шрифт в TinyMCE FontSelect в WP Admin или фильтровать доступные шрифты Страница таксономии Перейти к 404 pgae Ошибка: переназначение контента другому пользователю не поддерживается на многопользовательском WordPress / страница / 2 не работает Как удалить дочерние данные из массива в wp-options Вкладки справки с помощью: add_help_tab () обратного вызова – Как работает аргумент? Можно добавить пост-форматы в пользовательский-пост-тип?

Добавление JS в заголовке при использовании wp_enqueue_script в коротком коде

Я пытаюсь установить файл JavaScript в заголовке своего веб-сайта.

Если я добавлю следующее в мой основной файл плагина, JS будет включен в заголовок:

function wpdocs_theme_name_scripts() { wp_register_script('googlesearch', 'https://maps.googleapis.com/maps/api/js'); wp_enqueue_script('googlesearch'); } add_action( 'wp_enqueue_scripts', 'wpdocs_theme_name_scripts' ); 

Но я хочу включить JS только для определенного короткого кода, я добавлю следующее в основной файл плагина:

 function wpdocs_theme_name_scripts() { wp_register_script('googlesearch', 'https://maps.googleapis.com/maps/api/js'); } add_action( 'wp_enqueue_scripts', 'wpdocs_theme_name_scripts' ); 

И следующее в коротком коде:

 wp_enqueue_script('googlesearch'); 

Теперь JS-файл включен в нижний колонтитул веб-сайта.

Я попытался вручную указать, что JS должен быть загружен в заголовок так, но он все равно загружает его в нижнем колонтитуле:

 wp_enqueue_script( 'googlesearch', 'https://maps.googleapis.com/maps/api/js', array(), '1.0.0', false ); 

Кто-нибудь знает, почему это происходит? Оценил любую помощь!

Solutions Collecting From Web of "Добавление JS в заголовке при использовании wp_enqueue_script в коротком коде"

Страница создается и выводится в следующем порядке: заголовок, содержимое, нижний колонтитул. Shorcode выполняется во время построения содержимого страницы, когда заголовок уже выведен на страницу. Таким образом, на этом этапе невозможно добавить скрипт в заголовок: слишком поздно.

Хотя это довольно «грязное» исправление, вы можете добиться желаемого эффекта следующим образом:

 function wpdocs_theme_name_scripts() { wp_register_script('googlesearch', 'https://maps.googleapis.com/maps/api/js'); if(is_singular()){ global $wp_query; $postid = $wp_query->get_queried_object_id(); $mypost = get_post($postid); $unfiltered_content = $mypost->post_content; if(has_shortcode($unfiltered_content,'<SHORTCODE WITHOUT BRACKETS>')){ wp_enqueue_script('googlesearch'); } } } add_action( 'wp_enqueue_scripts', 'wpdocs_theme_name_scripts' ); 

Счастливое кодирование, Kuchenundkakao