Astuces pour thèmes WordPress
// 2 novembre 2008 // WordPress & co
AAAAAHHHH non j’ai déjà envie de changer de thème…(ce futur thème fonctionne avec le plugin C4F TextArea ToolBar etc. bon j’ai juste fait sauté le style.css de la sidebar quand j’ai rendu le thème widget ready) bref tout ça pour vous présenter quelques astuces pour améliorer/personnaliser un thème WordPress ![]()
# Comment rendre un thème WordPress 2.6 widget ready, trouvé chez Fran6 :
- Créez un fichier functions.php avec ce code à l’intérieur :
<?php
if ( function_exists('register_sidebar') )
register_sidebar();
?>
- Et si ce n’est pas déjà en haut de votre fichier sidebar.php ajoutez cette ligne :
<?php if ( function_exists('dynamic_sidebar') && dynamic_sidebar() ) : else : ?>
Ce qui donne dans un très simple fichier sidebar.php widget ready :
<div id="sidebar">
<?php if ( function_exists('dynamic_sidebar') && dynamic_sidebar() ) : else : ?>
<?php endif; ?>
</div>
# Sinon 2 astuces données par Nico
- pour ajouter s’il n’est pas pris en compte par votre thème, le plugin utile subscribe-to-comments, il faut,
éditer votre fichier comments.php
et marquer à la fin du fichier le code suivant :
<?php show_subscription_checkbox(); ?>
avant le code :
<?php // if you delete this the sky will fall on your head endif; ?> )
- pour afficher les gravatars dans les commentaires toujours dans votre fichier comments.php
marquer le code suivant :
<?php echo get_avatar( get_comment_author_email(), '30' ); ?>(30: tu peux le modifier, par exemple 45 si tu le souhaites plus gros l’avatar…)
avant le code:
<?php comment_author_link() ?> (ligne 35)</blockquote>
rent a car bulgaria
#Enfin 2 autres astuces que m’a donné 1loup![]()
- au cas où les liens articles récents - articles anciens sont l’un en dessous de l’autre c’est rectifiable pour les placer l’un à gauche et l’autre à droite par ce code dans les fichiers page.php et index.php:
<div style="float:left;"><?php next_posts_link('« Previous Entries') ?></div>
<div style="float:right;"><?php previous_posts_link('Next Entries »') ?></div>à la place de celui-ci :
<div><?php next_posts_link('« Previous Entries') ?></div>
<div><?php previous_posts_link('Next Entries »') ?></div>et
- si votre lien #top ne fonctionne pas pour revenir en haut de la page remplacer #top par #navigation dans les fichiers page.php et index.php
<a href="#navigation" class="graylink">Remonter?</a>
Donc ce billet était surtout pour moi l’occasion de remercier 1loup et Nico pour m’avoir, sur le thème Freshmint, proposé leur aide spontanément !








salut,
j’ai essayé le truc pour widgetiser mon thème (oui j’ai encore changé de thème sur Blomig)…
et ça me donne ça dans la sidebar :
Parse error: syntax error, unexpected $end in /home/.kurtz/lomig/blomig.com/wp-content/themes/simpla/sidebar.php on line 15
tu sais d’où ça peut venir ?
je précise que j’ai utilisé ça aussi
http://automattic.com/code/widgets/themes/
et que ça ne marche pas mieux…arg….
Merci pour le lien
même si dans peu de temps tu auras changé de thème
Tu ne crois pas que tu perds tes lecteurs à changer de thème tout le temps?
Il faudrait que tu trouves une identité au site et que tu t’y tiennes, on ne sait plus où on arrive.
Oui Did entièrement d’accord…ce qui suppose un changement de thème
Oui mais une dernière fois! Tu en as eu des très bien, qui faisaient plus “Daria”
que celui-là.
Des noms des noms de thèmes !
(pfff compliqué
)
C’est vrai j’ai du mal à me reconnaître dans le thème freshmint actuel
Tu en avais un marron et vert (je crois) que j’aimais bien récemment.
Avec une sorte de store en haut (ou alors c’était un autre).
Même un avec la tête de Daria il y a plus longtemps.
Tu devrais faire un sondage avec des captures pour qu’on te choisisse un thème que tu garderas toute ta vie!
Euh vert et marron à part fluidity http://img113.imageshack.us/im.....ityou8.png
)
je vois pas trop là.
Celui avec ma tête de daria c’est effectivement très très vieux (pour moi
Pour les sondages c’est ce que je fais déjà…mais par contre je garde pas le thème choisi très longtemps
Merci en tout cas Did
Merci pour toutes ces astuces
de rien weedfast, sympa ton blog sur le libre chez servhome
C’était bien celui-là. Noir et vert alors.
Mettre des styles inline dans un thème, saymal (et Bruno nous l’expliquait encore très bien aujourd’hui). D’autant qu’un thème WordPress bien fait comprends des classes .alignright et .alignleft toutes faites pour faire “flotter” les contenus du bon côté (CF: la 1ère astuce de 1Loup).
L’astuce pour le plugin Subscribe To Comments n’est également que pour un thème un peu vieillot/non-conforme aux standards de WordPress car normalement, le fichier comments.php doit appeler en fin de formulaire le hook do_action(’comment_form’) utilisé par le plugin pour attacher correctement la case à cocher quand l’option est activée (donc automatiquement). En plus, en plaçant ce hook “correctement”, on peut éviter à cette case à cocher de se trouver après la soumission de l’article ce qui est plus correct en terme d’accessibilité (j’en avais pas mal parlé dans Comment bien intégrer le plugin subscribe to comments dans son formulaire).
Ce sont certes des détails mais qui peuvent avoir un impact certain notamment sur la vitesse d’affichage (mettre des styles inline ne permet pas d’utiliser correctement le cache et du coup, ces styles sont chargé à chaque fois depuis le net au lieu d’être pris dans le cache local ce qui est plus lent).
Le mieux, c’est d’aller faire un petit tour dans le codex pour vérifier les astuces qu’on trouve sur le net avant de les appliquer tel quel ou de vérifier leur impact avant le déploiement de votre thème modifié.
voilou voilou
Oh ben, il ne faut pas exagérer. Ce n’est pas parce qu’on met quelques styles dans le code que ça va alourdir la page.
Il vaut même mieux au contraire placer un style=”float:left” qui est rapide et facile à écrire que de créer une classe pour ça!
Parce que oui: il faut créer des classes pour chaque élément. Surtout éviter les classes du genre “centre” ou “alignleft” qui n’identifie pas l’élément mais reviennent à placer un style dans l’HTML en pire.
Burninghat : je vais lire ça à tête reposée
Merci pour ton point de vue David, t’es chez ironie.org c’est marrant c’est là où ‘avais créé mon premier site et blog
Mmmm des choses à lire sur ton blog
Je suis du même avis que David et estime que créer des .alignright et .alignleft, c’est vraiment ne rien avoir compris à ce que doivent servir les CSS.
L’article publié chez Bruno est plus orienté “développeur” et est contestable sur bien des points.
Ah bah écoute @1loup, vu que ce sont des classes génériques utilisées par l’application WordPress (par exemple pour l’alignement des images) et non de ma propre invention, je t’invite à aller poster aux développeurs de WordPress que ce sont des quiches en CSS. Je suis certains que le compliment les touchera et qu’ils reverront leur pratique. :p
donc mettre ses styles inline pour faire ce qui devrait être expliciter dans une classe CSS qui devrait de toute façon exister car utilisée par le core WordPress et ainsi ré-inventer la roue n’est pas une excellente idée. CQFD
Je disais aussi: ça vaut la peine d’aller se documenter dans le codex, ne serait que pour ne pas raconter n’importe quoi
Pour vérifier mes dires: http://codex.wordpress.org/CSS (c’est que depuis la version 2.5 que ça existe en plus :p)
Ce n’est pas d’aujourd’hui que je n’aime pas WordPress, hein, pour rester poli. Et je persiste, créer .alignright et .alignleft, il faut vraiment ne rien avoir compris au CSS. Cela ne servirait pas à grand chose de les insulter, ils sont de toutes façons certains d’être les meilleurs. C’est comme d’écrire en page d’accueil que WordPress respecte les standards et lorsqu’on insère un vidéo de type YouTube, l’éditeur transforme le code et rajoute un embed qui est interdit depuis pas mal d’années ! On n’a visiblement pas la même définition des “standards” ! Ton codex, il est peut être gentil mais l’anglais n’est pas ma langue maternelle.
>burningHat: J’ai oublié de préciser que je pouvais t’expliquer si tu le désirais en quoi c’est stupidement crétin (et un truc de grosse feignasse) d’avoir créé ces .alignright et .alignleft mais pas ici, par mail si tu le souhaites, on est en train de pourrir le billet de Daria là, alors qu’elle n’a rien demandé, la pauvre
Mais je pense qu’avec un peu de réflexion, en extrapolant, tu pourrais comprendre : penses-tu qu’il serait judicieux de créer une classe .red avec dedans color:red; ? Lorsque je change le contenu de la classe et que je met un color:green (parce que c’est à cela que servent les CSS, en séparant le fond et la forme), est-ce que la classe .red a encore un sens ?
Alors que oui, il y a clairement des cas où il vaut mieux mettre le style “inline”. Ce n’est pas mal, sinon cela serait interdit et ne passerais pas la validation !
C’est en créant les alignright et alignleft qu’on réinvente la roue, ces instructions existent déjà. Tu ferais un .precedent et un .suivant avec dedans des instructions d’alignement, bordure, padding et margin, je comprendrais mais là, ce n’est pas le cas !
Je vais simplement conclure qu’elles seront “obligatoires” pour créer un thème destiné à être diffuser sur tout blog WP depuis la v2.5 (parce que les utilisateurs cliqueront sur “aligné à gauche” ou “aligné à droite” pour leurs images). C’est tout… qu’on aime ou pas, si on utilise cette plateforme et qu’on veut un thème utilisable “comme attendu” avec l’éditeur et la plateforme c’est pas une question de choix. Ton avis se défend parce que tu n’utilises pas WP mais les astuces citées ici sont dédiés à WP (y a qu’à lire le titre de l’article), ça s’arrête là.
Après que le choix sémantique fait par WP soit pertinent ou non n’est même plus une question du coup. Pour ma part, je n’aurais jamais créé une classe connotée ainsi si j’avais créé la plateforme parce que fondamentalement j’ai un avis proche du tiens sur le choix du nom. MAIS quand on partage des astuces c’est pour qu’elles fonctionnent pour tous (du coup je ne me sens pas du tout HS avec le post de Daria puisque c’est le sujet du billet) et c’est là qu’on est tenu de suivre la ligne de conduite du logiciel avec lequel on veut travailler. Si on aime pas WP, c’est pas les plateformes de blogs qui manquent et y en a de bien plus respectueuses des standards “purs” donc c’est totalement nul et non avenu comme point de vue.
Pour tes explications, je m’en passerais parce que j’avais très bien compris de quoi tu parlais dès le début et que je mange du CSS depuis que ça existe mais merci pour la proposition
Il faut juste bien comprendre que le point de vue avancé est que “ça existe, c’est là et c’est utilisé massivement par la plateforme et son éditeur donc aller contre est insensé, autant changer de plateforme…”.
Pour ma part le débat est clôt, les visiteurs de ce billet ont désormais assez d’éléments pour choisir en toute connaissance de cause comment ils veulent appliquer tout ça et pourront savoir pourquoi/comment ça marche. Ce qui fait que finalement on aura tous les deux atteints notre but de pouvoir expliquer notre point de vue sur ce point de style
“MAIS quand on partage des astuces c’est pour qu’elles fonctionnent pour tous (du coup je ne me sens pas du tout HS avec le post de Daria puisque c’est le sujet du billet)”
Juste Burninghat pour préciser que c’est MOI qui ai mis ce titre astuces et c’est encore MOI qui ai décidé de poster ce que 1loup notamment m’avait donné comme aide à titre perso par mail.
Bref vous avez deux points de vue différents sur le CSS made in WordPress et on l’a bien compris
>burningHat: Ton raisonnement ne me convient toujours pas ! Daria n’est pas en train de créer un thème qu’elle mettra à disposition de la communauté WordPress que je sache ! Elle cherchait juste à personnaliser son bouzin ! Il n’y a aucune raison de quitter WordPress parce qu’il a des défauts ! Comme il n’y a aucune raison d’aller se suicider si tout le monde autour de soit se suicide ou d’aller manger de la merde parce que ses voisins s’y mettent ! donc aucune raison d’utiliser ce que massivement est utilisé sous WordPress parce que “c’est mal” !
Cette astuce fonctionnera pour tous justement (puisque “inline”) alors que si tu personnalises ton CSS et met dans le .alignleft un float:right ou n’importe quoi d’autre ce “truc de WordPress” ne fonctionnera plus et qu’il te faudra changer toutes tes occurrences dans ton template alors que c’est justement cela que les CSS sont censés éviter !
Il faut faire du CSS quand la structure le nécessite/ s’y prête (en le “pensant”) et mettre du inline aussi souvent que c’est nécessaire.
Il n’y aucune raison de se laisser “formater” par qui que ce soit : WordPress est un outil avec ses qualités et ses défauts et il n’y a aucune raison d’accepter et de se forcer à utiliser les conneries des autres au prétexte que c’est massivement utilisé ou le choix des auteurs, ce raisonnement ne tient pas debout. Et inciter les autres à utiliser des conneries comme tu le fais ici alors que tu sais pertinemment que c’est mal, je désapprouve totalement.