Mein übergeordnetes Design (Starkers) fügt eine CSS-Datei hinzu, die ich entfernen möchte (ich möchte stattdessen @import verwenden, damit ich Stile leichter überschreiben kann). Starkers hat folgendes in seiner functions.php:
add_action( 'wp_enqueue_scripts', 'script_enqueuer' );
function script_enqueuer() {
wp_register_script( 'site', get_template_directory_uri().'/js/site.js', array( 'jquery' ) );
wp_enqueue_script( 'site' );
wp_register_style( 'screen', get_template_directory_uri().'/style.css', '', '', 'screen' );
wp_enqueue_style( 'screen' );
}
Ich habe Folgendes in der child functions.php ausprobiert, aber die Link- und Script-Tags werden immer noch im head-Abschnitt angezeigt.
add_action('init', 'removeScripts');
function removeScripts() {
wp_dequeue_style('screen');
wp_deregister_script('site');
}
Ich habe zweimal überprüft, ob sie im übergeordneten Header fest codiert sind und nicht.
Ich möchte stattdessen @import verwenden, um Stile leichter überschreiben zu können
Einfach. Nicht. Tun. Das.
Sie springen einfach in den gleichen Haken und heben dann die Registrierung/Löschung der Stile/Skripte auf und werfen Ihre benutzerdefinierten Stile ein.
function PREFIX_remove_scripts() {
wp_dequeue_style( 'screen' );
wp_deregister_style( 'screen' );
wp_dequeue_script( 'site' );
wp_deregister_script( 'site' );
// Now register your styles and scripts here
}
add_action( 'wp_enqueue_scripts', 'PREFIX_remove_scripts', 20 );
Der Grund für das Löschen und Abmelden der Skripte ist einfach:
Beachten Sie, dass Sie die Registrierung auch aufheben müssen, wenn Sie einen dieser Punkte (
'screen'
oder'site'
) verwenden möchten, nachdem Sie sie aus der Warteschlange entfernt haben. Zum Beispiel:wp_deregister_style( 'screen' );
undwp_deregister_script( 'site' );
- peterjmag