Jak poprawnie dodawać style w WordPressie – wp_enqueue_style() krok po kroku
W tworzeniu motywów WordPressa, prawidłowe dodawanie arkuszy stylów (CSS) jest kluczowe dla poprawnego działania strony oraz utrzymania przejrzystej struktury kodu. Funkcja wp_enqueue_style() umożliwia programistom systematyczne i uporządkowane dodawanie stylów do motywów lub wtyczek WordPressa.
Znajomość tej funkcji jest niezbędna dla każdego dewelopera, który chce zoptymalizować swój projekt WordPress pod kątem wydajności, kompatybilności i łatwości utrzymania.
Przykładowy kod z zastosowaniem w pliku functions.php
W moich projektach często korzystam z poniższego fragmentu kodu, który wykorzystuje funkcję wp_enqueue_style(). Przeanalizujmy go krok po kroku:
if (!function_exists('custom_theme_styles')) {
function custom_theme_styles() {
if(is_admin()) return false;
wp_enqueue_style( 'custom-style', get_template_directory_uri() . '/css/custom-style.css', array(), '1.0', 'all' );
wp_enqueue_style( 'carousel', get_template_directory_uri().'/css/owl.carousel.min.css' );
wp_enqueue_style( 'fancybox', get_template_directory_uri().'/css/fancybox.css' );
wp_enqueue_style( 'aos', get_template_directory_uri().'/css/aos.css' );
wp_enqueue_style( 'custom-styles', get_template_directory_uri() . '/css/generate-style.css' );
}
}
add_action('wp_enqueue_scripts', 'custom_theme_styles');
Ten kod sprawdza, czy funkcja custom_theme_styles już istnieje, a następnie ją definiuje. Wewnątrz funkcji dodawane są różne arkusze stylów do kolejki WordPressa. Dodatkowo zastosowano warunek, który zapobiega ładowaniu stylów w panelu administracyjnym.
Szczegółowa analiza kodu:
- Sprawdzenie, czy funkcja
custom_theme_stylesnie została wcześniej zdefiniowana:if (!function_exists('custom_theme_styles')) {
- Definicja funkcji
custom_theme_styles:function custom_theme_styles() {
- Wykluczenie ładowania stylów w panelu administracyjnym:
if(is_admin()) return false;
- Dodanie stylu
'custom-style'z plikucustom-style.css:- Brak zależności (pusta tablica
array()) - Wersja '1.0′ — przydatna do cache bustingu
- Styl ładowany dla wszystkich typów mediów (
'all')
- Brak zależności (pusta tablica
- Dodanie kolejnych stylów:
carousel,fancybox,aos,custom-styles - Podpięcie funkcji do akcji
wp_enqueue_scripts:add_action('wp_enqueue_scripts', 'custom_theme_styles');
Podsumowanie: Funkcja wp_enqueue_style() to fundament poprawnego ładowania stylów w WordPressie. Dzięki jej zastosowaniu możesz kontrolować kolejność, wersjonowanie i kontekst ładowania CSS, co przekłada się na lepszą wydajność i czystość kodu. Przestrzeganie dobrych praktyk — takich jak unikanie ładowania w panelu admina czy wersjonowanie plików — pozwala tworzyć motywy, które są skalowalne, szybkie i łatwe w utrzymaniu.