[Résolu] Affichage texte différent selon auteur (Créer un compte)

  • Statut : non résolu
15 sujets de 1 à 15 (sur un total de 20)
  • Auteur
    Messages
  • #494447
    cirenip
    Participant
    Initié WordPress
    8 contributions

    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.

    #767463
    wasicu
    Membre
    Maître WordPress
    2752 contributions

    Salut. En fait pour is_author il faut l’idée ou l’identifiant.
    Et puis il manque les parenthèses pour la fonction is_author

    cela devrait plutot ressembler à ca : if (is_author(id ou identifiant)) {blablabla}

    is_author codex

    #767464
    Guy
    Participant
    Maître WordPress
    14817 contributions

    pour 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 🙂

    #767465
    cirenip
    Participant
    Initié WordPress
    8 contributions

    Merci 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 :-/

    #767466
    wasicu
    Membre
    Maître WordPress
    2752 contributions

    Viens de voir qu’il manque un point-virgule derrière is_author(); dans mon exemple.

    #767467
    cirenip
    Participant
    Initié WordPress
    8 contributions

    Ma dernière tentative

    Ne marche pas, quelque soit l’auteur ou la page j’ai seulement « texte2 » qui s’affiche. Je craque.:boulet:

    #767468
    Guy
    Participant
    Maître WordPress
    14817 contributions

    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.

    #767469
    cirenip
    Participant
    Initié WordPress
    8 contributions
    Guy 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 !

    #767470
    Guy
    Participant
    Maître WordPress
    14817 contributions

    Cela 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();

    #767471
    Laurent H
    Membre
    Chevalier WordPress
    126 contributions

    Si tu veux tester le rôle admin de l’auteur, tu peux faire ça :

    #767472
    Guy
    Participant
    Maître WordPress
    14817 contributions

    Ben 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’).

    #767473
    cirenip
    Participant
    Initié WordPress
    8 contributions

    Merci les gars mais aucune des solutions ne fonctionne, c’est toujours le texte2 qui s’affiche.

    #767474
    Guy
    Participant
    Maître WordPress
    14817 contributions

    Il 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.

    #767475
    cirenip
    Participant
    Initié WordPress
    8 contributions
    Laurent 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

    #767476
    Guy
    Participant
    Maître WordPress
    14817 contributions
    cirenip 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.php

    C’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é.

15 sujets de 1 à 15 (sur un total de 20)
  • Vous devez être connecté pour répondre à ce sujet.