将班级名称添加到发布缩略图


21

我正在使用帖子缩略图链接到页面。

是否可以在帖子缩略图上添加班级名称。

<li><a href="<?php the_permalink(); ?>" ><?php the_post_thumbnail(); ?></a></li>

Answers:


42

是的-例如,您可以将要使用的类the_post_thumbnail()作为attributes参数的一部分传递<?php the_post_thumbnail('thumbnail', array('class' => 'your-class-name')); ?>

参考:http : //codex.wordpress.org/Function_Reference/the_post_thumbnail#Styling_Post_Thumbnails


5
但这将删除该类attachment-$size
fuxia

但是您可以添加类“ attachment- $ size my-class-name”吗
Simon Cooper 2013年

我做了@SimonCooper,现在该类具有附件-没有大小。
Zhianc 2015年

这通常是不好的且非通用的解决方案。即使是硬编码附件-$ size,也将删除所有可能的将来的类注入。
Fusion

7

您可以过滤这些类。

function alter_attr_wpse_102158($attr) {
  remove_filter('wp_get_attachment_image_attributes','alter_attr_wpse_102158');
  $attr['class'] .= ' new-class';
  return $attr;
}
add_filter('wp_get_attachment_image_attributes','alter_attr_wpse_102158'); 

在致电之前添加过滤器the_post_thumbnail。过滤器将自动删除自己。

到达那里有点艰苦,但是the_post_thumbnail使用get_the_post_thumbnail哪个使用wp_get_attachment_image哪个过滤器。


函数名称“ alter_attr_wpse_102158”是否具有特定含义,可以将此函数称为myClass-函数myClass($ attr){
Simon Cooper

名称有点描述性,后缀引用了这个问题。否则,没有特殊含义。在类实例(例如插件类)内部array($this,'methodname'),您可以使用array('ClassName','methodname')
s_ha_dum 2013年


1
为什么要添加一个会自行删除的过滤器?
AlxVallejo

2
@AlxVallejo:这样,它仅在您希望其运行的特定情况下运行一次。
s_ha_dum 2013年

0

您的图片标签没有类,您只需编写此代码, <?php the_post_thumbnail(); ?>但您的图片标签具有类,您只需编写此代码

<?php the_post_thumbnail('thumbnail', array(
'class' => 'class_name'

)); ?>
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.