Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Modifier le PHP des widgets WP

17 réponses
Avatar
Tom C.
Salut,

Dans Wordpress (2.8), comment modifier le code PHP interprété par un
widget ?

J'aimerais simplement mettre du gras au nom des commentateurs dans le
widget "Nouveaux commentaires", mais absolument impossible (j'ai écumé
Google) de trouver l'emplacement où se trouve le code PHP gérant
l'affichage des widgets.

Et j'enrage !

T.

10 réponses

1 2
Avatar
BertrandB
Tom C. a écrit :
Salut,

Dans Wordpress (2.8), comment modifier le code PHP interprété par un
widget ?

J'aimerais simplement mettre du gras au nom des commentateurs dans le
widget "Nouveaux commentaires", mais absolument impossible (j'ai écumé
Google) de trouver l'emplacement où se trouve le code PHP gérant
l'affichage des widgets.

Et j'enrage !

T.


Drôle d'idée. Le bon endroit est dans la feuille style du thème utilisé.
Les widgets font partis du code wordpress et tout modification à cette
endroit peut être écrasé par une maj.
Donc tout ce qui est de la personnalisation -> dans des thèmes ou des
plugins.

Pour la doc il fallait aller dans le codex où on trouve un lien vers un
article : http://automattic.com/code/widgets/themes/ plein d'enseignements.

PS : le Codex est touffu mais on s'aperçoit vite que faire un plugin
n'est pas une chose trop compliquée.
Avatar
Olivier Masson
Le 18/12/2009 22:05, Tom C. a écrit :
Salut,

Dans Wordpress (2.8), comment modifier le code PHP interprété par un
widget ?

J'aimerais simplement mettre du gras au nom des commentateurs dans le
widget "Nouveaux commentaires", mais absolument impossible (j'ai écumé
Google) de trouver l'emplacement où se trouve le code PHP gérant
l'affichage des widgets.

Et j'enrage !

T.



Salut,

"écumé" peut-être pas. Ca peut être simple ou moins simple. Dans ton cas
c'est même très simple puisque ce que tu peux obtenir ce que tu
souhaites dans le fichier de traduction.
Par contre, c'est le fichier de traduc qui se trouve dans
wp-content/languages car il s'agit d'un module par défaut.
La chaine n'est pas explicite : "%1$s on %2$s". Il te suffit de mettre,
par exemple "<strong>%1$s</strong> on %2$s" ou un span que tu styles par
ailleurs.
Dans tous les cas, on trouve les infos dans le fichier des widgets
(default-widget.php)
Avatar
Tom C.
Olivier Masson a écrit :
Le 18/12/2009 22:05, Tom C. a écrit :
Salut,

Dans Wordpress (2.8), comment modifier le code PHP interprété par un
widget ?

J'aimerais simplement mettre du gras au nom des commentateurs dans le
widget "Nouveaux commentaires", mais absolument impossible (j'ai écumé
Google) de trouver l'emplacement où se trouve le code PHP gérant
l'affichage des widgets.

Et j'enrage !

T.



Salut,

"écumé" peut-être pas. Ca peut être simple ou moins simple. Dans ton cas
c'est même très simple



Hum. Pas *très* simple, non !

puisque ce que tu peux obtenir ce que tu
souhaites dans le fichier de traduction.
Par contre, c'est le fichier de traduc qui se trouve dans
wp-content/languages car il s'agit d'un module par défaut.
La chaine n'est pas explicite : "%1$s on %2$s". Il te suffit de mettre,
par exemple "<strong>%1$s</strong> on %2$s" ou un span que tu styles par
ailleurs.
Dans tous les cas, on trouve les infos dans le fichier des widgets
(default-widget.php)



Bon, j'ai réussi (je ne sais même pas comment) à trouver dans /languages
un gros fichier fr_FR.po qui semble être ce dont tu parles. La chaîne
dont tu parles est un peu partout, mais j'en ai modifié une dans la
section "recent comments", j'ai même modifié les deux (l'anglaise et la
française), mais ça ne donne juste rien du tout.

Par ailleurs toutes les pages que j'ai vu sur le web ne parlent que de
"widget.php" qui n'existe pas chez moi, j'ai un "widgets.php" qui est
imbitable et ne contient aucun html.

Bon, maintenant que j'ai trouvé le default-widget.php grâce à toi, je
vais essayer de comprendre comment il parle à l'autre, fr_FR.po

Mais là ça dépasse vraiment de loin mes compétences...

J'aimerais bien éviter d'installer un plug-in pour ça...

T.

--
Transe infinie
(maths, traduction, jeux vidéo, romance, mauvaise foi)
http://transe.idiomatique.org
Avatar
Tom C.
BertrandB a écrit :
Tom C. a écrit :
Salut,

Dans Wordpress (2.8), comment modifier le code PHP interprété par un
widget ?

J'aimerais simplement mettre du gras au nom des commentateurs dans le
widget "Nouveaux commentaires", mais absolument impossible (j'ai écumé
Google) de trouver l'emplacement où se trouve le code PHP gérant
l'affichage des widgets.

Et j'enrage !

T.


Drôle d'idée. Le bon endroit est dans la feuille style du thème utilisé.



Oui, peut-être que ça te fait rire, mais ce qui ne me fait pas rire moi
c'est que le code généré par le widget met "Machin dans" avec la même
classe, alors que précisément je ne veux mettre que "Machin" en gras
(sinon ça n'a aucun intérêt...).

Donc je peux modifier les styles tant que je veux, ça ne réglera pas mon
problème.

Les widgets font partis du code wordpress et tout modification à cette
endroit peut être écrasé par une maj.
Donc tout ce qui est de la personnalisation -> dans des thèmes ou des
plugins.



Si je veux modifier un widget par défaut, selon toi je n'ai donc pas le
droit ?

Pour la doc il fallait aller dans le codex où on trouve un lien vers un
article : http://automattic.com/code/widgets/themes/ plein d'enseignements.



Toujours agréable (on ne s'en lasse pas) le "il fallait"... J'ai posté
ici après avoir comme d'habitude fouillé, fouillé, fouillé. Merci de ton
aide précieuse et pertinente.

T.



--
Transe infinie
(maths, traduction, jeux vidéo, romance, mauvaise foi)
http://transe.idiomatique.org
Avatar
BertrandB
Tom C. a écrit :
BertrandB a écrit :


Oui, peut-être que ça te fait rire, mais ce qui ne me fait pas rire moi
c'est que le code généré par le widget met "Machin dans" avec la même
classe, alors que précisément je ne veux mettre que "Machin" en gras
(sinon ça n'a aucun intérêt...).

Donc je peux modifier les styles tant que je veux, ça ne réglera pas mon
problème.



Si je veux modifier un widget par défaut, selon toi je n'ai donc pas le
droit ?




donc le "machin"
il est dans un balise a de classe url dans un li de classe recentcomments
donc le sélecteur à utiliser dans la feuille de style est
.recentcomments .url {

et je t'assure tu as tout les droits de modifier tout ce que tu veux je
m'en voudrais d'empiéter d'une once sur ta liberté.
Eh bé c'est la neige qui rend agressif ?
Avatar
Tom C.
BertrandB a écrit :
Tom C. a écrit :
BertrandB a écrit :




donc le "machin"
il est dans un balise a de classe url dans un li de classe recentcomments
donc le sélecteur à utiliser dans la feuille de style est
.recentcomments .url {



Ok merci, tu es vraiment super rapide pour régler les problèmes toi.
Tout est limpide et très simple.

Sauf que j'ai bien précisé (mais il fallait lire) que le nom du
commentateur et le mot "dans" étaient dans la même classe. Et pas dans
une balise a, d'ailleurs...

Extrait du code, parce que je pense que c'est plus lisible peut-être
pour toi :

<ul id="recentcomments"><li class="recentcomments">end dans (...)

Pour arriver à mettre "end" en gras et pas le mot "dans" en ne touchant
qu'au CSS, il va falloir se lever assez tôt.

et je t'assure tu as tout les droits de modifier tout ce que tu veux je
m'en voudrais d'empiéter d'une once sur ta liberté.
Eh bé c'est la neige qui rend agressif ?



Oh non c'est juste que tu ne lis pas mes questions et que tu réponds
donc à côté (deux fois d'affilée) et en plus avec un ton un brin hautain
("drôle d'idée", "il fallait faire ça").

Bonne journée.


--
Transe infinie
(maths, traduction, jeux vidéo, romance, mauvaise foi)
http://transe.idiomatique.org
Avatar
BertrandB
BertrandB a écrit :
Tom C. a écrit :
BertrandB a écrit :




Oui, peut-être que ça te fait rire, mais ce qui ne me fait pas rire
moi c'est que le code généré par le widget met "Machin dans" avec la
même classe, alors que précisément je ne veux mettre que "Machin" en
gras (sinon ça n'a aucun intérêt...).

Donc je peux modifier les styles tant que je veux, ça ne réglera pas
mon problème.





Si je veux modifier un widget par défaut, selon toi je n'ai donc pas
le droit ?




donc le "machin"
il est dans un balise a de classe url dans un li de classe recentcomments
donc le sélecteur à utiliser dans la feuille de style est
.recentcomments .url {

et je t'assure tu as tout les droits de modifier tout ce que tu veux je
m'en voudrais d'empiéter d'une once sur ta liberté.
Eh bé c'est la neige qui rend agressif ?


Bémol à ce que je viens d'écrire ne marche que si la personne qui a
posté le commentaire était loguée ...
pour que ça marche à tout les coup il faut modifier
wp-include/default-widget.php ligne 647 et encadrer l'appel
get_comment_author_link par
'<span class="com_auth_link">',get_comment_author_link(),'</span>'

puis dans la feuille de style régler la classe com_auth_link

l'idéal est de faire un plugin modifiant le comportement de
get_comment_author_link. (voir add_filter hook)
ce n'est pas sorcier il suffit d'un peu de courage.
Avatar
Tom C.
BertrandB a écrit :
BertrandB a écrit :
Tom C. a écrit :
BertrandB a écrit :




Oui, peut-être que ça te fait rire, mais ce qui ne me fait pas rire
moi c'est que le code généré par le widget met "Machin dans" avec la
même classe, alors que précisément je ne veux mettre que "Machin" en
gras (sinon ça n'a aucun intérêt...).

Donc je peux modifier les styles tant que je veux, ça ne réglera pas
mon problème.





Si je veux modifier un widget par défaut, selon toi je n'ai donc pas
le droit ?




donc le "machin"
il est dans un balise a de classe url dans un li de classe recentcomments
donc le sélecteur à utiliser dans la feuille de style est
.recentcomments .url {

et je t'assure tu as tout les droits de modifier tout ce que tu veux
je m'en voudrais d'empiéter d'une once sur ta liberté.
Eh bé c'est la neige qui rend agressif ?


Bémol à ce que je viens d'écrire ne marche que si la personne qui a
posté le commentaire était loguée ...
pour que ça marche à tout les coup il faut modifier
wp-include/default-widget.php ligne 647 et encadrer l'appel
get_comment_author_link par
'<span class="com_auth_link">',get_comment_author_link(),'</span>'



Ca ne marche pas... Ca m'affiche "dans Pseudo", le titre de l'article
saute...

Ca a marché quand j'ai simplement ajouté des strong autour de "%1$s"
mais ça m'a alors remis le "on" anglais. Quand j'enlève les strong, je
récupère le "dans" traduit.

Et modifier dans la trad du fichier de trad fonctionne pas non plus.

Bon.

T.


--
Transe infinie
(maths, traduction, jeux vidéo, romance, mauvaise foi)
http://transe.idiomatique.org
Avatar
Antoine Polatouche
Tom C. a écrit :

Bon, j'ai réussi (je ne sais même pas comment) à trouver dans /languages
un gros fichier fr_FR.po qui semble être ce dont tu parles. La chaîne
dont tu parles est un peu partout, mais j'en ai modifié une dans la
section "recent comments", j'ai même modifié les deux (l'anglaise et la
française), mais ça ne donne juste rien du tout.



Les fichiers .po sont des fichiers sources qui se 'compilent' en
fichiers .mo.

Un bon outil pour gérer ces fichiers: http://www.poedit.net/index.php
Avatar
Olivier Masson
Le 19/12/2009 15:16, Tom C. a écrit :

Sauf que j'ai bien précisé (mais il fallait lire) que le nom du
commentateur et le mot "dans" étaient dans la même classe. Et pas dans
une balise a, d'ailleurs...




Oui, c'est pour cela que je ne t'ai pas proposé de solution avec css car
ça ne convenait pas.

widgets.php, tu n'as pas trop à le regarder et, en effet, c'est un peu
abscons. Les vieux /tutoriaux/ en parlent car il n'y avait pas
default-widgets.php avant.

Tu ne peux pas avoir plusieurs fois la chaine que j'ai cité car c'est un
fichier de trad : un entrée -> une traduc.
Tu as plusieurs correspondances de cette chaine dans une plus longue,
mais comme chaine complète, c'est la seule.
1 2