Add Snippet To Project
Ever found yourself in a situation where you wanted a cleaner, text-only look for certain posts on your WordPress website? If you’re aiming to de-clutter some of your content by removing all images from the body of a post, you’ve come to the right place. In this article, we’ll guide you through the simple steps to remove all images from the_content in a specific WordPress post. It’s an easy way to make your website’s content more focused and less visually overwhelming.
function wpturbo_remove_images_from_content($content) {
$content = preg_replace('/<img[^>]+./','', $content);
return $content;
}
add_filter('the_content', 'wpturbo_remove_images_from_content');
The code snippet provided defines a new function named wpturbo_remove_images_from_content()
that uses a regular expression to remove all image elements from the post content.
Let’s break down the function:
function wpturbo_remove_images_from_content($content) {
$content = preg_replace('/<img[^>]+./','', $content);
return $content;
}
This function takes a variable $content
as its argument. This argument will be the content of your post when the function is invoked.
Inside the function, the PHP function preg_replace()
is used. This function searches the $content
for a pattern and then replaces the found pattern with something else. In our case, it searches for image html tags and replaces them with an empty string (essentially deleting them).
The pattern we use '/<img[^>]+./'
is a basic regular expression (regex) which is essentially a string of characters that form a search pattern. Let’s break down this pattern:
<img
seeks for the start of an img tag in HTML.[^>]+
this part is looking for one or more characters that are not a>
(end of a tag)..
at the end matches any character.
Put together, this regular expression is looking for anything that starts with <img
and has one or more characters that are not >
, effectively finding and selecting the entire <img>
HTML tag, wherever it may lay in $content
.
We then replace it with ''
, an empty string. This operation has the effect of deleting the image tag from the content.
Finally, the function returns the $content
, but now cleansed of any image tags.
The final part of the snippet add_filter('the_content', 'wpturbo_remove_images_from_content');
applies this function to the content of your WordPress post using the the_content
filter. This is an action hook provided by WordPress that allows developers to modify the content of a post. Whenever WordPress renders post content, it will invoke our function wpturbo_remove_images_from_content()
, thereby removing all image tags from the post content.