홈페이지를 제외한 모든 내부 페이지에 본문 클래스를 추가하는 방법

홈페이지를 제외한 모든 페이지의 본문 태그에 클래스를 추가하고 싶습니다. 지금은 있습니다.

<?php body_class("interior"); ?>

하지만 홈페이지를 포함한 모든 페이지에 “인테리어”를 추가합니다.

body 태그에 클래스를 추가하는 가장 좋은 표준 방법은 무엇입니까?

답변

직접 해보기 :

<?php $class = ! is_home() ? "interior" : ""; body_class( $class ); ?> 

또는 이것 :

<?php body_class( ! is_home() ? "interior" : "" ); ?> 

댓글

  • 답변 해 주셔서 감사합니다! 그러나 ' 홈 ' 페이지에도 인테리어를 추가합니다.
  • 이상하게도 여기서 일했습니다.

li>

  • 직접 해보기 : < body <? php body_class (! is_home () & &! is_front_page ()? " 인테리어 " : " "); ? > >
  • 읽기 설정을 정적으로 조정하고 선택된 페이지가 없습니다. & 작동했습니다.
  • 답변

    필터 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; } 

    답글 남기기

    이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다