prosource

Wordpress 본문 태그에 사용자 지정 클래스 이름을 추가하시겠습니까?

probook 2023. 2. 12. 18:01
반응형

Wordpress 본문 태그에 사용자 지정 클래스 이름을 추가하시겠습니까?

테마 기능에 지시문을 붙이고 싶습니다.php 파일은 워드프레스 본문 태그에 클래스 이름을 추가합니다.내장 API 메서드가 있나요?

예를 들어, 제 바디 태그 코드는...

<body <?php if(function_exists("body_class") && !is_404()){body_class();} else echo 'class="page default"'?>>

또한 다음과 같은 내용이 본문 태그에 기록됩니다(페이지, 투고, 로그인 등 페이지가 표시되는 컨텍스트에 따라 다름).

<body class="home blog logged-in"> 

그때 쓰는 아이 테마에 따라서는...

<body class="home blog logged-in mychildthemename"> 

를 사용할 수 있습니다.body_class필터, 다음과 같이 합니다.

function my_plugin_body_class($classes) {
    $classes[] = 'foo';
    return $classes;
}

add_filter('body_class', 'my_plugin_body_class');

물론 테마는 해당 함수를 호출해야 합니다.

WP body_class 함수 내에서 직접 사용할 수도 있습니다.이 함수는 body 클래스 내부에 문자열을 추가합니다.

예:

$class="custom-class";
<body <?php body_class($class); ?>>

http://codex.wordpress.org/Function_Reference/body_class

필터에 클래스를 추가하려면 배열에 다른 값을 추가하는 다른 행을 추가합니다.

add_filter( 'body_class','my_body_classes' );
function my_body_classes( $classes ) {
 
    $classes[] = 'class-name';
    $classes[] = 'class-name-two';
     
    return $classes;
     
}

관리 영역에 있는 동안 바디 태그에 클래스를 추가하려는 경우,admin_body_class대신 후크를 끼웁니다.이 필터는 배열이 아닌 클래스 문자열을 전달하기 때문에 약간 다르게 동작하는 필터이므로 코드는 다음과 같습니다.

add_filter('admin_body_class', 'my_admin_body_class');
function my_admin_body_class($classes) {
    return $classes . ' my_class';
}

이거 드셔보세요.

    add_filter( 'body_class', 'custom_class' );
function custom_class( $classes ) {
    if ( !is_front_page() ) {
        $classes[] = 'example';
    }
    return $classes;
}

페이지 템플릿에 따라 클래스를 추가하는 경우 WP는 템플릿별 클래스를 본문 태그에 자동으로 추가합니다.

테마의 헤더를 편집하기만 하면 됩니다.php 및 거기서 클래스를 변경합니다(일부 로직 규칙에 따라 변경).

언급URL : https://stackoverflow.com/questions/2466073/add-a-custom-class-name-to-wordpress-body-tag

반응형