본문 바로가기
지속가능티끌/웹,워드프레스

워드프레스 테마 만들기 7편. archive.php, 404.php, search.php 추가하기.

by i.got.it 2014. 10. 28.

 

 

본 글은 "워드프레스 테마 만들기" 시리즈 글 7편이며, 6편에 연결된 내용. 6편을 보고 이 글을 봐야함.

 

워드프레스 테마 만들기 6편. 사이드바 위젯 추가, sidebar.php 템플릿 추가하기. 보기 -> http://igotit.tistory.com/135  

 

 

 

 

개요.

   
 

6편 에서 만들어진 테마에 아래 3개의 템플릿파일 들을 추가한다.

 

1. archive.php

2. 404.php 

3. search.php

 

설명.

지난 5편에서 sidebar.php 를 새로 만들어 테마에 추가하였고, 이를 웹사이트에서 보면 아래 그림의 붉은 박스에 표현되고 있다.


 

위 사이드바에서 category 의 미분류를 클릭해보면 미분류에 속한 글의 리스트가 보여야 하는데 아직 우리 테마에서는 category.php 나 archive.php 를 만들지 않았기 때문에 index.php 가 보이게 된다. (우선순위 catetory.php -> archive.php -> index.php)

 

참고. archive.php 는 카테고리와 태그에 속한 포스트 리스트를 웹에 표현할 때 공통적으로 사용 가능한 템플릿이며, category.php 는 카테고리만 표현가능하고 태그는 표현하지 못한다.카테고리와 태그표현용 템플릿에 대한 상세설명 보기 -> http://igotit.tistory.com/123 의 2번 글.

 

또한, 위 사이드바에서 search 의 검색을 시도해봐도 검색결과를 보이지 못하고 있다. 이 역시 아직 우리의 테마에 search.php 파일이 없기 때문이다.

 

404.php 는 주소창에 웹사이트에서 제공하지 않는 정보를 요청한 경우 보이게 되는 페이지인데, 만일 404.php 파일이 없다면 index.php 가 보이게 되어있다.

 

archive.php, 404.php, search.php 를 추가하여 정상적으로 보이도록 한다.

 

 

 

 


 

1. archive.php 만들기.

   
 

 

1. archive.php 만들기.

 

archive.php 파일을 새로만들고 아래와 같이 코드 작성하여 테마 폴더에 넣는다.

 

<?php get_header(); ?>

<p>보이는 페이지는 archive.php 로 표현됨.</p>

<p><?php single_cat_title('archive : ');?> 에 속한 글들</p>

<?php

if (have_posts()) :
   while (have_posts()) : the_post();
         the_ID();?> : 
         <a href=<?php the_permalink();?>><?php the_title();?> </a>

<br>
<?php
   endwhile;
endif;

?>

<?php get_footer(); ?>

위 코드중 새롭게 추가된 함수는 푸른색으로 된 부분 뿐이다. 나머지는 본 테마 만들기 시리즈 글의 앞 편에서 모두 다뤄왔던 코드들이며, 새로운 코드 없다.  포스트의 제목, 포스트의 아이디를 표현하면서, 카데고리에 속한 모든 글을 리스팅하고 각각의 글의 제목을 클릭할 수 있는 링크 처리된 것이 전부임.

신규추가된 함수는 카테고리 명을 표현하는 것이다.

이 함수의 codex 설명 -> http://codex.wordpress.org/Function_Reference/single_cat_title

 

2. 웹사이트에서 동작상태 확인하기.

앞의 1의 archive.php 파일을 테마폴더에 넣어두고, 사이트에서 카테고리를 클릭하면 이제 정상적으로 해당 카테고리에 속한 글들이 리스팅된다.

확인해보자.

아래 붉은색 사이드바 내에서 category 에 있는 "미분류" 라는 카테고리를 클릭



 

그럼 사이트가 변경되면서 archive.php 가 처리하여 보여주는 포스트 리스트가 보인다. (아래그림)


 

 

 

 

 

끝. - 테마에 archive.php 추가하여 카테고리에 속한 포스트 리스팅 가능하게 함.

 

 

 

 

2. 404.php 만들기.

   
 

 

1. 404.php 만들기.

404.php 파일을 새로만들고 아래와 같이 코드 작성하여 테마 폴더에 넣는다.

 

 <?php get_header(); ?>
<p>현재 페이지는 404.php 로 표현중.</p>

<p>요청한 페이지를 찾을 수 없습니다.</p>

<?php get_search_form(); ?>
<?php get_footer(); ?>

사용자가 없는 페이지를 요청한 상황에서 보이고 싶은 내용을 작성하면 된다. 검색 폼을 두든지 혹은 홈으로 돌아가기 등 임의로 원하는 것을 표현하면 된다. 본 예에서는 홈으로 가기를 보이고 있다.

 

<?php get_search_form(); ?>
이 함수는 웹페이지에 검색 폼을 넣어준다. codex 설명 -> http://codex.wordpress.org/Function_Reference/get_search_form

 

2. 웹에서 동작상태 확인하기.

앞에서 만든 404.php 를 테마 폴더에 넣고 사이트에서 없는 것을 요청한 경우 아래처럼 404.php 로 표현 처리되고 있다.


 

 

 

 

끝. - 테마에 404.php 파일 추가하고 없는 페이지 요청시 보이게 함.

 

 

 

 

 

3. search.php 만들기.

   
 

 

1. search.php 만들기.

search.php 파일을 새로만들고 아래와 같이 코드 작성하여 테마 폴더에 넣는다.

 

<?php get_header(); ?>
<p>현재 페이지는 search.php 로 표현중.</p>
<p><?php printf( __( 'Search Results for %s '), get_search_query() );?> </p>
<?php
if (have_posts()) :
   while (have_posts()) : the_post();
         the_ID();?> :
         <a href=<?php the_permalink();?>><?php the_title();?> </a>
<br>
<?php
   endwhile;
endif;
?>
<?php get_footer(); ?>

 

위 코드에서  파란색으로 표시된 부분이 새롭게 등장한 함수 2개가 있다. 그외에는 계속 우리테마에서 사용하던 코드 그대로이다.

 

get_search_query() 는 검색폼에서 사용자가 입력한 문자열을 받는 함수다.

get_search_query() 함수의  codex의 설명 -> http://codex.wordpress.org/Function_Reference/get_search_query

 

printf 는 PHP의 함수이며 포맷을 갖춘 문자열 출력하는 기능이다. 위 에에서 %s 에 get_search_qury() 값을 대입하여 화면에 출력하게 된다.

printf  함수 상세설명 -> http://kr1.php.net/manual/kr/function.printf.php

 

 

2, 웹에서 동작상태확인하기.

 

검색창에 안녕 이라고 기록하고 검색버튼 클릭하자. (아래그림)




 

그럼 아래처럼 포스트나 페이지중에 안녕 이 포함된 것을 검색하여 결과를 보여준다.

 


 

끝. - 테마에 search.php 파일추가 하고 검색결과 보이게 함.

 

위  테마를 시험 운영 중인 워드프레스 사이트 보기 -> http://igotit.kr/theme-skeleton/

 

 

 

정리 - 현재까지 만들어진 Skeleton 테마의 파일들.

 

본 테마만들기 7편까지 우리의 테마에 추가된 템플릿(php) 파일들은 아래그림과 같다.

 

 

1. index.php 와 style.css  :  테마만들기 시작 1편에서 만들어졌음 -> http://igotit.tistory.com/85

2. header.php, footer.php : 테마만들기 2편에서 추가됨. -> http://igotit.tistory.com/122

3. single.php : 테마 만들기 4편에서 추가됨. -> http://igotit.tistory.com/126

4. functions.php, page.php : 테마 만들기 5편에서 추가됨.. -> http://igotit.tistory.com/129

5. sidebar.php : 테마 만들기 6편에서 추가됨 -> http://igotit.tistory.com/135

6. archive.php, 404.php, search.php : 본 7편에서 추가됨.

 

 

 

 

본 글이 포함된 통합 정리 글

 

WordPress 활용정보 정리 : http://igotit.tistory.com/23

 

 

 

///141.


댓글



 

비트코인




암호화폐       외환/나스닥/골드       암호화폐/외환/나스닥/골드 암호화폐/외환/나스닥/골드   암호화폐/외환/나스닥/골드
     
현물 |선물 인버스 |선물 USDT       전략매니저(카피트레이딩)     롤오버 이자 없는 스왑프리계좌
( 스왑프리 암호화폐도 거래 가능 )    
MT4, MT5 , cTrader 모두 지원     FTMO 계좌 매매운용. MT4,MT5