Adicionando JS no header ao usar wp_enqueue_script em um código curto

Estou tentando enqueue um arquivo JavaScript no header do meu site.

Se eu adicionar o seguinte no meu arquivo de plugin principal, o JS está incluído no header:

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' ); 

Mas eu quero include o JS apenas para um shortcode específico, eu adiciono o seguinte no arquivo principal do plugin:

 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' ); 

E o seguinte no shortcode:

 wp_enqueue_script('googlesearch'); 

Agora, o arquivo JS está incluído no rodapé do site.

Eu tentei especificar manualmente que o JS deveria ser carregado no header assim, mas ainda o carrega no rodapé:

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

Alguém tem alguma idéia de por que isso está acontecendo? Apreciou qualquer ajuda!

Solutions Collecting From Web of "Adicionando JS no header ao usar wp_enqueue_script em um código curto"

A página é criada e exibida na seguinte ordem: header, conteúdo, rodapé. Shorcode é executado durante a construção do conteúdo da página, quando o header já está sendo exibido na página. Portanto, é impossível adicionar qualquer script ao header nesta etapa: é muito tarde.

Embora seja uma solução muito “suja”, você pode conseguir o efeito desejado como este:

 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,'')){ wp_enqueue_script('googlesearch'); } } } add_action( 'wp_enqueue_scripts', 'wpdocs_theme_name_scripts' ); 

Codificação feliz, Kuchenundkakao