Ставить CSS в плагин WordPress

Я на этом сошел с ума … вот код, который я использую, чтобы попытаться заставить CSS-файл работать в моем плагине WordPress:

add_action('wp_enqueue_scripts', 'initial_admin_links_hide_stylesheet');

function initial_admin_links_hide_stylesheet() {
wp_enqueue_style( 'prefix-style', plugins_url('initial_hide_admin_links.css', __FILE__));
}

Затем я вызываю функцию с помощью этой строки кода:

initial_admin_links_hide_stylesheet();

Если я закомментирую вызов функции, я не получу никаких уведомлений. Если я оставлю это без комментариев, я получу уведомление:

Обратите внимание: wp_enqueue_style был вызван неправильно. Скрипты и стили не должны регистрироваться или ставиться в очередь до тех пор, пока не будут перехвачены wp_enqueue_scripts, admin_enqueue_scripts или login_enqueue_scripts. Пожалуйста, смотрите Отладка в WordPress для получения дополнительной информации. (Это сообщение было добавлено в версии 3.3.) В /home2/jakereva/public_html/wp-include/functions.php в строке 3547.

Насколько я могу судить, код был написан правильно, но я абсолютно не могу получить уведомление об этом, когда вызываю функцию. Помогите! Заранее спасибо.

1

Решение

add_action('wp_enqueue_scripts', 'initial_admin_links_hide_stylesheet');

Это говорит WordPress подключить скрипт к процессу для вас. Нет необходимости вызывать функцию вручную.

Убедитесь, что у вас есть вызовы wp_head () и wp_footer () в ваших файлах тем, где это уместно, или вы хотите добавить их

/**
* Proper way to enqueue scripts and styles
*/
function theme_name_scripts() {
wp_enqueue_style( 'style-name', get_stylesheet_uri() );
wp_enqueue_script( 'script-name', get_template_directory_uri() . '/js/example.js', array(), '1.0.0', true );
}

add_action( 'wp_enqueue_scripts', 'theme_name_scripts' );
2

Другие решения

Измените имя хука на wp_head. Это добавит стиль в заголовок.

Проверьте ссылку на действие WordPress, чтобы увидеть, какие действия вызываются. https://codex.wordpress.org/Plugin_API/Action_Reference

Спереди вы можете использовать wp_head.
На страницах администратора: admin_enqueue_scripts

0

По вопросам рекламы [email protected]