Por que é adicionado no rodapé:
Esse é o comportamento esperado.
Como você enfileirou o estilo dentro da sua função Hook do Shortcode , no momento em que ele é executado, o WordPress já está gerando a seção <head>
da sua página, O WordPress só executará sua função de código de acesso assim que encontrar o shortcode no seu conteúdo.
Portanto, não há outra maneira senão colocar o seu estilo na seção de rodapé se você enfileirar o estilo dentro da função de gancho de shortcode.
Como adicioná-lo no cabeçalho:
Se você deseja produzir na seção <head>
, você deve enfileirá-lo usando:
function enqueue_your_styles() {
// the following line is just a sample, use the wp_enqueue_style line you've been using in the shortcode function
wp_enqueue_style( 'style-name', get_stylesheet_directory_uri() . '/css/your-style.css' );
}
add_action( 'wp_enqueue_scripts', 'enqueue_your_styles' );
Observação: isso adicionará o estilo mesmo se você não tiver o shortcode na página.
Nota-2: Uma das respostas na questão que você mencionou já tem uma explicação detalhada sobre alternativas e pros & contras.