抜粋の出力

PHPワードプレステンプレートタグ条件分岐要約

いろいろな書き方があり、テーマ内でも取っ散らかっていたので整理。

<?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" , "&nbsp;" ), '', $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が空白に変換されていたらそれも削除

関数にしたり、別ファイルにするほどは多用しないので、アーカイブのテンプレートに直書き。