wake-up-neo.com

Enqueue Style nur für eine Seite/Seiten

es verursacht ein Problem, weil ich es vorher nicht getan habe. Ich versuche, Stil in eine Warteschlange zu stellen, oder es handelt sich je nach Seite um Skripte. Aber es funktioniert nicht. Hier ist der Code:

add_action('init', 'my_enqueue_styles');

function my_enqueue_styles(){
    if(is_page('Add Event')){ // also tried slug, page id and wp_reset_query(); bot not worked

    wp_deregister_style( 'jquery-ui-custom-flick' );
    wp_register_style( 'jquery-ui-custom-flick', get_bloginfo('template_directory') .'/styles/jquery.ui/ui.custom.flick.css');
    wp_enqueue_style( 'jquery-ui-custom-flick' );
    }

}

Ich tue nicht das bedingte Recht. Das Skript funktioniert ohne die Bedingung.

Vielen Dank!

BEHOBEN:

Das Problem war mit dem Aktions-Hook init. Die bedingte is_page() ist falsch, wenn init aufgerufen wird. Nach dem Hinzufügen des Stils zum Hook wp_print_styles hat es perfekt funktioniert.

1
Sisir

Es sollte so funktionieren.

Randnotizen: Ich weiß nicht, warum Sie ein Stylesheet abmelden und erneut registrieren. Außerdem: get_bloginfo('template_directory') wird jetzt durch get_template_directory_uri() ersetzt. Drittens: Sind Ihre Ordner wirklich mit Punkten dazwischen benannt? Möglicherweise verursacht dies Probleme. Und vielleicht ist Ihr UI-Stylesheet eine Abhängigkeit vom Haupt-JQuery-UI-Stylesheet.

Sie sollten auch anfangen, Antworten auf Ihre Fragen zu akzeptieren. Ihre "Akzeptanzquote" von 67% wird die Menschen daran hindern, Ihre Fragen zu beantworten.

function wpse_16487_enqueue_styles()
{
    if ( is_page('Add Event') ) // also tried slug, page id and wp_reset_query(); bot not worked
    { 
        wp_register_style( 'jquery-ui-custom-flick', get_template_directory_uri().'/styles/jquery-ui/ui-custom-flick.css', 'jquery-ui' );
        wp_enqueue_style( 'jquery-ui-custom-flick' );
    }
}
add_action( 'wp_print_styles', 'wpse_16487_enqueue_styles' );

Wenn etwas nicht funktioniert, sollten Sie mit dem Debuggen Ihrer WP-Abfrage beginnen: echo '<pre>'; print_r($GLOBALS['wp_query']); echo '</pre>'; und nach dem Seitennamen/Slug suchen, um ihn zu registrieren.

3
kaiser