Wordpress에서 body_class()의 클래스를 확인하는 방법
Wordpress header.php에는
<body <?php body_class($class); ?>>
특정 클래스가 존재하는지 확인하고 그 결과 마크업을 로드하려면 어떻게 해야 합니까?전남편에게.
<body class"home logged-in">
<?php if $class == 'home' ?>
<div class="home"></div>
<? else : ?>
<div class="internal-page"></div>
<? endif; ?>
감사합니다!
만약 정말로, 정말로, 다른 마크업을 사용할 필요가 있다면,body_class
클래스, 그 후 사용
$classes = get_body_class();
if (in_array('home',$classes)) {
// your markup
} else {
// some other markup
}
그러나 @Rob이 제안하는 조건부 태그와 같은 더 나은 방법이 있을 수 있습니다.그 지도들은 그들이 사용하는 수업과 매우 밀접하게 관련되어 있다.body_class
.
액세스 할 수 있습니다.body_class
필터가 달린add_filter('body_class', function ...)
하지만 잘못된 접근을 하고 계신 것 같습니다.필요한 용도로 css를 사용하면 어떨까요?예를들면,.home>div { /* home styles */ }
또는 다른 스타일시트를 로드할 수 있습니다.
add_filter('body_class', function($classes) {
if (in_array('home', $classes)) {
wp_enqueue_style('home');
}
return $classes;
});
다른 템플릿을 사용하여 페이지를 만들었을 때와 같은 문제가 있었습니다만, 커스텀 서브메뉴는 각 페이지에서 동일해야 합니다.
이거 먼저 해봤는데 실패했어
<body <?php body_class( 'extra-class' ); ?>>
추가 클래스가 본문 태그에 추가되었지만 오류 로그를 실행하면 클래스 배열에 없습니다.그래서 나중에 바디태그에 추가될 줄 알았어요.
이 솔루션은 나에게 효과가 있었다.
functions.php
$GLOBALS['extraBodyClass'] = '';
템플릿 파일
<?php $GLOBALS['extraBodyClass'] = 'extra-class' ?>
- 템플릿 파일의 첫 번째 줄
<body <?php body_class( $GLOBALS['extraBodyClass'] ); ?>>
- 템플릿 이름 선언 후
에서header.php
파일
$classes = get_body_class();
if($GLOBALS['extraBodyClass']){
$classes[] = $GLOBALS['extraBodyClass'];
}
언급URL : https://stackoverflow.com/questions/15033888/how-to-check-for-class-in-body-class-in-wordpress
'programing' 카테고리의 다른 글
AngularJS 10진수 입력: 쉼표를 점으로 변경 (0) | 2023.03.26 |
---|---|
React Native에서 텍스트 테두리를 만드는 방법 (0) | 2023.03.26 |
교차 도메인 에이잭스 요청 허용 (0) | 2023.03.26 |
iOS의 파일에서 JSON을 해석하려면 어떻게 해야 합니까? (0) | 2023.03.26 |
PhoneGap에서 각도 ng뷰/루팅이 작동하지 않음 (0) | 2023.03.26 |