web-dev-qa-db-ja.com

the_excerptと組み合わせてより多くのタグを使用する

これでも可能かどうかはわかりませんが、とにかくお願いすると思いました。私は現在、私のフォーラムに接続するカスタムプラグインを使用しています。人々が特定のカスタムユーザグループに属している場合は、投稿の全内容を見ることができます(the_content)。そうでない場合は、投稿の最初の55単語(the_excerpt)しか表示されません。あなたは私のテーマのsingle.phpページで私が使っている略語コードをここで見ることができます:

   <?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 (); 
    } 
    ?>

しかし、the_excerptでは、投稿の最初の55ワードをX以外のグループのメンバーに見せることしかできません。

私がやりたいことは、抜粋が終わる場所を正確に設定することです。そうすることで、Xグループ以外のメンバーに見せることができるものを制御できます。抜粋の終点を示すためにWordpressのmoreタグを使用してみましたが、うまくいきませんでした。 the_contentthe_excerptの両方と組み合わせて使用​​しましたが、どちらも無視しています。

何が悪いのかわからない。これをすべて間違って解決しようとしている場合は、投稿全体をXグループのメンバーに見せ、moreタグで示した抜粋をXグループ以外のメンバーに見せます。誰かアイデアがありますか?ありがとうございました!

1
Jon

まず最初に、両方のメソッドがすでにエコーするecho the_content(); and the_excerpt();を必要としません。次に、このようにthe_excerpt();の後にパーマリンクを使ってもっとリンクを張るだけです。

<?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();
    } 
?>

編集:the_content('', true)に2番目のパラメータtrueを追加しました。これは<!--more--> quicktagの後の内容を切り捨てます。

2
Anjum