De ce nu este încărcat fișierul style.css?
Am o temă destul de simplă și tocmai am descoperit că fișierul meu style.css nu este încărcat în <head>
. Am căutat deja dar nu pot găsi motivul pentru care nu se încarcă.
Am inspectat deja obiectul global $wp_styles
dar nu am putut găsi nimic:
function style_test()
{
$wp_styles = new WP_Styles();
echo '<pre>';
// $wp_styles->enqueue este complet gol
print_r( $wp_styles->registered );
echo '</pre>';
}
add_action( 'wp_print_scripts', 'style_test', 0 );
În interiorul obiectului nu pot găsi nici foile mele de stil înregistrate/puse în coadă (deși acestea sunt încărcate), așa că presupun că fac ceva greșit și la inspectare. Aveți vreo idee?
Notă:
Dacă îl încarc manual, fișierul meu style.css este încărcat. Doar încărcarea automată nu funcționează. Mai mult, pot accesa fișierul cu get_theme_data( TEMPLATEPATH.'/style.css' );
fără nicio problemă.

Fișierele de stiluri ale temei nu sunt de obicei încărcate prin enqueue, ci sunt încărcate în mod normal folosind..
<link rel="stylesheet" type="text/css" media="all" href="<?php bloginfo( 'stylesheet_url' ); ?>" />
De aceea, în mod natural, nu le veți vedea în array-ul de stiluri..
Bineînțeles, puteți (dacă preferați) să folosiți în schimb funcția enqueue.

Modul recomandat de a face acest lucru este prin încărcarea fișierului style.css în functions.php al temei.
Adăugați acest cod în functions.php
/**
* Încărcarea corectă a CSS și JS
*/
function myprefix_load_css_and_js() {
wp_enqueue_style( 'style', get_stylesheet_uri() );
}
add_action( 'wp_enqueue_scripts', 'myprefix_load_css_and_js' );
Puteți consulta acest lucru în manualul de teme WordPress aici și vedea exemple aici.

Am votat pozitiv, dar o mică corecție este că probabil este mai bine să definești funcția anonim în interiorul apelului add_action în loc să o adaugi în namespace-ul global, deoarece nu este apelată în altă parte.

Salut @kloddant, mulțumesc pentru sugestie. Deși sunt de acord că a o avea în namespace-ul global poate fi problematic, aș prefera să-i dau un nume. Doar pentru a exista opțiunea de a o deconecta programatic într-un moment viitor dacă este nevoie. De obicei rezolv asta prefixând funcția cu ceva unic și lung.

Acest lucru duplică răspunsul dat de @Arun Basil Lal mai sus.

O mică observație la răspunsul lui Arun de mai sus. După cum au menționat, ar trebui să încărcați stilul în fișierul functions.php, dar probabil este mai bine să-l definiți și să-l apelați anonim în cadrul funcției add_action, deoarece nu îl utilizați în altă parte. Astfel, evitați să-l adăugați în spațiul global de nume.
add_action('wp_enqueue_scripts', function () {
wp_enqueue_style('style', get_stylesheet_uri());
});
