add_filter( \'the_content\', \'attachment_image_link_remove_filter\' );
function attachment_image_link_remove_filter( $content ) {
$content =
preg_replace(
array(\'{<a(.*?)(wp-att|wp-content\\/uploads)[^>]*><img}\',
\'{ wp-image-[0-9]*" /></a>}\'),
array(\'<img\',\'" />\'),
$content
);
return $content;
}
regex可能更简单,不幸的是,这也剥夺了您独特的
wp-image-xxx
(其中xxx是附件ID)的类
<img>
标签,但这是我能想到的最安全的
only 删除附件图像周围的链接,保留文本链接以及非附件图像周围的链接不变。
如果您不关心非附件图像,并且希望帖子内容中的所有图像都不被包装在链接中,那么这就足够了:
function attachment_image_link_remove_filter( $content ) {
$content =
preg_replace(array(\'{<a[^>]*><img}\',\'{/></a>}\'), array(\'<img\',\'/>\'), $content);
return $content;
}
但我可以看到,如果锚的内部终止于其他一些自动关闭的元素,例如
<br />
标签这显然很少见,但我建议使用第一个版本,尽管版本更长。