Добавление 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