홈페이지를 제외한 모든 페이지의 본문 태그에 클래스를 추가하고 싶습니다. 지금은 있습니다.
<?php body_class("interior"); ?>
하지만 홈페이지를 포함한 모든 페이지에 “인테리어”를 추가합니다.
body 태그에 클래스를 추가하는 가장 좋은 표준 방법은 무엇입니까?
답변
직접 해보기 :
<?php $class = ! is_home() ? "interior" : ""; body_class( $class ); ?>
또는 이것 :
<?php body_class( ! is_home() ? "interior" : "" ); ?>
댓글
- 답변 해 주셔서 감사합니다! 그러나 ' 홈 ' 페이지에도 인테리어를 추가합니다.
- 이상하게도 여기서 일했습니다.
li>
답변
필터 body_class
를 사용할 수 있습니다.
add_filter( "body_class", "body_class_wpse_85793", 10, 2 ); function body_class_wpse_85793( $classes, $class ) { // This one overrides all original classes if( is_home() ) $classes = array( "interior" ); // This one simply adds a new class //if( is_home() ) // $classes[] = "interior"; return $classes; }
댓글
- 매우 좋습니다. 파일을 추가로 수정할 필요가없는 경우 ' header.php를 하위 템플릿 디렉토리에 복사하지 않는 또 다른 이유가 있습니다.
Answer
WordPress의 body 태그에 클래스를 추가하려면 body_class
필터를 사용하세요.
p>
functions.php 파일에 아래 코드를 추가합니다.
모든 페이지의 body 태그에 클래스를 추가합니다.
add_filter("body_class", "wp_body_class"); function wp_body_class($class) { $class[] = "my-custom-class"; // Add your class name here. Multiple class names can be added "classname1 classname2". return $class; }
홈페이지 제외
if (!is_front_page() ) { // exclude home or any other page. add_filter("body_class", "wp_body_class"); } function wp_body_class($class) { $class[] = "my-custom-class"; // Add your class name here. Multiple class names can be added "classname1 classname2". return $class; }