본문 바로가기
워드프레스/테마

[Wordpress] 워드프레스 테마 제작을 위한 템플릿 태그의 종류 알아보기

by 우림 2015. 9. 16.

워드프레스 템플릿 태그는 매개변수를 꼭 사용해야 하는 것도 있고 매개변수가 전혀 필요 없는 것도 있습니다. 매개변수를 사용하는 경우 변수를 사용해서 변수에 해당하는 값을 표시하도록 하는 템플릿 태그와 질의문(query string)을 사용해서 해당 질의문의 결과를 표시하는 템플릿 태그가 있습니다.


매개변수가 필요없는 경우

<?php the_author_firstname(); ?>


위와 같이 글쓴이의 이름을 표시하는 태그는 최종 정보에 해당하므로 추가적인 매개변수가 필요 없습니다.


매개변수가 필요한 경우

<?php bloginfo('description'); ?>


위와 같이 bloginfo 태그는 각종 블로그 정보의 상위 개념이므로 하위 요소가 많습니다.
'description'라는 매개변수를 사용하면 태그라인(사이트 설명 글)에 해당하는 정보를 표시합니다.


매개변수로 질의문을 사용하는 경우

<?php wp_list_cats('exclude=10'); ?>


wp_list_cats는 카테고리 목록을 표시하는 태그입니다. 위 질의문을 사용하면 그 중에서 목록의 10번 항목을 제외하고 표시하게 됩니다.


워드프레스의 템플릿 태그와 함께 사용되는 php 명령어

<?php if (): ?> - 조건문을 만들 때 사용합니다. if 다음에 오는 괄호 안에 조건이 오며 이 조건에 해당할 때 이 코드 아래에 나오는 내용을 실행합니다. 조건문의 시작이므로 마지막에 세미콜론이 아닌 콜론(:)을 사용합니다.

<?php elseif (): ?> - 이전의 조건문에 해당하지 않을 때 괄호 안의 조건으로 elseif 이하의 내용을 실행합니다.

<?php else: ?> - 이전의 조건문에 해당하지 않을 때 else 이하의 내용을 실행합니다.

<?php endif; ?> - 조건문을 종료합니다.

<?php while (): ?> - while 아래의 내용을 반복 실행합니다. while 다음의 괄호 안에 조건이 있으며 이 조건에 충족할 때까지 반복합니다.

<?php endwhile; ?> - 반복문을 종료합니다.

&& - 조건문에서 사용하며 이 기호 좌우에 있는 조건이 모두 충족할 경우를 의미합니다. (AND와 같음)

|| - 조건문에서 사용하며 이 기호 좌우에 있는 조건 중 어느 하나를 충족할 경우를 의미합니다. (OR와 같음)

! - 이것이 앞에 있으면 이 다음에 있는 내용이 아닐 경우를 의미합니다. 즉 !sidebar는 사이드바가 없을 때를 의미합니다. (NOT과 같음)


반복(loop)은 주로 여러 개의 글을 보여주기 위해 사용합니다.
관리자 화면의 설정 > 읽기에서 블로그에 나타낼 수 글의 수를 설정할 수 있는데 기본으로 10개로 설정돼 있습니다. 이 10개의 글을 화면에 나타낼 때는 이 반복문에 의해 실행되는데 하나의 글을 보여주고 난 다음 다시 while 구문에 의해 두 번째 글을 보여주고 다시 세 번째가 실행되며 10번째까지 실행하고 나면 조건이 충족되므로 반복을 종료합니다. 이 열 번의 작업을 반복이라고 하며 순식간에 이뤄지는 것이지만 위 while 구문에 의해 반복됩니다.


블로그 글의 반복문의 구조는 다음과 같습니다.

<?php if ( have_post() ) : ?>                       // 글(포스트)가 있다면
   <?php while ( have_post() ) : the_post(); ?>   // 글을 반복해서 표시하기 시작
        <?php the_content(); ?>                    // 글의 내용을 표시
   <?php endwhile; ?>                              // 반복을 종료
<?php else: ?>                                      // 위의 조건에 맞지 않다면 다음을 실행하라
   <h2>표시할 글이 없습니다.</h2>
<?php endif; ?>                                     // 조건문을 종료


endif 다음에는 조건문의 종료를 위한 세미콜론을 입력합니다. else 부분을 사용하지 않아도 되지만 이럴 경우 아무 내용도 나오지 않습니다. 보는 사람이 아무 내용이 없으면 뭐가 잘못된 것인지 모르므로 결과값이 없다면 '표시할 글이 없습니다' 등의 텍스트를 출력해 주는 게 좋습니다. 하지만 조건문은 반드시 endif로 종료해야 합니다.

댓글