-
2006/03/07 3:19 오전 #507
워드프레스의 Conditional_Tags를이용해서 여러가지 환경에 맞게 플러그인을 출력할 수 있습니다. 메인페이지, 싱글페이지, 특정페이지..등등
(규섭님이 질문하신 내용따라 rollingarchives 플러그인을 예를 들겠습니다.)
보통 플러그인을 테마에서 출력되도록 하려면 아래 코드를 사용합니다.
<?php if (function_exists(k2_rollingarchives)) { ?>
<?php k2_rollingarchives(); ?>
<?php } ?>"k2_rollingarchives플러그인이 설치되어있으면 k2_rollingarchives를 출력한다"는 명령입니다.
<?php if (function_exists(k2_rollingarchives)) { ?>
부분을 여려형태로 변형하면 각각의 환경에 맞게 출력 할 수 있게됩니다.
-
1. 메인 페이지에서만 출력하는법
<?php if ((function_exists(k2_rollingarchives)) && (is_home())) { ?>
"플러그인이 설치되어있고, 메인페이지라면 출력한다"는 명령입니다.
2. 메인페이지의 처음에서만(paged되지않은) 출력하는법
<?php if ((function_exists(k2_rollingarchives)) && (is_home()) && !(is_paged())) { ?>
"플러그인이 설치되어있고, 메인페이지 이면서, paged되지 않았을때 출력한다"는 명령입니다.
(참고: ‘paged’는 ‘이전페이지’,’다음페이지’등으로 넘어갔을때 주소창에
"http://블로그주소/page/2/" 또는 "http://블로그주소/index.php?paged=2" 형태로 나타나게 되는 때를 말합니다.)3. 싱글페이지에서만 출력되게 하는법
<?php if ((function_exists(k2_rollingarchives)) && (is_single()) { ?>
"플러그인이 설치되어있고, 싱글페이지라면 출력한다"는 명령입니다.
(참고: 싱글페이지 = 글 제목을 클릭해서 특정글 하나만을 보여주는 페이지)4. 페이지에서만 출력되게 하는법
<?php if ((function_exists(k2_rollingarchives)) && (is_page())) { ?>
about, guestbook, photo, archives등등 워드프레스의 페이지기능으로 생성한 페이지에서만 출력하게 하는 명령입니다.
5. 특정 페이지에서만 출력되게 하는법
<?php if ((function_exists(k2_rollingarchives)) && (is_page('about'))) { ?>
"플러그인이 설치되어있고 ‘about’이라는 페이지라면 출력한다"는 명령입니다. ‘about’이라는 페이지 이름이 아니더라도 그 페이지의 ID를 적어주셔도 됩니다.
예) "관리자페이지-manage-page"에서 그 페이지의 ‘ID’가 ’16’이라면…
(is_page(’16’)6. 여러가지 조건의 조합
<?php if ((function_exists(k2_rollingarchives)) && ((is_page('about')) or (is_home()))) { ?>
"플러그인이 설치되어있는 상태에서, 메인페이지에서도 출력하고 ‘about’페이지에서도 출력한다"는 명령입니다.
이 외에도 여러가지 설정을 적용할 수 있습니다. 위의 예시들을 이해하셨다면
http://wordpress.co.kr/codex/Conditional_Tags
페이지를 참고해서 여러가지로 응용하실 수 있습니다. -
AuthorPosts
- 답변은 로그인 후 가능합니다.