brunch

You can make anything
by writing

C.S.Lewis

by oksambari May 07. 2020

#1-6. 목록 페이지(작가) 만들기

IMPREZA 테마로 brunch 사이트 따라 만들기

브런치에는 글을 주제별로 묶는 것 외에 작가의 목록도 유기적으로 연동이 잘 돼 있습니다. 작가 정보에 입력이 된 태그(분류)들로 메인 페이지에서 작가를 먼저 확인 후 글을 볼 수도 있고, 작가에 등록된 태그를 누르면 동일 주제를 쓰는 작가도 볼 수 있고, 그다음 원하는 글을 볼 수 있는... 글을 읽다가 작가를 만날 수도 있고, 작가를 통해 글을 볼 수도 있는 시스템입니다. 


이전까지 글의 태그와 작가의 태그가 연동이 돼 있는 것으로 판단을 했으나, 다시 살펴보니 글은 글대로 키워드로 분류가 되는 것이고, 작가는 작가대로 따로 태그 분류가 돼 있는 것이었습니다. 그래서 계획을 수정하여 작가(워드프레스의 작성자)만의 분류 체계를 하나 만드는 것을 고려하였습니다. 



1. 작가에 대한 분류 방법 추가 


워드프레스의 장점 중의 하나가 어떤 분류 체계를 추가하고자 할 때에도 구조적으로 미리 고려가 잘 돼 있다는 것입니다. 임프레자 테마가 애드온으로 소개하고 있는 CPT UI와 같은 플러그인을 사용하면 코딩으로 작업을 해야 했던 것을 몇 번의 클릭만으로도 분류를 생성할 수 있게 됩니다. 단 아쉬운 것이 유저(user)에는 이게 바로 적용이 되도록 만들어지지는 않았습니다. 


관련 내용들을 찾아보며 가장 간편하고 쉬운 쪽으로 고려를 해 보니 아래와 같이 정리가 됐습니다. (글 참고)

1. 글에서 소개된 플러그인을 참고하여 자식 테마에 코드로 포함 (또는 플러그인 추가)

2. register_taxonomy() 함수로 유저에 키워드 분류를 추가 

3. 앞부분에 사용했던 ACF 플러그인으로 분류를 선택할 수 있는 필드 추가 

4. 프로필 저장 시 3번의 분류 선택이 사용자 정보에 잘 연동되어 저장될 수 있도록 함 





2. 분류된 작가가 표시가 되는 페이지 만들기 


같은 키워드로 분류가 된 작가를 보여주는 페이지를 만들어야 합니다. 이번에도 최대한 쉬운 방법을 이용하고자 테마의 탬플릿 파일을 이용하는 것보다는, 임프레자 테마의 콘텐츠 탬플릿 연결 방법을 사용했습니다. 단, 페이지 편집기의 기본 그리드 요소로는 유저의 목록을 표시하는 방법은 아직은 없어서 이건 어쩔 수 없이 코딩으로 쇼트 코드를 만들어서 연결을 하였습니다. 

( 임프레자의 특징이자 장점 : 포스트 타입 및 커스텀 분류를 추가를 하면 테마 옵션에서는 자동으로 인식을 하여 Page Layout이나 Archive Layout의 콘텐츠 템플릿을 연결할 수 있는 옵션이 등장합니다. )


※ 코드는 이미 워드프레스에서 현재의 페이지에서 정보를 얻게 해 주는 다양한 함수와 방법을 제공을 하고 있어서 wordpress.org 나 구글 검색을 해 보면 표시할 구조만 고려하면 될 정도로 많은 정보를 얻을 수 있습니다. 



위 내용을 적용해 보면 이제 브런치와 같이 작가 <-> 키워드 목록을 오가는 유기적인 구조가 완성됩니다. 




여기서 더 나아가면 메인에서의 작가 리스트 재 작업, 작가를 구독하는 기능, 작가 목록이 스크롤 시 자동 추가가 되는 부분, 유저 가입, 정보 수정 페이지, 검색 결과 페이지 등 미비된 부분이 꽤 있지만, 이번 내용까지 적용을 하면 일단 전체적인 콘텐츠가 돌아가는 구조는 완료가 됩니다. 워드프레스의 어드민을 유저에게 제공을 하면 조금은 수월한 작업이 될 수 있지만 프런트 앤드에서 모두 활동을 해야 한다면 여기서 작업이 더 늘어날 수는 있습니다. 


현재까지 적용한 페이지를 정리해 보면, 원하는 콘텐츠를 모아볼 수 있는 페이지, 글의 상세 내용을 보여주는 페이지, 키워드별 글의 목록, 작가의 정보와 글을 모아 보여주는 페이지, 작가들을 분류별로 볼 수 있는 페이지를 만들어 보았습니다. 코딩은 임프레자 테마의 특징 덕에 코딩은 최소화하는 방법을 택할 수 있었습니다. 


워드프레스 사이트는 일반 기업용 소개 페이지 제작을 위한 단순 페이지 제작 툴은 아닙니다. 물론 저라면 반응형 웹디자인 적용이나 차후 직접 사이트를 운영하기 편할 수 있도록 소개 사이트용으로도 워드프레스를 사용할 테지만요. 워드프레스는 CMS가 탑재가 된 짜임새 있고 원하는 대로 컨트롤하는 방법이 다양한 멋진 서비스입니다. 준비 과정에서는 여러 고민을 해서 완료를 한 것인데, 글과 그림만으로 간단하게 작성을 하다 보니 이게 대체 무슨 내용인가 이해가 잘 되지 않는 부분도 있을 듯합니다. 이렇게도 워드프레스가 활용이 되는구나 잠시 참고해 볼 수 있는 내용이 되었기를 바랍니다. 



브런치 사이트 워드프레스로 따라 해 보기 - 끝.  ( https://oks-dev.tk/multiauthors/ )



브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari