Press enter to see results or esc to cancel.

워드프레스의 기본 구조에 대해 알아보자

워드프레스는 잘 아시다시피 오픈소스 CMS1 입니다. 오픈소스이기 때문에 워드프레스의 코어 시스템과 관련하여 많은 사람들이 개발과 유지 보수에 참여하고 있습니다. 워드프레스가 인기가 많은 이유 중의 하나는 정말 많은 사람들이 이용/개발하고 있다는 것일 겁니다.2

많은 사람들이 이용/개발하고 있다는 건, 다양한 솔루션이 존재한다는 뜻입니다. 워드프레스의 테마와 플러그인이 대표적인 예죠. 워드프레스의 기본적인 프레임을 유지하면서 다양한 개성을 드러내줄 수 있는 테마와 플러그인이 참 많습니다.

  • 코어(core) – GNU 라이센스로 개발, 공개되는 워드프레스의 기본 시스템
  • 테마(theme) – 웹브라우저에 보이는 부분을 구성하는 코드들
  • 플러그인(plugin) – 다양한 테마에서 동일한 기능을 수행하도록 하는 코드들

우리가 워드프레스를 이용한다고 워드프레스 코어 영역까지 깊게 알아야 할 필요는 없습니다. 어떻게 이용하면 되는지만 알면 되는 거죠.3 그래서, 코어를 제외하고, 워드프레스를 직접 설치해 이용하는 관점에서 기본적인 구조를 알 수 있게 정리해 보았습니다.

워드프레스의 기본 화면 구성

기본적인 워드프레스의 테마는 크게 4가지 영역으로 구성되어 있습니다.

워드프레스 기본 화면 구성

웹사이트의 성격이나 컨텐츠의 성격상 이 구조를 기본으로 삼아 다양한 변화가 있을 수 있습니다.

  • 사이드바가 없다 / 사이드바가 두 개다 / 사이드바가 컨텐츠 좌측에 있다.
  • 컨텐츠 영역과 사이드바가 디자인적으로 서로 겹치는 부분이 있다.
  • 푸터가 없이 무한 스크롤 방식이다.

그래도 대부분의 미디어형 웹사이트는 기본적으로 위와 같은 구조를 취하고 있습니다. 수없이 많은 워드프레스의 테마들도 기본적으로 이 구조를 구현하는 방식으로 구성되어 있습니다.

테마 파일의 구성

테마 파일은 워드프레스를 설치한 디렉토리를 기준으로 /wp-content/themes/ 안에 위치합니다. abc 라는 테마를 설치하면, /wp-content/themes/abc 라는 디렉토리가 생기는 것이죠.

워드프레스가 기본으로 제공하는 테마 중 하나를 예로 들어보죠. 다음은 워드프레스가 기본으로 제공했던 테마 Twenty Ten의 파일 목록입니다.

Twenty Ten 테마의 파일 목록

녹색으로 표시한 파일들을 위에서 언급한 내용에 포함된 것들입니다.

그외 파일들에 대해 간단하게 설명을 해보죠. 순서는 파일명입니다. .css, .txt, .png, 폴더 등은 주로 리소스와 관련된 것들이니 설명을 생략합니다.

  • 404.php – 내용이 없는 곳으로 잘못 접속했을 때 오류임을 출력하는 파일
  • archive.php – 웹사이트 전체 포스트 목록을 출력하는 파일
  • attachment.php – 첨부파일 정보를 출력하는 파일
  • author.php – 해당 글쓴이가 쓴 포스트만 출력하는 파일
  • category.php – 특정 카테고리의 포스트 목록을 출력하는 파일
  • comments.php – 댓글 출력용
  • functions.php – 테마테마 내부에서 벌어지는 각종 기능이 선언되어 있는 파일
  • index.php – 첫 페이지 출력과 관련한 정보가 들어있는데, 다른 파일을 다시 호출하는 경우도 많다.
  • onecolumn-page.php – 사이드바 없이 컨텐츠 영역만 표시할 때 이용하는 템플릿 파일
  • page.php – 페이지를 표시하는 기본 템플릿 파일
  • search.php – 검색창 출력용.
  • single.php – 포스트를 출력하는 기본 파일
  • tag.php – 태그 목록을 출력하는 파일

빨간색으로 표시한 파일은 컨텐츠 영역(the loop)에 구체적인 “컨텐츠의 내용” 보여주는 파일들입니다. 각각 메인, 포스트, 페이지의 내용을 보여주죠.

파란색으로 표시한 파일은 컨텐츠 영역(the loop)에 “컨텐츠의 목록”을 보여주는 파일들입니다. 전체 포스트 목록, 특정 글쓴이의 포스트 목록, 검색 결과 목록 같은 것들 말이죠.

핑크색으로 표시한 functions.php 는 화면에 직접 무언가를 출력하진 않지만, 테마의 특징적인 기능을 담고 있는 파일입니다.

설명에는 생략했지만, style.css 를 비롯한 각종 css 파일은 글자 크기, 색깔이나 구성 요소의 위치 등 디자인적인 요소를 정의하는 파일입니다.

모든 테마는 이 구조를 바탕으로 파일을 더 쪼개기도 하고, 모듈을 구성하기도 하고, 다양한 템플릿을 추가하기도 합니다. 테마 제작자마다 테마를 제작하는 스타일이 상이하기 때문에 현재 사용하고 있는 테마를 잘 이해해야 커스터마이징을 쉽게 할 수 있습니다. 물론 테마를 직접 만들 수도 있습니다.

플러그인의 기능

플러그인 파일은 워드프레스를 설치한 디렉토리를 기준으로 /wp-content/plugins/ 안에 위치합니다. pqr이라는 플러그인을 설치하면, /wp-content/plugins/pqr이라는 디렉토리가 생깁니다.

플러그인은 테마의 종류와 관계없이 특정한 기능을 수행하도록 만든 코드입니다. 기본적으로 테마를 변경하더라도 플러그인이 지원하는 기능은 사라지지 않습니다.

많은 사람들이 이용하는 주요 플러그인들이 지원하는 기능들은 다음과 같습니다.

  • 각종 컨텐츠/이미지 슬라이드 기능
  • 소셜 서비스 연결
  • 위젯에 다양한 기능 추가
  • 커스텀 포스트 관련 기능
  • 각종 보안 관련 기능
  • SEO 관련 기능
  • 속도 향상(캐시) 기능
  • 웹사이트 분석 기능
  • 이커머스 기능

이 외에도 다양한 기능을 수행하는 좋은 플러그인이 많습니다. 개발을 할 수 있다면 플러그인을 받아서 자신이 원하는 기능만 직접 수정하거나 개선할 수도 있습니다. 아무래도 플러그인의 커스터마이징은 테마의 커스터마이징에 비해 훨씬 어렵죠.

마무리 요약 정리

  • 워드프레스는 오픈소스 CMS 입니다.
  • 워드프레스 코어는 전 세계 많은 개발자들이 계속해서 기능을 추가하고 보안을 강화하고 퍼포먼스를 개선시키고 있습니다.
  • 이용자인 우리는 사이트의 성격에 맞는 테마를 고르고, 수정해서 웹사이트를 구축합니다. 필요하면 수정도 해야죠.
  • 테마가 없는 기능을 붙이려면 플러그인을 이용합니다. 역시 필요하면 수정을 해야 합니다. 하지만 좀 어렵죠.
  • 워드프레스는 무료로 이용할 수 있는 훌륭한 시스템이지만, 잘 돌아가게 구성하려면 워드프레스를 잘 알아야 합니다. 혹은 잘 아는 사람이 필요합니다. ^^

  1. content management system; 저작관리 시스템

  2. 당연히 워드프레스도 단점이 많죠. 그건 여러 글을 통해서 조금씩 이야기를 하겠습니다.

  3. 물론 다른 글을 통해 코어에 대해 이해하는 내용도 많이 다룰 예정입니다.