Не срабатывает wp_head()
Файл functions.php содержит в себе такой код:
<?php
add_action('wp_enqueue_scripts', 'add_theme_styles' );
function add_theme_styles() {
echo "Themes added ";
}
Файл header.php имеет в теге head такое содержимое:
<head>
<?php wp_head(); ?>
</head>
Как видите очень простой код, но тем не менее на странице нигде не выводится текст Themes added, не могу понять в чем проблема, подскажите почему не срабатывает действие wp_head() ?
P.S. Так же после вызова wp_head() в теге head на странице появился отступ сверху, примерно 30px, значит ли это что wp_head() на самом деле сработал, а ошибка в файле functions.php?
Ответы (1 шт):
Автор решения: Роман Мереняну-Ени
→ Ссылка
Этот хук для подключения стилей и скрпитов, а не вывода строки. Вы все выводите в Head документа, а не в тело документа.
add_action('wp_enqueue_scripts', 'my_wp_head_css' ); // хук автоматом сработает во время wp_head
function my_wp_head_css() {
wp_enqueue_style( 'my_head_style', get_stylesheet_directory_uri() .'/css/my_style.css', array(), null );
}
как еще вариант:
## CSS в head документа
add_action( 'wp_head', 'hook_css' );
function hook_css(){
echo '<style>.wp_head_example{ background-color : #f1f1f1; } </style>';
}
## JS в head документа
add_action( 'wp_head','hook_javascript' );
function hook_javascript() {
echo "<script> alert('Page is loading...'); </script>";
}