Загрузка разных таблиц стилей на страницы Wordpress?
У меня есть одна таблица стилей, связанная с моей страницей Wordpress в разделе заголовка:
<link rel="stylesheet" type="text/css" href="<?php bloginfo('template_directory'); ?>/style.css" />
Теперь я хочу загрузить разные таблицы стилей на несколько страниц или подстраниц.
Каков наилучший/правильный способ достижения этой цели?
Я подумываю о том, чтобы написать свой собственный шорткод с названием "wp_enqueue_style", это хорошая идея?
2 answers
Не используйте шорткод для wp_enqueue_style()
; это не принесет никакой пользы, потому что к тому времени, когда шорткод будет проанализирован, все соответствующие крючки ( wp_head
, wp_print_styles
) будет уже уволен.
Напишите функцию в functions.php
, чтобы поставить в очередь различные таблицы стилей на основе is_page( $id )
(где $id
может быть идентификатором, заголовком или заголовком). Затем подключите эту функцию к wp_enqueue_scripts
.
P.s. также обратите внимание: вы должны использовать get_stylesheet_uri()
в ссылке таблицы стилей по умолчанию, например:
<link rel="stylesheet" type="text/css" href="<?php echo get_stylesheet_uri(); ?>/style.css" />
Если вы хотите просто сменить любое расположение href в стиле или около того, вы можете использовать этот фильтр, например:
add_filter( 'style_loader_src', function($href){
if(strpos($href, "name-of-allowed.css") !== false) {
return $href;
}
return false;
});