この正規表現の何が問題なのか考えてみてください - 何も見つからないようです:
function ad_content($content) {
if (is_single()) {
$find = '#<div id=\"attachment_(\d+)\" class=\"wp-caption aligncenter\" style=\"width: (\d+)px\">(.*?)</div>#s';
$replace1 = '11111';
$content = preg_replace($find,$replace,$content,1);
}
return $content;
}
add_filter ('the_content','ad_content');
私は次のような基本的なもので試しました
$find = '#attachment#';
そしてそれはうまくいきます。
上記の正規表現を使用すると、何も置き換えられず、エラーも発生しません。したがって、何も見つからないだけだと思います。これが見つけるべきものは次のとおりです。
<div id="attachment_167" class="wp-caption aligncenter" style="width: 600px"><a href="http://www.url.com"><img class="size-full wp-image-167" alt="text" src="http://www.url.com" width="600" height="776" /></a><p class="wp-caption-text">text – text</p></div>
この正規表現バリデーターで試してみましたが、一致します。
答え:
私は最終的にそれを理解したと思います - the_content フックは、私の div には適用されないようです。そのような単純な。