web-dev-qa-db-fra.com

Utilisation de plus de balises en combinaison avec the_excerpt

Je ne sais pas si c'est même possible, mais je pensais demander quand même. J'utilise actuellement un plugin personnalisé qui se connecte à mes forums. Si des personnes appartiennent à un certain groupe d'utilisateurs personnalisé, elles peuvent voir le contenu complet d'une publication (the_content). S'ils ne le sont pas, ils ne voient que les 55 premiers mots de l'article (the_excerpt). Vous pouvez voir le code abrégé ici, que j'utilise sur la page single.php de mon thème:

   <?php // IN X USER GROUP
        if($customgroup==1 || // Are they in the custom group?
       $userinfo->usergroup == 66) { // or the admin of the website?
      echo the_content();
    } else { // They aren't in the custom group  
      echo the_excerpt (); 
    } 
    ?>

Cependant, the_excerpt me permet uniquement de montrer les 55 premiers mots du message aux membres du groupe autres que X.

Ce que je veux faire, c'est définir exactement où se termine l'extrait. De cette façon, je peux contrôler ce que les membres n'appartenant pas au groupe X peuvent voir. J'ai essayé d'utiliser le tag plus de Wordpress pour indiquer la fin de l'extrait, mais je n'ai pas réussi à le faire fonctionner. Je l'ai utilisé en combinaison avec le the_content et le the_excerpt, mais ils l'ignorent tous les deux.

Je ne suis pas sûr de ce que je fais mal. Si je me trompe tout à fait, ce que je veux juste faire, c'est montrer le message en entier aux membres du groupe X et montrer l'extrait que j'ai signalé par la balise more aux membres du groupe autre que X. Quelqu'un a des idées? Je vous remercie!

1
Jon

tout d’abord, vous n’avez pas besoin de echo the_content(); and the_excerpt(); les deux méthodes déjà à l’échelle, deuxièmement, mettez simplement le lien le plus fort en utilisant permalink après the_excerpt(); comme ceci.

<?php // IN X USER GROUP
    if($customgroup==1 || // Are they in the custom group?
        $userinfo->usergroup == 66) { // or the admin of the website?
        the_content();
    } else { // They aren't in the custom group 
        global $more;
        $more = 0;
        the_content();
    } 
?>

Modifié: ajout du deuxième paramètre true à the_content('', true). Cela coupera le contenu après <!--more--> quicktag.

2
Anjum