удалять ссылки с изображений с помощью functions.php

Я ищу способ удалить ссылку вложения из изображений в сообщении.

Я хотел бы добавить это в функцию functions.php в моей теме. Я знаю, что вы можете отключить это в сообщении на основе изображения, но я хотел бы сделать это только один раз на моей странице functions.php. Есть идеи?

Благодарю, Барт

Solutions Collecting From Web of "удалять ссылки с изображений с помощью functions.php"

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; } 

Регулярное выражение может быть проще и, к сожалению, это также лишает вас уникального класса wp-image-xxx (где xxx является идентификатором вложения) <img> , но это самый безопасный из них, который я мог бы придумать, чтобы удалить ссылки только изображения вложений и оставлять текстовые ссылки, а также ссылки на образы непривязанности.

Если вы не заботитесь о изображениях без привязанности и хотите, чтобы все изображения в содержимом сообщения не были обернуты ссылками, это должно быть достаточно:

 function attachment_image_link_remove_filter( $content ) { $content = preg_replace(array('{<a[^>]*><img}','{/></a>}'), array('<img','/>'), $content); return $content; } 

Я вижу, что это ломает ситуацию, если внутри анкера заканчивается какой-то другой самозакрывающийся элемент, например тег <br /> . Очевидно, это было бы редко, но я бы рекомендовал использовать первую, хотя и более длинную версию.