워드프레스 잘 아시는 분 계시면... ㅠㅠ

워드프레스 잘 아시는 분 계시면... ㅠㅠ

QA

워드프레스 잘 아시는 분 계시면... ㅠㅠ

본문

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

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

 

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

custom-header를 추가했는데,

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

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

 

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

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

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

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

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

 

그러려면 if문으로  

 
<script>
if ( blog_id1 ) {
  $( 'body' ).addClass( 'bg1' );
} else if ( blog_id2 ) {
  $( 'body' ).addClass( 'bg2' );
} else if ( blog_id3 )  {
  $( 'body' ).addClass( 'bg3' );
}
</script>
  

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

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

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

 

 

 

 

 

이 질문에 댓글 쓰기 :

답변 2

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

 

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

 

body_class 를 수정하는 방법 

 

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

 

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

 


add_filter( 'body_class', 'custom_my_class_names' );
function custom_my_class_names( $classes ) {
 
    $blog_id = get_current_blog_id();   //블로그의 아이디를 구한다.
 
	// add 'class-name' to the $classes array
 
	$classes[] = 'bg'.$blog_id;     //body 에 class name 을 추가한다.
 
	// return the $classes array
 
	return $classes;
}

자바스크립트로 하려면 이렇게 하시면 됩니다.


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
}

감사합니다(__)
아무래도 쓸데없는 클래스가 너무 많이 붙고,
원래 사용하던 클래스와 겹치거나 하는게 신경 쓰이네요 ㅠ
body_class에 출력되는 클래스를 제어하는 방법..은 없겠죠? ㅠ
찾아볼게요!

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

 

css로 처리될수 없나요??

 

<style>

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

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

</style>

 

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

 

 

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

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

조건문을 써서,
테마 헤더에
블로그아이디가 blog_1인 경우에는 <body>에 클래스 bg1을
블로그아이디가 blog_2인 경우에는 <body>에 클래스 bg2을... 붙이도록 하고 싶은데
제가 ... 코드를 쓸 줄 몰라서요 ㅠ
물론 각각의 class에 다른 배경을 지정하고요...

워드프레스에도 회원번호가 있는데 그누보드로 치면

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

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

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

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

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

이렇게하는것도 괜찮을듯해서..

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

회원로그인

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