Gibt es eine Möglichkeit, das Laden von WordPress-Standardstilen im Anmeldebildschirm zu vermeiden, um nur meine benutzerdefinierten Stylesheets zu laden?
Eigentlich benutze ich diesen Code:
function login_styles() {
// Sets the styles if is the current theme
if (get_stylesheet_directory() == get_template_directory()) {
// Prints link to stylesheed login.css
wp_register_style(...);
wp_enqueue_style(...);
}
}
add_action( 'login_enqueue_scripts', 'login_styles' );
Es funktioniert gut, aber WordPress lädt zuerst seine Stile. Ich möchte diese Dateien von diesem Bildschirm ausschließen.
Die Verwendung von wp_deregister_style( 'login' )
zum Entfernen der Anmeldestile führt weiterhin zu einer 404-Anforderung für die Anmelde-CSS-Datei. Wenn Sie jedoch den Anmeldestil nach dem Abmelden erneut registrieren, können Sie die unerwünschte Anforderung verhindern.
add_action( 'login_init', function() {
wp_deregister_style( 'login' );
wp_register_style( 'login' );
} );
Dadurch erhalten Sie eine vollständig entstylte wp-login.php
Seite. Um es neu zu formatieren, können Sie stattdessen Ihre eigene CSS-Datei unter dem Handle login
registrieren.
Dies kann hilfreicher sein, als mit dem style_loader_tag
-Filter herumzuspielen.
Update:
login_enqueue_scripts
ist eine angemessenere Aktion, und das Entfernen der Warteschlange führt nicht zu einer 404.
add_action( 'login_enqueue_scripts', function() {
wp_dequeue_style( 'login' );
} );
Unter der Leitung eines G.M. Kommentar in einer gelöschten Antwort, in der er darauf hinweist, dass die Anmeldestile mit wp_admin_css()
gedruckt werden *
Ich habe einen Filter gefunden, der die Aufgabe erfüllt, style_loader_tag
. Weitere Tests zeigen jedoch, dass .wp_deregister_style
ausreicht
Rückmeldungen und weitere Tests haben ergeben, dass das Abmelden des Stils einen 404-Wert für wp-admin.css
ergibt. Kehren Sie also zum Loader-Tag zurück:
add_action( 'login_init', function()
{
# Produces a 404 for the style
// wp_deregister_style( 'wp-admin' );
# The following is a filter in /wp-includes/class.wp-styles.php
# Completely cleans up the <head> of enqueues
add_filter( 'style_loader_tag', '__return_null' );
});
*
Es gibt sogar einen Filter in dieser Funktion, aber es scheint, dass er keine registrierten Stile fängt.
So können Sie die Stile vom Anmeldebildschirm entfernen:
function login_styles_reset( $style ) {
if ( strpos( $style, 'wp-admin-css') !== FALSE ) {
$style = NULL;
} elseif ( strpos( $style, 'colors-fresh-css') !== FALSE ) {
$style = NULL;
}
return $style;
}
function custom_login_styles() {
add_filter( 'style_loader_tag', 'login_styles_reset' );
// Code for the new login styles
}
add_action( 'login_init', 'custom_login_styles');
Hoffe das hilft jemand anderem.