6 min read

워드프레스 테마 삽질기

Justin Yoo

배경

이 블로그와 내가 운영하는 다른 블로그인 Aliencube Community는 모두 워드프레스 기반으로 운영하고 있다. 개인적으로 PHP는 언어 자체가 갖는 일관적이지 않은 모습 때문에 선호하지 않는데, 그럼에도 불구하고 워드프레스라는 블로그 툴이 가장 널리 알려진 툴이기도 하니까 나도 덩달아 사용하게 됐다. 언제나 그렇듯 좋은 것이 널리 쓰이는 것이라기 보다는 널리 쓰이는 것이 좋은 것이라는 사상을 갖고 있는지라... 워드프레스를 사용하면서 느끼는 점은 그냥 기본적인 옵션만을 사용해서 쓰는 것이라면 이보다도 더 편할 수는 없겠으나, 오랜 세월동안 커뮤니티가 커지면서 만들어진 수많은 플러그인들과 테마들이 워드프레스를 더욱 풍성하게 해주었다는 사실 역시도 부인할 수 없다. 반면에, 이런 플러그인들과 테마들이 역으로 워드프레스를 사용하는데 있어서 항상 2% 부족하다는 느낌도 갖고 있게 마련이다.

삽질의 시작

결국 이런 관점에서 기존의 써드파티 테마들을 여러가지 테스트를 해 봤는데, 역시나 항상 뭔가가 하나씩 부족한 테마들이었다. 그냥 그러려니 하고 살려니 눈에 띄게 불편하고 해서, 아예 새로 테마를 만들어 버리자! 라는 지경에까지 이르렀다. 워드프레스 공홈에 있는 문서들 중 Template Hierarchy 라는 문서를 보면서, 테마를 제작하려면 최소한 이만큼의 페이지들이 있어야겠구나 하며 일단 긴장모드로 시작. 사실 이 테마를 작업하는 것이 보통 워드프레스 기본 테마 – TwentyEleven, TwentyTwelve, TwentyThirteen, TwentyFourteean 같은 것들을 참조하면서 한다던데, 아무 생각없이 맨땅에 헤딩하면서 시작했다. 그도 그럴 것이 기왕 이 짓을 하면서 테마의 구조를 좀 알면 좋겠다는 생각이 들어서였는데, 지금 작업 중인 Aliencube CMS에도 어떤 식으로든 써먹을 것들이 있지 않을까 하는 의도가 있기도 했다.

나같이 디자인에 무지렁한 개발자가 선택할 수 있는 최선의 선택지는 바로 부트스트랩. 머 어지간한 레이아웃은 이걸 이용하면 되니까 딱히 신경 쓸 건 없었고, 그나마도 Layoutit.com 같은 곳을 통해 후다닥 목업을 만들어서 그걸 바탕으로 작업을 시작했다. 여기서부터 본격적인 삽질을 시작하게 되는데...

스파게티 코드의 정수

워드프레스라는 툴 자체가 애초에 내가 익숙한 객체지향 방법론을 이용해 만들어진 것도 아닐 뿐더러, MVC 패턴과 같이 로직과 화면이 따로 분리가 된 것도 아닌지라 PHP 코드와 HTML 코드가 뒤죽박죽 섞여 있는 이상한 테마가 만들어지기 시작했다. 이게 제대로 돌아가는 건가 싶어서 TwentyTwelve, TwentyThirteen 테마들을 하나씩 열어보면서 제작을 해나가기 시작했는데, 시간이 지나면 지날수록 테마가 뭔가 산으로 가게 됐다. 워드프레스 코어를 손대지 않는 이상 내가 손을 댈 수 없는 부분들도 있다보니 뭔가 편법 내지는 꼼수 스러운 것들만 계속 붙이게 되면서 결국 어찌어찌 만들게 됐다. 그것이 바로 Alienstrap for Wordpress. 명분은 컨텐츠에 집중하자이긴 하지만, 사실 이미지라든가 하는 것들이 부차적이란 개인적인 소신(이라 쓰고 똥고집이라 읽는) 때문에 정말정말 심심한 테마가 하나 탄생하게 됐다.

테마의 탄생

현재 버전은 0.8. 아직 정식 버전으로 올라가지도 못한 상태이긴 한데, 내가 쓰기에는 딱히 문제도 없고, 아쉬운 것도 없고 해서 다음 버전업이 언제가 될런지는 모르겠다. 쓰다가 보이는 버그등을 해소한 마이너 버전업은 계속 해나가겠지만, 뭔가 획기적인 변화를 줄 것 같지는 않다. 지금 이 사이트에 적용된 테마가 바로 Alienstrap이다. 많이 심심하고 색깔도 칙칙하지? 부트스트랩의 기본 색감이 이런 것이니 그쪽을 원망하시라. 물론, 이 색상군들만 살짝살짝 바꿀 수 있는 옵션을 준비중이긴 하다만 언제가 될지는 모르겠다. 아마도 내가 지금의 색상 조합에 질릴 때 쯤이 되지 않을까 싶기도 하고... 머 그전에 누구라도 그런 부분들을 자체적으로 해결해서 풀리퀘스트를 날려준다면 그건 또 반갑게 낼름 받아먹겠음.

결론

  • 워드프레스 테마 제작 삽질을 하면서 Aliencube에 쓰일 스킨들에 대한 구상을 할 수 있는 계기가 됐다.
  • PHP Sucks.
  • 테마 만들어 배포하는 분들 존경합니데이.