web-dev-qa-db-fra.com

Style de file d'attente pour une page/pages uniquement

cela cause un problème parce que je ne l’ai pas fait avant. J'essaie de mettre en file d'attente le style ou les scripts peuvent dépendre de la page. Mais ça ne marche pas. Voici le 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' );
    }

}

Je ne fais pas le droit conditionnel. Le script fonctionne sans le conditionnel.

Merci!

RÉSOLU:

Le problème était avec le crochet d'action init. la is_page() conditionnelle est fausse lorsque init est appelé. Après avoir ajouté le style au hook wp_print_styles, cela a parfaitement fonctionné.

1
Sisir

Cela devrait fonctionner comme ceci.

Notes de bas de page: Je ne sais pas pourquoi vous annulez l'enregistrement d'une feuille de style et enregistrez-la à nouveau. Aussi: get_bloginfo('template_directory') est maintenant remplacé par get_template_directory_uri(). Troisièmement: vos dossiers sont-ils vraiment nommés avec des points entre les deux? Peut-être que cela cause des problèmes. Et peut-être que votre feuille de style ui est une dépendance de la feuille de style principale de jquery ui.

Vous devriez également commencer à accepter les réponses à vos questions. Votre "taux d'acceptation" de 67% empêchera les gens de répondre à vos questions

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' );

Si quelque chose ne fonctionne pas, vous devriez commencer à déboguer votre requête wp: echo '<pre>'; print_r($GLOBALS['wp_query']); echo '</pre>'; et vérifier le nom de la page/le slug pour l’enregistrer.

3
kaiser