いろいろな書き方があり、テーマ内でも取っ散らかっていたので整理。
<?php
if( $post->post_excerpt || $post->post_content ){
if( $post->post_excerpt ){
$str = get_post()->post_excerpt;
}elseif( $post->post_content ){
$str = get_post()->post_content;
}
$str = strip_shortcodes( $str );
$str = strip_tags( $str );
$str = str_replace( array( "\r\n" , "\r" , "\n" , " " ), '', $str );
$count = 60;
$more = '<a href="'. get_permalink() .'" class="more continue">…続きを読む</a>';
echo '<p class="excerpt">' . wp_html_excerpt( $str, $count, $more ) . '</p>';
}
?>
- 要約があるか無いか分岐
- 「strip_shortcodes」でショートコードを削除
- 「strip_tags」でpやimgを削除
- 改行、pが空白に変換されていたらそれも削除
関数にしたり、別ファイルにするほどは多用しないので、アーカイブのテンプレートに直書き。