WordPressで最初の見出しまでの導入文をdescriptionとして自動で取得したかったので、その方法をメモ。

descriptionを書き出しているheader.php等に

<?php 
	$content = get_the_content($pid);
	$end = strpos($content, "<h2");
	$endcont = substr($content, 0, $end);
	$desctxt = strip_tags( strip_shortcodes( $endcont ) );
	
?>	
<meta name="description" content="<?php echo str_replace("\r\n", '', $desctxt); ?>">

でOK

$end = strpos($content, "<h2");

の箇所は、見出しをh3にしているならh3に変更

$end = strpos($content, "<h2");
$endcont = substr($content, 0, $end);

↑この部分で最初の $desctxt = strip_tags( strip_shortcodes( $endcont ) );

↑こちらで本文中のタグとショートコードを削除

最後に

<?php echo str_replace("\r\n", '', $desctxt); ?>

こちらで空白と改行を削除して出力しています。