フォーラムへの返信

9件の返信を表示中 - 16 - 24件目 (全24件中)
  • こんばんは。

    こちらの情報はいかがでしょうか?

    こちらはギャラリー表示の場合ですが参考になればと思います。

    トピック投稿者 luvjapan

    (@luvjapan)

    kimipooh様、本当にありがとうございます。

    まさに自分が追い求めていた形です。

    自分の環境では functions.php の方に

    function new_the_excerpt( $excerpt ) {
         $excerpt_length = 200;
         $content = apply_filters('the_content', get_the_content());
         $content = strip_shortcodes(strip_tags(get_the_content(), '<i><p><br><span>'));
         $content = mb_substr ( $content, 0, $excerpt_length, 'UTF-8');
         return $content;
    }

    でショートコードも消えました!

    $content = apply_filters('the_content', get_the_content());
    の一行は試しに削除してみたところ表示は変わらないのですがこのタグはなくてはまずいでしょうか?

    トピック投稿者 luvjapan

    (@luvjapan)

    度々すみません。
    上記ですとショートコードが表示されましたので追加しました。

    <div class=”post-content”>
    <?php if(has_excerpt()) {
    the_excerpt();
    echo ”;
    } else {
    if(mb_strlen($post->post_content, ‘UTF-8’)>200){
    $content= mb_substr(strip_tags($post->post_content, ‘<i><p>
    <span>’), 0, 200, ‘UTF-8’);
    $content = strip_shortcodes( $content );
    echo $content.”;
    } else {
    echo strip_shortcodes(strip_tags(get_the_content(), ‘<i><p>
    <span>’));
    }
    }
    ?>
    </div>

    この様にいたしました。
    間違いなどがございましたらアドバイスいただければ助かります。

    宜しくお願い致します。

    トピック投稿者 luvjapan

    (@luvjapan)

    .post-content a {
    display:none ;
    }
    はなくても平気でした。

    トピック投稿者 luvjapan

    (@luvjapan)

    kimipooh様、返事が遅くなり申し訳ありません。そして、回答ありがとうございます。

    色々試行錯誤したのですがなかなかうまくいかず
    かなり強引でスマートではない方法でとりあえずは思う様に表示させております。

    <div class=”post-content”>
    <?php if(has_excerpt()) {
    the_excerpt();
    echo ”;
    } else {
    if(mb_strlen($post->post_content, ‘UTF-8’)>200){
    $content= mb_substr(strip_tags($post->post_content, ‘<i><p>
    <span>’), 0, 200, ‘UTF-8’);
    $content = strip_shortcodes( $content );
    echo $content.”;
    } else {
    echo strip_tags(get_the_content(), ‘<i><p>
    <span>’);
    }
    }
    ?>
    </div>

    loopにてこの様に記述し、画像が2つ表示されるところをcssで
    .post-content a {
    display:none ;
    }

    と言う様にしました。

    もっとスマートな方法がありそうです。

    トピック投稿者 luvjapan

    (@luvjapan)

    kimipooh様、回答ありがとうございます。

    こちらの方は以前試していまして、再度挑戦してみたのですがcontentだけだと改行がうまく

    表示されるのですがexcerptのタグを使用すると改行がきかなくなるという状況です。

    トピック投稿者 luvjapan

    (@luvjapan)

    Okamoto様、回答ありがとうございます。
    難しいですが現在翻訳しながら勉強中です。

    何度もすみません。。。

    <?php if ( has_excerpt() ) : $excerpt = get_the_excerpt(); ?>
    <div class=”excerpt”><?php echo nl2br($excerpt); ?></div>
    <?php endif; ?>
    上記の抜粋のみの表示と

    下記の改行形成されされ、ショートコードを削除したコンテンツ文章を抜粋を優先に切り替え表示出来ないでしょうか?
    <p><?php } ?>
    <?php
    //i,p,br,spanを残す
    if(mb_strlen($post->post_content, ‘UTF-8’)>200){
    $content= mb_substr(strip_tags($post->post_content, ‘<i><p>
    <span>’), 0, 200, ‘UTF-8’);
    $content = strip_shortcodes( $content );
    echo $content.”;
    }else{
    echo strip_tags(the_content(), ‘<i><p></p>

    <span></span>’);
    }
    ?></p>

    抜粋がある場合は抜粋表示し、ない場合はコンテンツから指定文字数表示するというかんじです。

    また、もう少し他に方法があればアドバイスをいただければと思います。

    トピック投稿者 luvjapan

    (@luvjapan)

    Hinaloe様

    ご回答ありがとうございます。
    get_the_contentにて書き換えてみたり色々試してみました。

    抜粋表示はうまくいったのですが

    やはり抜粋が入力がない場合でのcontent取得文章で改行がうまくできません。

    フィルターの適用はどの様にしたらよろしいでしょうか?

    excerptとcontentをあるかないかで切り替えて表示する様なことはできないのでしょうか?

    恐れ入りますが教えていただければ幸いです。

    宜しくお願い致します。

    トピック投稿者 luvjapan

    (@luvjapan)

    nobitaさん、回答ありがとうございます。
    $content = strip_shortcodes( $content );を追記することによって解決致しました。
    助かりました。ありがとうございます。

9件の返信を表示中 - 16 - 24件目 (全24件中)