Change Default Image HTML

时间:2012-05-29 作者:theliberalsurfer

我正在制作Wordpress主题,希望更改默认图像html。例如,如果您使用Wordpress uploader上载图像,它会为您的图像生成以下html

<a href="image_url_goes_here">
    <img class="aligncenter size-full wp-image-100" src="your_src"/>
</a>
我想把它改成这样

<div class="image-container">
    <img class="aligncenter size-full wp-image-100" src="your_src"/>
</div>

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

这将执行以下操作:

<?php
/*
 * This filter only works with images, for all kind of media check: media_send_to_editor
 * The priority is set to 20 and it takes 8 arguments
 */
add_filter(\'image_send_to_editor\', \'wpse_53577_img_wrapper\', 20, 8);

// We are only working with the $html argument, but you can play with all of them 
function wpse_53577_img_wrapper($html, $id, $caption, $title, $align, $url, $size, $alt) 
{
    // If Link URL is set to "File URL" or "Attachment Post URL", the anchor tag gets replaced with the div tag
    $new_html = preg_replace("/\\<a(.*)\\>(.*)\\<\\/a\\>/iU", "<div class=\\"image-container\\">$2</div>", $html);

    // If no replacement was done (Link URL == None), wrap the image tag with the div tag
    $html = ($new_html == $html) ? \'<div class="image-container">\'. $html . \'</div>\' : $new_html; 

    return $html;
}
Reference snapshot:
snapshot

锚标记的替换是用正则表达式(RegEx)完成的,我不熟悉正则表达式。。。发现它在做this search.

结束

相关推荐

自定义菜单描述剥离HTML标记

花了两天时间研究这个。我需要能够添加HTML到自定义菜单描述。我能找到的所有东西(包括在这个网站上)都是从2011年2月开始的,并且提到使用了strip\\u标签过滤器。然而,这不再有效。我正在开发WP 3.4 Beta 4。我创建了一个自定义walker类,并找到了一个过滤器来删除HTML标记,并将以下内容放入函数中。php:// Custom Walker Class to extend Default Nav Menu class Description_Walker extends Wal