将所有发布的图像包装在div元素中

时间:2011-12-09 作者:Breezer

我搜索了所有类型的解决方案,但我真的能找到一个能满足我所需的解决方案,我只想把所有图像包装在一个div元素中,包括旧帖子和新帖子。非常感谢您的帮助

p、 我做了一点jquery代码片段,但我真的想要另一个解决方案

jquery代码

<script>
$(function(){
    $(\'a:has(img.postthumbimage)\').wrap(\'<div class="myphoto" />\');
});
</script>

1 个回复
最合适的回答,由SO网友:supertrue 整理而成

尝试使用PHP的正则表达式查找/替换函数-preg_replace()—在上的过滤器中the_content

function breezer_addDivToImage( $content ) {

   // A regular expression of what to look for.
   $pattern = \'/(<img([^>]*)>)/i\';
   // What to replace it with. $1 refers to the content in the first \'capture group\', in parentheses above
   $replacement = \'<div class="myphoto">$1</div>\';

   // run preg_replace() on the $content
   $content = preg_replace( $pattern, $replacement, $content );

   // return the processed content
   return $content;
}

add_filter( \'the_content\', \'breezer_addDivToImage\' );
请注意,这只会影响帖子内容内的图像。

如果要包装出现在帖子正文之外的图像(例如特色图像或自定义字段中的图像),最有效的方法可能是找到它们出现的位置,并将div包装添加到主题文件中。

结束

相关推荐

Images don't show up

我刚刚安装了一个新的多站点安装。一切都像我一样工作,只是图像没有显示在任何子网站上。Any idea why the images don\'t show up?我正在共享Windows服务器(由Arvixe.com托管)中的IIS6上运行Wordpress 3.1.1。辅助站点位于子目录而不是子域中。主站点的图像与标题图像一样有效,但子站点中的图像不会显示。我知道这些图片在博客中出现时,正在正确上传。服务器上的dir文件夹。如果我这样导航它们,它们也会出现:http://www.example.com/