계산기와 리코더

워드프레스 테마 제작 유의사항

최근에야 제 블로그를 워드프레스로 이전한다는 원대한 꿈을 가지게 되었습니다. 제가 원하는 대로 블로그를 뜯어고칠 수 있는 플랫폼을 찾아 네이버 블로그에서 블로그스팟으로, 블로그스팟에서 워드프레스로 이주했는데 아마 워드프레스가 마지막이 될 것 같습니다.

워드프레스를 운영하려면 테마가 필요합니다. 하지만 제가 원하는 디자인이 없었습니다. 블로그스팟 템플릿과 마찬가지로 직접 워드프레스 테마를 만들어 보려고 합니다. 이 글은 제가 워드프레스 테마 만들기를 공부하면서 정보를 제 나름대로 정리한 글입니다.

제가 나중에 참고할 수 있게 이 글은 경어체로 간단히 쓰겠습니다.

목차

워드프레스 운영 시 필요 사항

  • 블로그스팟과 달리 도메인 구입이 (거의) 필수적이다. 고정 IP주소만으로 방문자를 접속하게 하는 것은 현실적으로 어렵다.
  • 또한 서버도 필요하다. 나는 아마존 라이트세일을 활용하기로 결정했다. IPv4를 사용하는 가장 싼 인스턴스로 골라 1달에 5달러 나간다. 그래도 처음 세 달은 무료이다.
  • PHP도 배워야 한다. 프로그래밍에 아예 문외한은 아니라 필요한 게 생기면 그때그때 조사해서 쓸 생각이다.

워드프레스 테마 종류

  • 워드프레스 클래식 테마와 블럭 테마, 두 종류의 테마가 있다.
  • 클래식 테마는 PHP를 주 언어로 사용하고 최신 블럭 테마는 HTML을 주 언어로 사용한다.
  • 이 글에서 작성할 테마는 PHP를 사용하는 클래식 테마이다.
  • 블럭 테마는 웹사이트(블로그)의 디자인을 쉽게 바꿀 수 있다는 특징이 있는 것 같다. 하지만 하드코딩을 선호하는 나는 클래식 테마에 눈길이 더 간다.

워드프레스 테마 구조

  • 블로그스팟은 XML 파일 하나에 모든 테마 코드를 적용해야 하지만 워드프레스는 그렇지 않다.
  • 클래식 테마에서 필수적인 파일은 index.php와 style.css이다. style.css에는 테마의 기본적인 정보가 들어간다. 이 정보가 있어야 오류가 발생하지 않고 워드프레스에 테마 파일을 업로드할 수 있다.
  • index.php는 메인 페이지.
  • <?php?> 안에 워드프레스의 각종 함수들이 들어간다. 티스토리의 치환자, 블로그스팟의 태그를 생각하면 된다. 사실 php 문법이랑 똑같다.
  • single.php는 포스트나 페이지(Page)에서 사용할 페이지.
  • CSS 주소를 불러올 때는 echo get_stylesheet_directory_uri() . '/style.css'; 따위로 작성하면 된다.
  • 동적인 컨텐츠(최근 글 등)을 페이지에 삽입하기 위해서 쇼트코드(shortcode)를 활용한다.
  • header.php는 헤더, footer.php는 푸터이다. header.php는 HTML의 header와 달리 head 부분도 포함한다. index.php, single.php, front-page.php 등에 반복적로 사용된다.
  • functions.php에는 워드프레스의 각종 함수들을 정의한다.

워드프레스 테마 개발 환경

  • Visual Studio Code를 사용하고 있다. 블로그스팟 테마 개발할 때는 notepad++를 사용했었다. 워드프레스는 여러 파일이 하나의 테마를 이루고 있기 때문에 파일 관리가 더 편하고 세련된 VSCode를 선택했다.
  • 파일을 수정하고 수정한 파일을 직접 파일질라를 거쳐 서버로 전송한다. 나중에는 이렇게 직접 파일을 전송하는 것 대신 테스트를 해 보고 올려야 하나 생각 중이다.

워드프레스 기본 함수들

  • get_ 따위로 시작하는 함수는 값을 출력하기 위해 echo를 사용할 필요가 있을 수 있다. 구글에 검색해 워드프레스 공식 문서를 참고하면 좋다. 블로그스팟은 바닥에 헤딩해 가면서 만들어야 하는데, 참 편리하다.
  • get_header(): header.php를 불러온다. 인자를 넣으면 header-인자.php 파일을 불러온다.
  • get_footer(): footer.php를 불러온다. 인자 넣는 사용법은 get_header와 동일.
  • bloginfo(): 블로그 관련 다양한 정보를 얻을 수 있다.

서버 관련 참고사항

  • 권한 문제 때문에 FTP에 파일 업로드가 불가능하면 sudo chown -R bitnami:daemon .로 권한을 바꾸어 주면 해결된다. 해당 코드는 현재 경로의 모든 하위 경로의 파일과 폴더를 소유자 bitnami, 소유 그룹 daemon으로 변경한다. daemon이 무엇인지는 모르겠지만 daemon:daemon이면 파일 업로드가 안 된다.
  • https를 포함한 IP 주소로의 접근도 막아야 한다.(지금은 방법을 모르겠다.)

워드프레스 기본 테마

  • index.php와 style.css만 있으면 테마가 작동하기는 한다.
  • 워드프레스는 방문자가 방문한 주소에 따라 다양한 php 파일들을 불러온다. index.php는 가장 기본적인 fallback이기에 있어야 한다.
  • 2024년 11월 현재 이 블로그에서 사용 중인 php 파일은 다음과 같다: index.php, 404.php, header.php, singular.php, footer.php, front-page.php, functions.php, comments.php
  • 404는 말 그대로 404 페이지, singular는 포스트(post)와 페이지(page), front-page는 블로그 메인 테마 양식이다.
작성자: BINUBALL
공학용 계산기와 리코더에 관심이 많은 사람입니다. 현재는 fx-570ES PLUS, fx-570EX, fx-9860G3 등의 계산기 사용법을 주로 올리고 있습니다. 자세한 내용은 프로필을 참고하시길 바랍니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다