content(本文)表示とexcerpt(抜粋)表示を切り替えて表示したいです。
-
連投してしましたした(;´д`)ゞすみません。。。
blog一覧表示にて下記の様に本文を取得して表示させています。
<?php if(is_home() )
if(mb_strlen($post->post_content, ‘UTF-8’)>200){
$content= mb_substr(strip_tags($post->post_content, ‘<p><span>’), 0, 200, ‘UTF-8’);
$content = strip_shortcodes( $content );
echo $content.”;
}else{
echo strip_tags(the_content(), ‘<p><span>’);
} ?>上記は$content= mb_substr(strip_tags($post->post_content, ‘<p><span>’), 0, 200, ‘UTF-8’);にて<p><span>のタグを残してblog一覧表示の本文で改行表示出来る様にしております。
次に$content = strip_shortcodes( $content );にてショートコードがblog一覧で表示
されない様にしております。
ここまでは狙った通りの表示が出来たのですが投稿画面にて本文のみの表示の場合は良いのですが抜粋入力欄に入力した際はこのコードだけではblog一覧に表示されません。
そこで<?php the_excerpt(); ?>のタグを利用して本文のみの場合はcontentを取得し抜粋入力欄がある場合は優先的にexcerptを取得する様にしたいのですが<?php
if(is_home()) {
the_excerpt(); //抜粋を表示する
} else {
the_content(); //全文を表示する
}
?>上記を参考に
<?php if(is_home()) {
the_excerpt();
} else {
if(mb_strlen($post->post_content, ‘UTF-8’)>200){
$content= mb_substr(strip_tags($post->post_content, ‘<p><span>’), 0, 200, ‘UTF-8’);
$content = strip_shortcodes( $content );
echo $content.”;
}else{
echo strip_tags(the_content(), ‘<p><span>’);
}
} ?>
という風に書き込んでもecho strip_tags(the_content(), ‘<p><span>’);や$content = strip_shortcodes( $content );のタグが有効にならず
<?php the_excerpt(); ?>のみを書き込んだのと同じ表示になってしまいます。『抜粋がある場合は抜粋を出力し、ない場合は改行が有効でショートコードが非表示の本文を取得する』という様にしたいのですがどの様にコードを書けば宜しいでしょうか?
わかる方がいましたら是非ご教授下さい。
宜しくお願い致します。
- トピック「content(本文)表示とexcerpt(抜粋)表示を切り替えて表示したいです。」には新たに返信することはできません。