从图像小工具中删除图像高度/宽度属性

时间:2014-06-13 作者:Eystein

这个Image Widget 包括widthheight 在我尝试过滤掉的图像上,我没有成功,所以我可以得到流体宽度。

我尝试了以下方法,这似乎是解决类似问题最常见的方法functions.php, 但没有成功:

function responsive_image_widget( $attr = array() ) {
    unset($attr[\'width\']);
    unset($attr[\'height\']);
    return $attr;
}
add_filter( \'image_widget_image_attributes\', \'responsive_image_widget\' );
以及

function responsive_image_widget($html) {
  $html = preg_replace(\'/(width|height)=["\\\']\\d*["\\\']\\s?/\', "", $html);
    return $html;
}
add_filter(\'image_widget_image_attributes\',\'responsive_image_widget\', 10);
下面是图像小部件的链接filter documentation.

非常感谢您的帮助!

2 个回复
SO网友:Nilambar Sharma

无法将其从属性过滤器中删除。渲染图像时,插件的操作如下。

$output .= rtrim("<img $hwstring");
foreach ( $attr as $name => $value ) {
  $output .= sprintf( \' %s="%s"\', $name, $value );
}
$output .= \' />\';
它预先附加宽度和高度字符串,并且只应用属性。可悲的是,属性过滤器中并没有保留宽度和高度。

**我不确定这是否应该作为答案发布。我在这里发帖是因为我不能对你的问题发表评论**

SO网友:leromt

您是否尝试过直接针对宽度和高度过滤器?

(来自插件代码)

   $instance[\'width\'] = apply_filters( \'image_widget_image_width\', abs( $instance[\'width\'] ), $args, $instance );
    $instance[\'height\'] = apply_filters( \'image_widget_image_height\', abs( $instance[\'height\'] ), $args, $instance );
以您的代码为例:

function responsive_image_widget( $currentWidth ) {

   $currentWidth = \'\';
   return $currentWidth;
}

add_filter(\'image_widget_image_width\', \'responsive_image_widget\' );     

结束

相关推荐

"Widgets" menu doesn't appear

我正在开发一个WordPress主题,它在我的本地主机和一个live server上运行得很好,但在我的另一个live server上,小部件菜单(从外观)不会出现。是的,所有3台服务器都有相同的3.6.1 WordPress版本,主题文件也相同。知道这是什么原因吗?这是functions.php 注册小部件区域:if (function_exists(\'register_sidebar\')) { register_sidebar(array( \'name\' => \