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 bisa lebih sederhana dan sayangnya hal ini juga membuat Anda tidak dapat melihat kelas tag yang unik wp-image-xxx
(di mana xxx adalah attachment) <img>
, tetapi ini adalah tag teraman yang bisa saya buat untuk hanya menghapus tautan di sekitar gambar lampiran dan meninggalkan tautan dalam teks serta tautan di sekitar gambar non-lampiran yang utuh.
Jika Anda tidak peduli tentang gambar non-lampiran dan ingin semua gambar dalam konten posting tidak dibungkus dengan tautan, ini sudah cukup:
function attachment_image_link_remove_filter( $content ) {
$content =
preg_replace(array('{<a[^>]*><img}','{/></a>}'), array('<img','/>'), $content);
return $content;
}
Saya dapat melihatnya memecahkan banyak hal, jika bagian dalam jangkar berakhir dengan beberapa elemen penutup diri lainnya, seperti <br />
tag. Itu akan jarang, tentu saja, tetapi saya akan merekomendasikan menggunakan versi pertama, meskipun lebih lama.