从wp_GET_ATTACHING中删除高度属性

时间:2012-11-01 作者:Ricardo

我找到了一个很好的解决方案:Stop wordpress from hardcoding img width and height attributes

但我想知道我是否只能在一个特定的情况下做,而不能在所有的网站上做,因为这会弄乱其他东西。情况就是这样:

<?php echo wp_get_attachment_image($attachment->ID, \'six\', false, $default_attr); ?>
在整个站点中只删除高度而不删除宽度也会起作用。

3 个回复
SO网友:S..

这对我有用。

function remove_width_and_height_attribute( $html ) {
   return preg_replace( \'/(height|width)="\\d*"\\s/\', "", $html );
}
然后改变

wp_get_attachment_image_src( $attachment_id, \'full\' );

remove_width_and_height_attribute(wp_get_attachment_image_src( $attachment_id, \'full\' ));

SO网友:bueltge

您还可以获取图像的宽度和高度数据。

$src = wp_get_attachment_image_src( $attachment_id, \'full\' );
var_dump($src);
thevar_dump 输出如下:

array
  0 => string \'http://example.com/wp-content/uploads/2009/08/DSC00261.JPG\' (length=63)
  1 => int 1632
  2 => int 1224
  3 => boolean false
结果意味着:

$src[0] => url
$src[1] => width
$src[2] => height
$src[3] => icon

SO网友:larsmqller

One 具体情况,而不是所有现场。

Fx. 如果要从WordPress的HTML输出函数中删除width=“400”,可以执行以下操作:

Somewhere in a file:

ob_start(); // Start buf
wp_get_attachment_image($imageID, \'full\', false); //\'full\' = size
$htmlString = ob_get_clean(); // output to variable
echo preg_replace(\'/width="\\d*"/\',\'\',$variable); // Remove width attribute and whatever digit inside.
也许不是最优雅的解决方案,但它完成了任务。

结束

相关推荐

images within style sheet

我希望有人能在这方面帮助我,因为这已经开始让我抓狂了。我已经搜索了好几个小时,想找到一种在我的样式表中放置图像路径的方法,但一直没有找到。路径不能是绝对路径或“主题相关”路径。解决问题的唯一方法是在html文件中添加以下内容:<style type=\"text/css\"> #menu .menu-drop .menu-label { background: url(<?php echo get_template_directory_uri().