워드프레스 관련 질문입니다.

워드프레스 관련 질문입니다.

QA

워드프레스 관련 질문입니다.

본문

http://sir.kr/qa/119754

 

어제자 질문의 연장선인데,

이렇게 혹시 표현할 수 있나 싶어서요...

조건문을 사용해서?

 

 
<?php
global $current_blog;
$blog_id = $current_blog->blog_id;
if ($blog_id == 5){ ?>
	$( 'body' ).addClass( 'bg01' );
<?php } else if ($blog_id == 5){ ?>
	$( 'body' ).addClass( 'bg02' );
<?php } else { ?>
	$( 'body' ).addClass( 'bg03' );
<?php } ?>
  

 

어제 구글링 좀 해보니, 

 
<?php
	global $blog_id;
	
	if($blog_id == 1){
		//블로그ID가「1」일때 처리
	}else{
		//블로그ID가「1」 이외일 때 처리
	}
?>
 

요런게 나와서요..,

그런데 제가 쓴게 제대로 안움직이는데,

뭘 잘못쓴질 모르겠네요.

혹시 아는 분 계시면 알려주세요(__) 감사합니다! 

이 질문에 댓글 쓰기 :

답변 3

제가 알려준 코드가 동작한다면...

 


add_action('wp_footer', 'custom_add_footer_script' , 39 );

function custom_add_footer_script(){

    $blog_id = get_current_blog_id();   //블로그의 아이디를 구한다.
    ?>
    <script type="text/javascript">
    <!--
    jQuery(document).ready(function($) {
        var add_body_class = "bg<?php echo $blog_id; ?>";
        $('body').addClass(add_body_class);
    });
    //-->
    </script>
<?php
}

 

아래 처럼 바꾸시면 되요~

 


 
add_action('wp_footer', 'custom_add_footer_script' , 39 );
 
function custom_add_footer_script(){
 
    $blog_id = get_current_blog_id();   //블로그의 아이디를 구한다.
 
    if($blog_id == 5){
        $class_name = 'bg01';
    } else if ($blog_id == 4){
        $class_name = 'bg02';
    } else {
        $class_name = 'bg03';
    }
    ?>
    <script type="text/javascript">
    <!--
    jQuery(document).ready(function($) {
        var add_body_class = "<?php echo $class_name; ?>";
        $('body').addClass(add_body_class);
    });
    //-->
    </script>
<?php
}

알려주신대로라면 body에다는 특별히 뭔가 코드를 쓸 필요가 없는거죠?
수정해주신 코드를 보면,
워드프레스 footer에다가 body에 클래스를 추가한다는 코드를 넣은 것이고,
블로그 아이디를 구해서... 각각에 맞는 클래스를 넣어준다. 라는 것 같은데,
맨 윗줄에 39는 뭔가요-ㅅ -??
모르는 것이 잔뜩이라 죄송합니다 ㅠ ㅠ
수정해주신 코드를 function에 그대로 넣었는데 안움직이네요..
뭐가 잘못된 건지...

39 는 순서를 뜻합니다.

소스보기 눌러서

하단 부분에

jQuery(document).ready(function($) {
var add_body_class = "";
$('body').addClass(add_body_class);
});

안적혀 있으면 위의 소스가 실행이 안된거에요.

일단은 아무 실행되는 플러그인의 파일에다가 위의 소스를 넣어 보고,
돌아가는지 확인해 보세요.

감사합니다...
뭔가 다른 방법으로 해결했습니다 ㅠ ㅠ


<?php
$blog_id = get_current_blog_id(); 
if ( $blog_id == 4 ) {
	$my_body_class = 'bg1';
} else if ( $blog_id == 5 ) {
	$my_body_class = 'bg2';
} else if ( $blog_id == 3 ) {
	$my_body_class = 'bg3';
}
?>
<body<?php echo ( $my_body_class ) ? ' class="'.$my_body_class.'"' : ''; ?>>


요러케 하니까 원하는대로 되네요 ㅠ

참과 거짓이 아닌 다수의 결과가 나올 수 있는 부분이라면

if else 보다는 switch 를 사용하시는걸 권장합니다.


<?php
$blog_id = get_current_blog_id(); 
switch($blog_id) {    case '4' :        $my_body_class = 'bg1';    break;    case '5' :        $my_body_class = 'bg2';    break;    case '3' :        $my_body_class = 'bg3';    break;}?><body class="<?php echo $my_body_class ? $my_body_class : '' ?>


답변을 작성하시기 전에 로그인 해주세요.
전체 193
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT