Recently, I have had this request from a friend of mine, who had trouble with adding images into their post. In the following code, you will find “thickbox no_icon”, which is added for the plugin “auto-thickbox” used in that site. Enjoy!
/* Make all images inside the post links */ function make_all_images_links($content) { // Make a list of images with a link $list_with_links = array(); preg_match_all('#<a ([^>]*)><img ([^>]*)></a>#is', $content, $matches); foreach ($matches[2] as $key=>$value) { if (strstr($value, '/wp-content/uploads/')) { preg_match('#src="([^"]*)"#is', $value, $match); $list_with_links[$match[1]] = $match[1]; } } // Get all the other images preg_match_all('#<img ([^>]*)>#is', $content, $matches); foreach ($matches[0] as $key=>$value) { if (strstr($value, '/wp-content/uploads/')) { preg_match('#src="([^"]*)"#is', $value, $match); $image = $match[1]; if ( !isset($list_with_links[$image]) ) { preg_match('#-([0-9]*)x([0-9]*)#', $image, $parts); if (isset($parts[0])) { $image = str_replace($parts[0], "", $image); } $content = str_replace($value, '<a class="thickbox no_icon" href="'. $image .'">'.$value.'</a>', $content); } } } return $content; } add_filter( 'the_content', 'make_all_images_links', 99999 );