- Statut : non résolu
- Ce sujet contient 19 réponses, 4 participants et a été mis à jour pour la dernière fois par Guy, le il y a 13 années et 5 mois.
-
AuteurMessages
-
7 mai 2011 à 11 h 35 min #494447
Hello,
je voudrais faire un truc assez simple mais je ne trouve pas la bonne syntaxe conditionnelle : j’ai un blog avec plusieurs auteurs, et je voudrais afficher un petit texte différent selon que l’auteur est admin ou pas en haut de chacun de ses articles, entre le titre et le contenu, mais pas sur la home, uniquement dans les archives, donc sur single.php
J’ai fait :<?php
if(is_author = admin)
{
echo 'texte1';
}
else
{
echo 'texte2';
}
?>Mais ça ne marche pas. Si quelqu’un pouvait me filer le bon code « if … else » ça serait vraiment cool.
7 mai 2011 à 11 h 46 min #767463Salut. En fait pour is_author il faut l’idée ou l’identifiant.
Et puis il manque les parenthèses pour la fonction is_authorcela devrait plutot ressembler à ca : if (is_author(id ou identifiant)) {blablabla}
7 mai 2011 à 12 h 19 min #767464pour tester l’égalité, il est préférable de mettre ==, le signe = seul est une affectation, c’est peut être uniquement une erreur de recopie dans le post 🙂
7 mai 2011 à 13 h 08 min #767465Merci pour votre aide, malheureusement j’ai essayé toutes les combinaisons possibles et imaginables et ça ne fonctionne pas. Je n’ai pas de message d’erreur mais selon l’identifiant que je mets comme auteur j’ai soit le texte1 soit le texte2 qui s’affiche sur tous les posts, mais la condition ne fonctionne pas
7 mai 2011 à 13 h 15 min #767466Viens de voir qu’il manque un point-virgule derrière is_author(); dans mon exemple.
7 mai 2011 à 13 h 26 min #767467Ma dernière tentative
Ne marche pas, quelque soit l’auteur ou la page j’ai seulement « texte2 » qui s’affiche. Je craque.:boulet:
7 mai 2011 à 14 h 22 min #767468Cela doit s’expliquer. Je vais être occupé cette après-midi, je regarderai quelles peuvent être les causes en fin de soirée, vraiment fin de soirée…, on va dire demain matin très tôt.
7 mai 2011 à 16 h 17 min #767469Guy wrote:Cela doit s’expliquer. Je vais être occupé cette après-midi, je regarderai quelles peuvent être les causes en fin de soirée, vraiment fin de soirée…, on va dire demain matin très tôt.Très sympa, j’attends de tes news et je posterai ici si j’ai trouvé entretemps 🙂 Bonne soirée !
7 mai 2011 à 17 h 17 min #767470Cela a été plus rapide que prévu.
J’ai regardé la page Codex, apparemment, is_author() ne retourne une valeur signifiante que lorsque l’on est sur la page de l’auteur.
This Conditional Tag checks if an Author archive page is being displayed. This is a boolean function, meaning it returns either TRUE or FALSE.
de toute façon, il existe une autre fonction get_the_author() 🙂
$author = ‘cirenip’;
if ( get_the_author() == $author)
echo ‘Voici les articles de cirenip’;
else
echo ‘Texte de ‘. get_the_author();7 mai 2011 à 17 h 22 min #767471Si tu veux tester le rôle admin de l’auteur, tu peux faire ça :
7 mai 2011 à 17 h 46 min #767472Ben voila, cela m’apprendra à tout lire depuis le début 🙂
Je croyais que le test à faire était sur le nom.ben oui, c’est exactement, il faut utiliser get_the_author_meta(‘user_level’).
8 mai 2011 à 7 h 26 min #767473Merci les gars mais aucune des solutions ne fonctionne, c’est toujours le texte2 qui s’affiche.
8 mai 2011 à 7 h 35 min #767474Il nous faut le code et le nom du theme pour pouvoir répondre.
J’ai essayé avec TwentyTen, la modification est à faire dans loop-single.php (je ne suis plus vraiment certain du nom mais c’est l’idée 🙂), et cela marche très bien.
Sinon pour debug, on peut mettre
Question subsidiaire: la fonction est bien appelée dans le « loop »? Elle n’a de sens que si l’article est renseigné, je pense qu’il faut que the_post() ait été appelé avant.
8 mai 2011 à 9 h 25 min #767475Laurent H wrote:Si tu veux tester le rôle admin de l’auteur, tu peux faire ça :En effet dans la loop ça fonctionne mais ça ne me permet pas de faire ce que je souhaite, ça permet juste d’afficher des trucs différents en fonction du statut de l’auteur admin/pas admin. Du coup j’ai essayé avec
Mais retour à la case départ, ça ne marche pas
8 mai 2011 à 9 h 45 min #767476cirenip wrote:Hello,
je voudrais faire un truc assez simple mais je ne trouve pas la bonne syntaxe conditionnelle : j’ai un blog avec plusieurs auteurs, et je voudrais afficher un petit texte différent selon que l’auteur est admin ou pas en haut de chacun de ses articles, entre le titre et le contenu, mais pas sur la home, uniquement dans les archives, donc sur single.phpC’est bien ce que tu veux, afficher un texte entre le titre de l’article et son contenu?
Pour connaitre l’auteur d’un article, il faut forcement avoir appeler l’article avant, sinon, comment veux tu que WordPress trouve l’auteur d’un article qui n’est pas encore connu!!!!
Tu dois mal placer ton code parceque j’ai fait des essais et je place un texte ou une couleur ou ce que tu veux sous le titre de l’article en fonction du rang de l’auteur sans aucun problème.
Tu envoies un bout de code, mais ne sachant pas ou tu le places, ça ne sert à rien. Il faut l’ensemble de la page ou au minimum un schéma décrivant le processus (organigramme, algorithme, …) sinon les réponses passeront à coté.
-
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.