将‘style=’位添加到IMAGE_SEND_TO_EDITOR输出

时间:2013-02-04 作者:Doug B.

我最喜欢的是新v3。5 media manager能够使用“从URL插入”将图像插入到外部网站(如photobucket)托管的帖子中。我通常手动设置图片插入的格式,希望“从URL插入”可以减少我的一些工作。

不幸的是,我无法向生成的img src标记添加任何内容。具体来说,我经常使用alignright类,但RSS提要中会忽略这一点,因此如果我在非wordpress支持的站点上重新发布我的博客文章,图像不会浮动。我想在发送给编辑器的代码中添加一个额外的style=“float:XXX”,以涵盖该问题。

如果$align为“right”,则它输出float:right,依此类推。

我是作为一个个人插件来做的,我激活了它,但当我使用“从URL插入”时,它不会输出任何内容

我已经搜索了所有这些帮助网站,但确实没有找到完全符合我需要的内容,我对PHP和wordpress的经验水平有点低(我理解概念,但语法有问题)

我得到的最接近的是前一个问题:Need help building a filter to edit the output of “image_send_to_editor”

这是我到目前为止的功能,任何关于我做错了什么的提示或提示都会对我有所帮助。

add_filter(\'image_send_to_editor\', \'dlb_filter_fl\',10,8);

function dlb_filter_fl ($html, $id, $caption, $title, $align, $url, $size, $alt) {

if ($align == \'right\');
     $html = \'<img src="\' . $url .  \'" class="\' . $align . \'" style="float:right" />\';


return $html;
}
我可能用错了过滤器。我不确定。现在代码处于活动状态,没有出现致命错误,但它不会给我的img scr标签添加任何内容。

1 个回复
SO网友:Max Yudin

我找不到合适的钩子,但有另一种解决方案:添加style="float:right" 到内容中的所有图像class="alignright":

add_filter(\'the_content\', \'my_add_image_float_right\');

function my_add_image_float_right($content) {
    $pattern = \'@(<img.+)(alignright)(.*)(/>)@Ui\';
    $replacement = \'$1$2$3 style="float:right" />\';
    $content = preg_replace($pattern, $replacement, $content);
    return $content;
}

结束

相关推荐

Grant access to admin menu?

我试图授予用户角色“editor”访问用户顶级菜单的权限,然后控制他们访问的子菜单。add\\u操作位于\\u构造方法中。add_action( \'admin_menu\', array( $this, \'action_admin_menu\' ) ); public function action_admin_menu() { $edit_contributor = get_role( \'editor\' ); $edit_cont