WordPress 3.3 et le css frontend. Rendre son thème compatible (Créer un compte)

  • Statut : non résolu
8 sujets de 1 à 8 (sur un total de 8)
  • Auteur
    Messages
  • #503474
    wasicu
    Membre
    Maître WordPress
    2752 contributions

    Bonjour.

    La fonction WordPress wp_print_styles qui ajoute les fichiers (il peut effectivement y en avoir plusieurs) CSS de votre thème dans le header du blog via wp_head() est incompatible avec WordPress 3.3

    Elle peut en effet générer un effet secondaire, non grave, mais gênant, en appliquant les propriétés CSS de votre thème à l’interface d’administration.

    Si vous rencontrez le problème, comme ce fut mon cas pour le thème mimimatica :

    Rechercher, dans votre fichier funtions.php du thème, la fonction qui « enqueue » (pardonnez l’utilisation de l’anglois mais aucun mot simple ne me vient à l’esprit tout de suite) les fichiers de style, elle utilisera la fonction wp_enqueue_style()

    À la fin de cette fonction se trouvera : add_action(wp_print_styles »,’ICILENOMDELAFONCTIONDENQUEUE’)

    et remplacer wp_print_styles par wp_enqueue_scripts, ce qui résoudra votre problème jusque la version 3.4 qui devrait voir l’apparition d’une fonction dédiée et intitulée :

    wp_enqueue_styles()

    En toute logique et en notant le pluriel qui la différenciera de wp_enqueue_style(), cette dernière n’étant utilisée que pour un style et répétée selon les besoins.

    Ma source : Use wp_enqueue_scripts not wp_print_styles to enqueue scripts and styles for the frontend

    #807142
    tabris
    Membre
    Chevalier WordPress
    181 contributions

    wp_enqueue_style() existe déjà, et peut être utilisée pour les CSS :
    http://codex.wordpress.org/Function_Reference/wp_enqueue_style

    wp_enqueue_script est là pour le javascript plutôt

    #807143
    wasicu
    Membre
    Maître WordPress
    2752 contributions

    Salut l’ami Tabris. Je crois que tu n’as pas bien lu ou que je me suis mal exprimé. C’est wp_print_styles qu’il ne faut pas utiliser et lui préférer wp_enqueue_scripts (note le pluriel) pour ne pas avoir ce bug. Lis l’article en lien, c’est le blog officiel des dev du core WordPress.

    #807144
    tabris
    Membre
    Chevalier WordPress
    181 contributions

    Oui en effet je suis allé un peu vite, wp_enqueue_scripts est l’action, wp_enqueue_script et wp_enqueue_style se trouvent dans la fonction appelée dans le add_action.

    #807145
    Guy
    Participant
    Maître WordPress
    14817 contributions

    Merci, je vais vérifier si je m’en étais servi et si c’est utilisé dans des thèmes ou plugins que j’utilise.

    #807146
    wasicu
    Membre
    Maître WordPress
    2752 contributions

    Bonjour Guy. Oui, c’est à vérifier surtout pour les thèmes qui chargent un paquet de css. Belle journée.

    #807147
    Guy
    Participant
    Maître WordPress
    14817 contributions

    Je ne saisis pas toutes les subtilités de la langue anglaise, mais je crois comprendre que le problème en se servant de « wp_print_styles », c’est de retrouver les styles définis pour le site dans l’admin. Je ne pense pas que cela impacte le site en lui-même.

    #807148
    wasicu
    Membre
    Maître WordPress
    2752 contributions

    Oui, cela n’a pas d’impact sur le site, juste sur l’admin mais c’est assez déroutant et surtout en fonction du css de ton thème peut casser complètement celui de l’admin. C’est plus destiné à tes clients (si tu en as) pour lesquels tu aurais installé un wordpress et qui se retrouveraient avec une admin fantaisiste lors de l’update à la 3.3. C’est donc bien wp_print_styles qu’il faut bannir des thèmes. Mon autre site n’utilise pas cette fonction du fait que j’ai fondu les styles à la mano en un fichier pour pouvoir le minifier, cette fonction n’est donc pas utilisée.

8 sujets de 1 à 8 (sur un total de 8)
  • Le forum ‘Dépôts pour les extensions, trucs, astuces’ est fermé à de nouveaux sujets et réponses.