Ktai style で見出しに画像を使っている際に alt 属性の中身だけを抜き出し img タグを消してコンテンツを出力するコード

必要に迫られ物凄い勢いで書きました。
Ktay style の中で WordPress のタグを使います。

かなり力不足なコードですが、Ktai style を使いたい場合、最悪これで道は開けそうです。何かもっと良いコード教えてください。

1
2
3
4
5
6
7
function noimg($html) {
	$html = preg_replace('/(<img\s[^>]*?alt\s*=["\']?)/i', '', $html);
	return preg_replace('/(["\']\s\/>?)/i', '', $html);
}
$ks_body = get_the_content();
$ks_body = noimg($ks_body);
echo apply_filters('the_content', $ks_body);

コメント

  1. ゆりこ@プラグイン作者さんのコメント

    これだとすべての img 要素が変換されてしまうので、画像をいっぱい使った投稿だとはまりそうです。見出し画像には特別な class を割り当てて、それを検出して alt 要素の文字列に置換する方がいいでしょう。具体的には image_to_link フィルターを使って、そこで class 要素の中身を確認して、その特別なクラス名 (例えば headline) があれば置き換えるという手です。

  2. webleさんのコメント

    いつもブログなど拝見させていただいております。
    確かに全ての画像がなくなってしまうので、どうしたものかと考えていたんですが、その手がありましたね!貴重なご意見ありがとうございます。
    また今後必要になってくると思いますので、その方法でコードを書き直したら、追記していきたいと思います。