it-swarm.com.de

Vermeiden Sie es, die Standardeinstellungen zu laden WP Stile im Anmeldebildschirm

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.

5
AlbertoFdzM

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' );
} );
5
Spencer

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_tagWeitere 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.

1
brasofilo

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.

0
AlbertoFdzM