테스트 사이트 - 개발 중인 베타 버전입니다

워드프레스 잘 아시는 분 계시면... ㅠㅠ 채택완료

nanati 9년 전 조회 4,022

멀티사이트용 테마를 제작중에 있습니다.

여러 블로그를 추가해서, 각각 다른 사용자를 등록할 거예요!

 

테마 제작중에 각각의 블로그에 클라이언트 스스로 헤더 이미지를 변경할 수 있도록

custom-header를 추가했는데,

이미지는 클라이언트에게 변경하도록 가능하게 되었습니다만,

각각의 블로그마다 헤더이미지의 뒷배경을 다른 색으로 하려고 하거든요.

 

그러려면 각각의 멀티사이트 블로그아이디를 이용해서 

블로그 아이디(1)에는 body에 class="bg1"

블로그 아이디(2)에는 body에 class="bg2"

블로그 아이디(3)에는 body에 class="bg3"

이런 식으로 클래스를 추가하려고 해요.

 

그러려면 if문으로  

 </span></p><p><span style="font-family: 나눔고딕, NanumGothic;"><script></span></p><p><span style="font-family: 나눔고딕, NanumGothic;">if ( blog_id1 ) {</span></p><p><span style="font-family: 나눔고딕, NanumGothic;">  $( 'body' ).addClass( 'bg1' );</span></p><p><span style="font-family: 나눔고딕, NanumGothic;">} else if ( blog_id2 ) {</span></p><p><span style="font-family: 나눔고딕, NanumGothic;">  $( 'body' ).addClass( 'bg2' );</span></p><p><span style="font-family: 나눔고딕, NanumGothic;">} else if ( blog_id3 )  {</span></p><p><span style="font-family: 나눔고딕, NanumGothic;">  $( 'body' ).addClass( 'bg3' );</span></p><p><span style="font-family: 나눔고딕, NanumGothic;">}</span></p><p><span style="font-family: 나눔고딕, NanumGothic;"></script></span></p><p><span style="font-family: 나눔고딕, NanumGothic;">
  

이런식으로 표현하면 될 것 같은데 ...;;;

질문이 이상한데 하하하...

정확히 혹시 알고 계신 분 계신가 해서... 질문 드립니다 ㅠ

 

 

 

 

 

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

답변 2개

채택된 답변
+20 포인트
thisgun
9년 전

블로그 아이디를 구하는 방법

 

https://codex.wordpress.org/Function_Reference/get_current_blog_id">https://codex.wordpress.org/Function_Reference/get_current_blog_id 

 

body_class 를 수정하는 방법 

 

https://codex.wordpress.org/Function_Reference/body_class">https://codex.wordpress.org/Function_Reference/body_class 

 

위의 두개 결과를 합쳐서 아래 코드를 작성해 보았습니다.

 

</p><p>add_filter( 'body_class', 'custom_my_class_names' );</p><p>function custom_my_class_names( $classes ) {</p><p> </p><p>    $blog_id = get_current_blog_id();   //블로그의 아이디를 구한다.</p><p> </p><p><span class="Apple-tab-span" style="white-space:pre">	</span>// add 'class-name' to the $classes array</p><p> </p><p><span class="Apple-tab-span" style="white-space:pre">	</span>$classes[] = 'bg'.$blog_id;     //body 에 class name 을 추가한다.</p><p> </p><p><span class="Apple-tab-span" style="white-space:pre">	</span>// return the $classes array</p><p> </p><p><span class="Apple-tab-span" style="white-space:pre">	</span>return $classes;</p><p>}</p><p>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 7개

n
nanati
9년 전
건님 답변 감사합니다!!
알려주신 코드를 function에 넣으면 되는걸까용?-ㅅ -;; ㅎㅎ
t
thisgun
9년 전
그렇습니다. ㅎㅎ

functions.php 에 넣으셔도 되실겁니다.
n
nanati
9년 전
엇..
body에 <?php body_class(); ?> 이걸 넣었어야 했군요!
그런데-_ - 필요 없는 클래스명까지 같이 나와버리네요 허얼...
t
thisgun
9년 전
자바스크립트로 하려면 이렇게 하시면 됩니다.

[code]
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
}
[/code]
n
nanati
9년 전
알려주신 코드...는 function에 넣나요?..
ㅡ,. ㅡ 하하 ㅠ ㅠ
t
thisgun
9년 전
그렇습니다.ㅎㅎ;
functions.php
n
nanati
9년 전
감사합니다(__)
아무래도 쓸데없는 클래스가 너무 많이 붙고,
원래 사용하던 클래스와 겹치거나 하는게 신경 쓰이네요 ㅠ
body_class에 출력되는 클래스를 제어하는 방법..은 없겠죠? ㅠ
찾아볼게요!

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

<body class="bg<?if 회원번호;?>">

 

css로 처리될수 없나요??

 

<style>

body.bg회원번호 {background:#ddd;}

body.bg회원번호 {background:#ccc;}

</style>

 

각 회원이 추가될때마다 css를 추가하거나 미리 복사해서 몇백명껄 추가해둬도...-_-'

 

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 3개

n
nanati
9년 전
댓글 감사합니다 ^^
일단 블로그 이용자는 그렇게 많진 않구용~

<body class="bg<?if 회원번호;?>"> 말씀하신 이 부분은
회원번호 <ㅡ 이 부분은 지정을 하라는 말씀이신가요?
잘 이해가 안가서요 ㅠ ㅠ

조건문을 써서,
테마 헤더에
블로그아이디가 blog_1인 경우에는 <body>에 클래스 bg1을
블로그아이디가 blog_2인 경우에는 <body>에 클래스 bg2을... 붙이도록 하고 싶은데
제가 ... 코드를 쓸 줄 몰라서요 ㅠ
물론 각각의 class에 다른 배경을 지정하고요...
돼지코구뇽
9년 전
워드프레스에도 회원번호가 있는데 그누보드로 치면

<body class="bg<?php echo member[mb_id];?>">

회원번호가 클래스가 되지 않나 해서 남겨드렸어요~

<body class="bg <?php echo member[mb_id];?>">

차라리 위처럼 bg클래스는 동일하되 띄워줌으로써 중복클래스로

<style>
.bg .1 {background:#ddd;}
</style>

이렇게하는것도 괜찮을듯해서..
n
nanati
9년 전
아, 말씀하신 거 이제 이해했네요 흐흐
그런 방법이 있는지 구글링 좀 해보겠습니다^^

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

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

로그인