썸네일을 게시 할 수업 이름 추가


21

게시물 섬네일을 사용하여 페이지에 연결하고 있습니다.

게시물 썸네일 이미지에 클래스 이름을 추가 할 수 있습니까?

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

답변:


42

예- the_post_thumbnail()속성 인수의 일부로 사용하려는 클래스를 전달할 수 있습니다 ( 예 :<?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

@SimonCooper 내가 했었고 클래스에는 크기가없는 첨부 파일이 있습니다.
Zhianc

이것은 일반적으로 나쁘고 제네릭이 아닌 솔루션입니다. 첨부 파일-$ size의 하드 코딩이라도 미래의 모든 클래스 주입을 지 웁니다.
퓨전

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라고 부를 수 있습니다-function myClass ($ attr) {
Simon Cooper

이름은 다소 설명 적이며 접미사는이 질문을 참조합니다. 그렇지 않으면 특별한 의미가 없습니다. 플러그인 인스턴스와 같은 클래스 인스턴스 내부에서 array($this,'methodname')다음을 사용하여 필터를 사용하여 정적 클래스를 사용할 수 있습니다.array('ClassName','methodname')
s_ha_dum


1
왜 스스로 제거하는 필터를 추가합니까?
AlxVallejo

2
@AlxVallejo : 특정 상황에서 한 번만 실행되도록하십시오.
s_ha_dum

0

이미지 태그에는이 코드를 작성하는 클래스가 없지만 <?php the_post_thumbnail(); ?>이미지 태그에는이 코드를 작성하는 클래스가 있습니다.

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

)); ?>
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.