어제자 질문의 연장선인데,
이렇게 혹시 표현할 수 있나 싶어서요...
조건문을 사용해서?
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개
nanati
2016-04-22 (금) 12:22:22
thisgun
2016-04-22 (금) 12:30:28
39 는 순서를 뜻합니다.
소스보기 눌러서
하단 부분에
jQuery(document).ready(function($) {
var add_body_class = "";
$('body').addClass(add_body_class);
});
안적혀 있으면 위의 소스가 실행이 안된거에요.
일단은 아무 실행되는 플러그인의 파일에다가 위의 소스를 넣어 보고,
돌아가는지 확인해 보세요.
소스보기 눌러서
하단 부분에
jQuery(document).ready(function($) {
var add_body_class = "";
$('body').addClass(add_body_class);
});
안적혀 있으면 위의 소스가 실행이 안된거에요.
일단은 아무 실행되는 플러그인의 파일에다가 위의 소스를 넣어 보고,
돌아가는지 확인해 보세요.
nanati
2016-04-22 (금) 14:22:25
감사합니다...
뭔가 다른 방법으로 해결했습니다 ㅠ ㅠ
[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]
요러케 하니까 원하는대로 되네요 ㅠ
뭔가 다른 방법으로 해결했습니다 ㅠ ㅠ
[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]
요러케 하니까 원하는대로 되네요 ㅠ
port443
2016-04-22 (금) 14:50:09
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개
port443
2016-04-22 (금) 15:01:48
어라 코드가 왜 저리 보이지 ;; 여튼 저렇게 쓰는거도 나쁘지 않아보여서 쳐보았습니다.
port443
2016-04-22 (금) 11:25:20
참과 거짓이 아닌 다수의 결과가 나올 수 있는 부분이라면
if else 보다는 switch 를 사용하시는걸 권장합니다.
답변에 대한 댓글 1개
답변을 작성하려면 로그인이 필요합니다.
수정해주신 코드를 보면,
워드프레스 footer에다가 body에 클래스를 추가한다는 코드를 넣은 것이고,
블로그 아이디를 구해서... 각각에 맞는 클래스를 넣어준다. 라는 것 같은데,
맨 윗줄에 39는 뭔가요-ㅅ -??
모르는 것이 잔뜩이라 죄송합니다 ㅠ ㅠ
수정해주신 코드를 function에 그대로 넣었는데 안움직이네요..
뭐가 잘못된 건지...