채택완료

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

http://sir.kr/qa/119754

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

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

조건문을 사용해서?

Copy
<?phpglobal $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 } ?>
  

어제 구글링 좀 해보니, 

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

요런게 나와서요..,

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

뭘 잘못쓴질 모르겠네요.

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

|

답변 3개 / 댓글 9개

채택된 답변
+20 포인트

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

Copy
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
}

아래 처럼 바꾸시면 되요~

Copy
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}

답변에 대한 댓글 6개

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

소스보기 눌러서

하단 부분에

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

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

일단은 아무 실행되는 플러그인의 파일에다가 위의 소스를 넣어 보고,
돌아가는지 확인해 보세요.
수고스럽게 해드려서 죄송합니다. ㅠ
안움직이네요 ㅠ
전 잘 되는데요... ㅠ_ㅠ
감사합니다...
뭔가 다른 방법으로 해결했습니다 ㅠ ㅠ

[code]
<?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.'"' : ''; ?>>
[/code]

요러케 하니까 원하는대로 되네요 ㅠ
good job~
Copy
<?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 : '' ?>


이렇게 추천드려봅니다. 물론 큰 차이는 없지만요

답변에 대한 댓글 2개

어라 코드가 왜 저리 보이지 ;; 여튼 저렇게 쓰는거도 나쁘지 않아보여서 쳐보았습니다.
감사합니다 ^^ㅎ switch 말씀이시군요!

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

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

답변에 대한 댓글 1개

감사합니다. 제가 스크립트는 무지해서요 ..
공부해보겠습니다!

답변을 작성하려면 로그인이 필요합니다.