Zanim zacznę, chcę potwierdzić, że istnieją naprawdę dobre artykuły, których celem jest warunkowe kolejkowanie skryptów na podstawie zawartości strony / postu.
- Programowanie wtyczek WordPress - jak warunkowo uwzględnić CSS i JavaScript tylko wtedy, gdy są potrzebne postom
- Jak załadować JavaScript jak WordPress Master
Są świetne, ale są znacznie bardziej zaawansowane niż to, co chcę robić.
Wydaje mi się, że odpowiedź korzysta z wbudowanej is_page()
funkcji ( kodeksu ), ale kiedy próbuję jej użyć, strona się psuje lub po prostu nie działa.
Myślę, że po prostu wykonuję logikę warunkową w niewłaściwym miejscu.
Oto, co próbowałem dodać do moich funkcji. Php:
function wpse39130_register_more_stylesheets() {
wp_register_style( 'stylesheet_name', get_stylesheet_directory_uri() . '/stylesheet.css' );
}
add_action( 'init', 'wpse39130_register_more_stylesheets' );
function wpse39130_conditionally_enqueue_my_stylesheet() {
// only enqueue on product-services page slug
if ( is_page( 'products-services' ) ) {
wp_enqueue_style( 'stylesheet_name' );
}
}
add_action( 'wp_enqueue_scripts', 'wpse39130_conditionally_enqueue_my_stylesheet' );
Kiedy usuwam część warunkową, arkusz stylów jest z powodzeniem kolejkowany, więc wiem, że działa.