워드프레스

<colbgcolor=#fff,#222> 공식 사이트 | 한국 공식 사이트

1. 개요
2. 특징
3. 워드프레스 기반의 서비스형 블로그
4. 구조
4.1. 워드프레스 사이트의 데이터 저장 구조 및 백업
5. 테마
6. 플러그인
6.1. 페이지 빌더 플러그인
6.2. 제트팩
6.3. 우커머스
6.4. Shopify
6.5. 한국형 게시판
7. 워드프레스 개발
7.1. 테마 개발
7.2. 차일드 테마 개발
7.3. 플러그인 개발
7.4. 개발 코드의 분리
8. 대한민국에서의 인식
9. 관련 문서
10. 외부 링크

1. 개요

읽기에 앞서 이 문서는 설치형 워드프레스를 기준으로 설명한다는 점을 일러둔다.

오픈소스 설치형 블로그이자 CMS. PHP 기반이며 라이선스는 GNU GPL v2. 워드프레스 기반 웹사이트는 전세계 웹사이트의 30%를 차지한다.

비영리 개발팀 WordPress.org와 워드프레스 블로그 호스팅 서비스를 제공하는 영리 기업 WordPress.com은 다른 업체이나, 후자의 개발팀도 본 프로젝트에 적극적으로 참여하고 있다.

같은 설치형 블로그인 무버블 타입이 3.0 버전을 기점으로 유료화되면서 큰 반발을 샀고,[1] 동시에 무버블 타입을 쓰던 사람들 다수가 이쪽으로 이주함으로 상당한 세를 얻었다. 한국에서도 텍스트큐브티스토리가 활성화되기 전까지 몇몇 사람들이 사용한 바 있다. 현재 텍스트큐브가 고인화됨에 따라 몇몇 텍스트큐브 블로거가 워드프레스로 이주하는 중.

버전업이 되면서 각종 플러그인이 나왔고, 설치형 블로그뿐만 아니라 하나의 사이트를 만드는 데도 활용할 수 있을 정도가 되었다. 따라서 해외에서는 설치형 블로그가 아닌 CMS(Content Management System: 컨텐츠 관리 시스템)로 구분된다. 이걸 기반으로 하고 모듈을 잘 짜맞춰서 만들면 웹표준을 따르는 사이트를 구축하기 좋기 때문에 알게 모르게 국내도 이걸로 사이트를 구축하는 곳이 제법 있다. 가장 대표적인 곳은 블로터닷넷. 지금은 개편되었지만 서울특별시 홈페이지 역시 워드프레스를 사용한 적이 있다. 전체가 다 이걸로 된 건 아니고 JSP를 메인으로 사용하면서 동영상 스트리밍은 ASP, 게시글에는 워드프레스를 섞어 사용했다. 워드프레스가 단순히 블로그 툴인 줄 아는 사람들한테 보여주면 이런 것도 되냐면서 놀란다. 물론 표준적인 사용법은 아니다.[2]

어떤 웹사이트가 워드프레스로 만들어졌는지 확인하고 싶으면 소스를 까보면 된다.[3] 메타태그에 generator로 써 있기 때문. 그 외에도 사이트 안에서 사용하는 경로에 "wp"라는 접두어가 묘하게 많이 보인다면 99%. 간단한 사이트라면 주소 뒤에 /wp-admin을 쳐 보면 관리자 로그인 페이지로 넘어가기 때문에 이걸 확인해 보는 방법도 있지만, 워드프레스가 워낙 여기저기 많이 쓰이다보니까 저 URL에 뜨는 폼만 집중 공격하는 봇이 존재하기 때문에 좀 규모가 있는 사이트라면 저 URL을 바꾸거나 아니면 아예 외부에서 접속하지 못하게 막는다.

이전까지는 관리자 페이지에 해당하는 wp-admin가 PHP 기반으로 제공되었지만 3.8 버전 이후부터는 Calypso라는 이름으로 자바스크립트 기반의 Node.js + React Front-End로 갈아탔고 오픈소스로 배포된다. 덕택에 멀티플랫폼 지원이 좋아졌고 이전에 비해서 확연히 속도가 빨라졌다는 평을 듣고 있다.

2019년 2월 현재 최신 버전은 5.0.3. 2월 21일에 버전 5.1이 출시 예정이다.

5.0 버전으로 업데이트되면서 기존의 TinyMCE를 버리고[4] 구텐베르크라는 새로운 에디터로 탈바꿈하였다. 새로운 블록 방식의 에디터로 현대적인 디자인으로 개발되었지만 반응은 호불호가 갈린다. (사실 구텐베르크 에디터를 반대하는 사용자가 압도적이다...)

구텐베르크의 최대 단점은 자바스크립트 기반으로 작성되어 기존의 PHP 방식의 에디터용 플러그인이 더 이상 지원되지 않는다는 것이다. 말 그대로 지금까지 써왔던 방법을 갑작스럽게 바꾸어버린 것이다. 애초에 구텐베르크 에디터를 플러그인으로 지원했어야 한다는 의견도 있다. 시간이 지나면 나아질지는 불명이다.

2. 특징

  • 다양한 플러그인 및 스킨
  • 높은 자유도
  • 핑백: 트랙백의 진일보한 형태. 사용하는 다른 블로그의 글을 링크하면 자동으로 해당 주소로 핑백이 전송되어 트랙백이 걸린다.
  • 타임라인식 댓글
  • 사용자 아이콘 Gravatar
  • 차단율 99%의 스팸 트랙백 차단 엔진 Akismet[5]

3. 워드프레스 기반의 서비스형 블로그

먼저 워드프레스 개발진에서 서비스하는 워드프레스 닷컴이 있는데,[6] 가입형 워드프레스라고 하면 대개 이 wordpress.com을 얘기하는 것이다. 텍스트큐브 닷컴처럼 댓글을 달아도 관리자의 승인을 받지 않으면 관리자 이외의 누구에게도 보이지 않기 때문에 이글루스에서와 같은 키보드 배틀은 어렵다.[7]

네이버 웹마스터도구에 워드프레스 사이트를 등록하면 사이트나 블로그 검색에 노출된다. 사이트 영역에 노출이 될지 블로그 검색결과에 노출이 될지는 전적으로 네이버의 정책에 달려있다. 구글 검색에도 검색 콘솔이 있어서 등록할 수 있지만 등록하지 않더라도 시간이 지나면서 다른 사이트에 링크가 퍼지면 대개 곧 검색에 반영된다.

워드프레스 닷컴 말고는 파이어럿 베이에서 서비스하는 베이워드도 있고, 한국에는 큐로보에서 큐로보프레스를 운영하기도 했으나 2012년 6월 말 서비스가 종료되었다.

4. 구조

워드프레스는 코어/테마/플러그인으로 구성되어 있다. 쉽게 생각하면 코어는 자동차의 엔진, 테마는 자동차의 외관, 플러그인은 액세서리라고 생각하면 된다. 워드프레스 코어는 워드프레스 공식 한국사이트에서 다운로드할 수 있다. 워드프레스는 항상 버전업을 빨리 하기 때문에, 코어 파일을 바꾸면 절대 안 된다. 바꾼 후부터는, 업그레이드를 하면 수정한 파일들이 다 날아가 버리고, 또 수정을 하지 않으면 그 후에 나오는 모든 종류의 플러그인과 테마를 지원받지 못한다. 사실 플러그인의 확장성이 좋아서 코어를 수정할 일은 어지간해서는 없다.

4.1. 워드프레스 사이트의 데이터 저장 구조 및 백업

위의 워드프레스 구조는 어디까지나 웹사이트가 동작하기 위한 PHP 파일 구성의 구조이고 글이나 이미지, 업로드 파일 등의 사용자 데이터는 별도로 분리해서 생각해야 한다.

이미지 같은 업로드 파일은 별도로 다른 설정을 하지 않았다면 /wp-content/uploads/폴더에 있으므로 이 폴더를 백업하면 이미지를 백업할 수 있다.

글이나 카테고리, 워드프레스 관리자 화면에서의 설정 같은 것들은 데이터베이스(서버에 설치되는 별도의 프로그램. MySQL, MariaDB)에 DB로 저장되어있다. 워드프레스 데이터를 백업할 땐 업로드 파일뿐만 아니라 DB를 덤프 파일로 빼내서 백업해야 한다. 그렇지 않으면 워드프레스 폴더만 복원해봤자 글이 하나도 없게 된다.

그런 데이터 백업 및 복원 작업은 서버(대부분 리눅스)를 다루는 지식이 필요한데 일반 사용자는 할 수 없을 것이므로 워드프레스 데이터 백업 플러그인의 도움을 받는 것이 보통이다. 또는 자신이 사용하는 웹호스팅 업체나 VPS 서비스사에서 제공하는 서버를 통째로 백업하는 기능을 사용하게 된다.[8]

5. 테마

워드프레스의 테마는 티스토리 블로그로 치자면 블로그 스킨과 같은 블로그 겉모습을 말한다. 하지만 그 기능과 확장 및 연동, 자유도 등은 티스토리에 있는 스킨들을 훌쩍 뛰어넘는다.

워드프레스 테마는 자신이 원하는 디자인이 있는가가 중요한데, 자신의 요구에 딱 맞춰진 걸 찾지 못하면 비슷한 테마를 골라서 PHP 코드를 수정해 자기 입맛에 맞게 고치는 작업을 해야 하기 때문이다. Themeforest 등 상업적으로 판매하는 마켓에서 유료로 구입해 사용할 수도 있으며 워드프레스 공식 배포처에서 무료로 배포되거나 워드프레스 관리자 페이지에서 검색해 테마를 설치할 수도 있다.

유명 유료 테마의 경우 테마 사용방법(설정 및 기능)을 별도로 공부해야 할 정도로 기능이 방대하다.[9] 유료 테마를 사용하는 이유가 미리 테마 개발사에서 준비한 스타일로 손쉽게 멋진 사이트를 꾸미기 위해서인 것이 7할이고, 유료 테마의 검색 최적화에 대한 막연한 기대감이 1할, 나머지 커스터마이징이나 추가 기능 때문이 2할 정도라고 볼 수 있다. 영어로 된 문서를 읽어가며 해당 테마 기능을 공부하는 하는 것도 일이고 테마로서는 제공하는 기능이 꼭 필요한 경우는 별로 없기 때문인데,[10] 사용자 대부분은 개발사가 미리 준비한 데모 디자인을 보고 내가 원하는 디자인과 가장 근접한 것을 찾는 게 (공부가 필요한) 테마 설정이나 수정을 최소화할 수 있기 때문이다.

테마 수정은 차일드 테마 개발을 통해서 할 수 있지만 어렵다. 차일드 테마는 PHP를 다룰 줄 알고 워드프레스 API를 공부한 개발자의 영역이지, 일반 사용자들이 할 수 있는 부분은 절대 아니다.[11] 차일드 테마 개발에 대해선 아래의 워드프레스 개발 항목 참고.

하지만 일부 워드프레스 개발자 블로거들의 정보 공유를 통해 차일드 테마 폴더를 만드는 방법과 특정 부분을 수정하는 방법이 공유되기도 해서 일반 사용자들이 그대로 해당 부분만 따라서 수정해 쓰기도 한다. 그러므로 테마 선택은 해당 테마를 사용하고 정보를 공유하는 블로거 등의 얼마나 많은 사용자 커뮤니티가 형성되어있는 가 또한 중요 포인트이다. 자신에게 맞는 수정이 꼭 필요하다면 재능마켓 등에서 개발자를 구해 수정을 의뢰할 수 있겠다.

최근엔 엘리멘터의 유료 기능을 사용하면 페이지 편집기 개념의 엘리멘터를 테마 편집기 수준까지 기능을 확장하고 엔바토 엘리멘츠 같은 기능을 연동하면 아예 테마부터 직접 사용자가 조합하는 것도 불가능하진 않게 되었다.

6. 플러그인

워드프레스는 여러가지 플러그인(plugin)을 설치해서 기능을 확장시킬 수 있다. 여기에서 '기능'이라 하면 웹사이트에게서 상상할 수 있는 모든 것이라 할 수 있다.본문에 영향을 주는 것일 수도 있고, 방문자에게는 보여지지 않는 기능(통계, 가입자관리, 데이터백업, SEO 등)을 위한 플러그인도 많다. 테마(겉모습)에 영향을 주거나 심지어 테마가 해야 할 것을 플러그인이 하는 경우도 있는데 대표적으로 커스텀 CSS를 삽입하는 플러그인 같은 것들이 있다.

무료 플러그인은 플러그인 디렉토리[12]에서 다운로드할 수 있는데, 수만 가지 이상의 플러그인이 무료다. 무료로 제공되는 워드프레스 플러그인은 홈페이지와 워드프레스 관리자 페이지에서 검색으로 바로 설치할 수 있고, codecanyon에서 판매하는 유료 플러그인을 구매할 수도 있으며, 또한 유료 테마를 구매하면 테마와 함께 사용될 수 있는 플러그인이 포함되어 있기도 하다.

무료 플러그인이라고 해도 고급 기능 차별화를 통해서 유료 버전 구매를 유도하는 것들이 많다. 유료 버전의 기능이 자신에게 필요한지를 고민하고 구매하면 되는데 이는 또 다른 무료 플러그인을 추가 설치해서 대체할 수 있는 경우도 많다.

6.1. 페이지 빌더 플러그인

먼저 워드프레스 사용에서 필수적인 두 가지 개념이 있는데, 워드프레스에는 수많은 포스트 타입이 있는데 그중 대표적인 두 가지가 일반적으로 '블로그 글'을 작성하는 'Post(포스트)'이고, 홈페이지(대문)나 랜딩 페이지를 만드는데 쓰이는 'Page(페이지)'가 있다. 그 중에서 페이지는 기본적으로 테마 개발자가 준비한 페이지 템플릿을 기반으로 한 페이지의 본문글을 표시하는데, 그것만으로는 멋진 페이지를 만들 수 없으므로 페이지 빌더 플러그인을 사용한다.

워드프레스의 대표적인 페이지 빌더로는 WPBakery(구 Visual Composer)[13], Beaver Builder, Divi Builder, Elementor 등이 있다.

페이지 빌더는 대부분 코딩 없이 드래그 앤 드롭으로 블로그가 아닌 웹사이트[14]처럼 보이는 웹페이지를 만들 수 있게 해준다. 페이지 예시1, 예시2

일부 유료 테마에는 페이지 빌더가 포함되어 있기도 하고 Elementor처럼 별도의 페이지 빌더 플러그인을 설치할 수도 있다.[15]

6.2. 제트팩

제트팩 플러그인은 워드프레스 공식 사이트에서 제공하는 플러그인으로써 다양한 기능을 가지고 있지만 그만큼 사이트를 느리게 만드는 주범이기도 하다.

설치형 워드프레스 사용자도 wordpress.com 계정을 연동하면 wordpress.com에서 자신의 블로그를 관리할 수 있는데 wordpress.com의 블로그 뿐만 아니라 다른 설치형 워드프레스 블로그와도 해당 계정으로 댓글 소통이 가능하다. 물론 상대 블로그에서도 wordpress.com 계정 로그인을 지원하는 댓글 창을 사용중 일 때 가능하며, 이런 계정연동이 제트팩 플러그인의 대표적인 기능 중 하나이다.

제트팩 플러그인에서 지원하는 댓글창을 사용하면 방문자들이 wordpress.com 계정과 구글계정, SNS 계정으로 로그인해서 댓글을 남길 수 있어서 설치형 워드프레스 사용자끼리의 소통창구가 되기도 한다.[16]

또한 워드프레스 공식 모바일 앱(iOS, 안드로이드)을 사용하면 이런 계정 연동을 통해서 설치형 워드프레스 블로그, 사이트에서도 방문자 댓글에 대한 푸시 알림을 모바일로 받을 수 있다. 설치형, 가입형 상관없이 남의 블로그에 wordpress.com 계정으로 댓글을 달았다면 이 역시도 답댓글에 대한 알림이 이 앱으로 온다.

6.3. 우커머스

워드프레스는 우커머스(WooCommerce)라는 플러그인을 설치하여 인터넷 쇼핑몰처럼 만들 수 있다. 주소는 여기이다. 워드프레스 사이트에 쇼핑몰 기능을 넣으면 반드시 설치하게 될 플러그인 1위이다. 웬만큼 큰 유료 테마나 플러그인들 대부분 우커머스 플러그인과의 연동, 호환성 보장을 고려할 정도로 쇼핑몰 표준으로 쓰이는 플러그인이다.

6.4. Shopify

우커머스와 비슷한 온라인 쇼핑몰 플러그인으로는 Shopify가 있다. 주소는 여기이다. 현재 개발 중단과 동시에 배포도 중단되었다.

6.5. 한국형 게시판

초창기에는 한국에서 사용할 때 가장 큰 걸림돌이 된 것이 다름 아닌 한국형 게시판이었다. 한국의 웹 환경에서 게시판은 외국과 완전히 다른 형식으로 발전하다보니 외국산 게시판 플러그인은 그대로 쓰기가 힘들었다. 마개조를 하거나 새로 플러그인을 만들거나 해야 하는데 제로보드그누보드급의 기능을 가진 게시판은 제작 난이도도 만만치 않다. 따라서 초창기에 나온 여러 한국형 게시판 플러그인은 단순한 글쓰기와 간단한 회원관리 기능만 제공할 정도로 퀄리티가 낮았고, 그나마도 얼마 안 가 개발을 중단하고 사라지거나 했다.

그러나 이제는 옛날 이야기로, 꽤 괜찮은 기능을 가진 한국형 게시판 플러그인이 나와서 꾸준히 업데이트되고 있다.

초창기부터 꾸준히 발전한 한국형 게시판 플러그인은 코스모스팜에서 제작한 KBoard가 있다. 초창기에는 기능이 정말로 보잘것없었지만 계속 업데이트되면서 준수한 기능을 가진 플러그인이 되었고, 가장 많이 사용되는 워드프레스 플러그인이 되었다. 사용자 요구도 많이 반영되어 커뮤니티 사이트에서 사용하기에도 무리가 없는 수준이다. 영덕군, 페이게이트, 현대자동차그룹, 태안인터내셔널, 대한산업보건협회, SK 등 크고 작은 기업과 공기업에서도 많이 사용하고 있다. 가비아 워드프레스 호스팅에 기본 탑재된 상태다. 단점은 일부 기능(대표적으로 회원가입 및 관리 기능)이 유료라 다른 한국형 게시판과 거의 같은 기능의 커뮤니티를 구성하려면 비용이 들어간다. 복잡한 커뮤니티와 회원 시스템을 지향한다면 K보드를 기반으로 하기는 힘들고 BB Press와 WP Members 플러그인을 조합하는 전통적인 워드프레스 방식의 구현을 따르는 것이 가장 쉽고 빠른 길이지만 기능 구현 방식이 기존 한국식 게시판과는 접근이 판이하게 달라서 배우는데 어려움이 있을 수 있다.

또한 그누보드에 쇼핑몰을 얹어서 워드프레스 플러그인으로 구현하는 그누커머스가 있다. 그누보드 5와 영카트 5의 기능 대다수를 거의 유사하게 옮겨온데다 모든 기능이 무료이기 때문에 쇼핑몰 + 게시판 구현 용도로는 상당히 좋은 편이다. 한국에서 그누보드의 위상을 생각해보면 이쪽도 좋은 선택. 단점은 기존 그누보드 5의 DB와 스킨은 옮겨올 수 없다.

7. 워드프레스 개발

워드프레스 개발 분야는 대표적으로 테마 개발과 플러그인 개발이 있다.

코어 파일은 건드리지 않는 것이 원칙이다. 코어 파일의 수정이 필요하다고 생각된다면 wordress.org와 Wordpress Codex에서 오픈소스 커뮤니티 활동을 통해 직접 기여해야 하는 것이 옳다.[17] 하지만 일부는 워드프레스 코어 까지 개조해서 자신만의 커스텀 CMS를 개발하기도 한다. 그런 경우 워드프레스 자체 업데이트 기능은 쓰지 말아야할 것은 물론이고 유지보수도 직접 해내야 하므로 오픈소스 커뮤니티에 의한 혜택(보안패치 등)은 더 이상 없게 된다.

워드프레스는 PHP 기반이므로 PHP와 MySQL을 기본으로 다룰 줄 알아야 하는 것은 물론이고, 워드프레스라는 플랫폼의 개발방법론과 API 문서를 학습해야 한다. 워드프레스에 무지한 초보 개발자들은 PHP를 할 줄 안다고 무턱대고 워드프레스 파일에서 원하는 부분만 수정하곤 하는데[18] 매우 잘못된 접근 방법이다.[19]

워드프레스 플랫폼의 개발 특징으로는 대표적으로 차일드테마 개발 방식과 함께 액션과 훅이라는 개념 그리고 치환자 역할인 쇼트코드 등이 있다.

워드프레스 코어에있는 그리고 활성화되는 모든 테마와 모든 플러그인에 있는 각각의 함수 이름은 유일해야 한다. 어딘가에 같은 이름의 함수가 존재하면 서로 충돌하므로 자신의 함수이름을 지을 땐 고유 접미사나 접두사를 붙이는 것이 좋다.

7.1. 테마 개발

자신의 워드프레스 테마를 처음부터 끝까지 만드는 것이다. 테마의 주요기능은 사이트의 겉모습이므로 예쁘거나 멋지거나 편하거나 디자인 철학적으로 접근이 필요하며, 반응형 디자인이 필수일 뿐만 아니라 워드프레스 테마 시장에서는 사용자들의 SEO(검색최적화)에 대한 기대 요구가 높으므로 그에 대한 이해와 개발 능력이 장점으로 작동한다. 워드프레스 사용자들이 목적에 따라 필수적으로 사용하는 다른 플러그인(우커머스, BBPress 등) 지원과 호환성도 고려하는 것이 좋다.

또한 사용자를 위한 페이지 템플릿 또한 몇 가지 준비해둬야 하는데, 헤더 + 사이드바 + 푸터가 있는 기본 템플릿, 헤더 + 푸터만 있는 Full Width 템플릿, 아무것도 없는 빈 페이지(Empty) 템플릿까지 3가지 정도 만들어두는 게 기본이다.

구글 AMP나 페이스북 인스턴트 아티클 페이지 또한 고려사항인데 이런 것들은 테마에서 자체 지원하지 않더라도 사용자가 공식 또는 관련 플러그인을 설치한다면 해당 플러그인이 알아서 만들어준다. 하지만 그런 페이지에서도 자신의 테마 스타일을 반영하고 싶다면 테마 개발자가 지원 기능을 추가 개발해야 하겠다.

테마를 배포할 때 많은 유료 테마들은 함께 쓰면 좋은 플러그인들도 함께 배포하곤 하는데 대표적으로 페이지 빌더와 구글 AMP를 위한 플러그인 또는 별도의 모바일 테마 플러그인을 많이 포함시킨다. 페이지 빌더까지 자체적으로 만들어 테마에 배포하는 테마 개발자들도 있지만 대부분은 다른 유명 플러그인을 포함시킨다.[20]

사용자를 위한 테마 설정 창의 경우 워드프레스 공식 지원방식인 테마 디자인 -> 사용자 정의하기에 들어서서 설정하는 방식만을 사용하도록 할 수도 있고, 별도의 메뉴로 테마 설정 화면을 만들어 둘 수도 있다.

워드프레스의 포스트 타입 중에서는 커스텀 포스트 타입(CPT)라는 것도 있는데 CPT에 대한 지원 여부도 고려해야 할 사항이다. CPT를 사용하는 것 자체가 워드프레스 고급 기능 사용자측에 해당되긴 하지만 테마가 CPT를 전혀 지원하지 않을 경우 최근글 목록이나 카테고리글 목록에 CPT로 지정된 글이 나오지 않는 등의 문제가 있을 수 있다.

7.2. 차일드 테마 개발

부모 테마의 파생 버전을 만드는 차일드 테마 개발 방식은 주로 남이 만든 테마에서 일부분만 변경할 때 사용되는 워드프레스 테마 개발 방법이다.

상기했듯 무료든 유료든 어떤 테마를 골랐다면 차일드 테마 개발을 통해서 테마의 일부분을 수정하거나 보충할 수 있다. PHP 개발자이더라도 워드프레스라는 플랫폼에서의 개발 방법론을 먼저 공부하지 않으면 무턱대고 자신이 구매한 원본 테마(부모 테마) 파일을 수정하는 초보 워드프레스 개발자들이 있곤 한데 이는 유지보수 측면에서 대단히 잘 못된 방법이다. 부모 테마는 테마 개발사가 꾸준히 업데이트를 하게 되고 그때마다 변경될 파일이 덮어쓰여지고 수정되면 자신이 작성한 코드가 사라지게 되거나 꼬이게 되기 때문이다.

부모테마의 PHP파일 중 수정하고 싶은 파일만 차일드테마 폴더(패키지)쪽으로 가져와서 수정하고 별도의 자신의 함수가 필요하다면 차일드테마쪽의 functions.php에 넣는 식이다. 부모테마가 업데이트되어도 차일드테마 폴더는 변경되지 않기때문에 자신의 코드를 잃게 되지 않는다. 그리고 부모테마의 버전업이 마이너라면 대개 이상없이 돌아가거나 새로운 부모테마 버전과 자신이 만든 차일드 테마 호환성이 깨지더라도 자신의 차일드테마 파일만 수정하면 된다.

7.3. 플러그인 개발

PHP 개발자라면 워드프레스 플랫폼의 개발방법론과 API를 학습 후 자신만의 플러그인을 개발할 수도 있다.

테마 개발에서는 위에 기술한 차일드 테마라는 개념을 통한 표준 파생 버전 개발방법론이 있는 것과는 다르게 플러그인은 독립적이라서 남이 만든 플러그인의 파생 버전을 만드는 방법이 딱히 없다. 다만 (당연하겠지만) 코드를 베끼는 방식을 통해 원본과는 다른 자신만의 플러그인을 독립적으로 만들 수는 있겠다. 그리고 일부 플러그인[21]은 해당 플러그인만의 API를 제공하기도 하므로 개발사 홈페이지에서 문서를 참고해 그 기능을 확장해주는 플러그인을 만들 수 있다.

워드프레스 글쓰기 에디터인 고전 편집기나 구텐베르크 에디터 또한 API가 존재해서 글쓰기 툴바에 새로운 버튼을 넣거나 새로운 블록을 만들어주는 확장 플러그인도 만들 수 있다. 글쓰기 에디터 하단이나 오른쪽에 있는 설정 상자들은 '메타박스'라고 불리는데 새로운 메타박스를 넣어주는 플러그인도 개발 할 수 있다.

7.4. 개발 코드의 분리

위처럼 테마와 플러그인 개발은 분명 나누어져 있는 것처럼 보여도 사실은 코어, 플러그인, 테마의 모든 PHP 코드는 서로 함께 동작하기 때문에 플러그인의 함수를 테마 파일에서 사용해도 동작한다. 그래서 플러그인으로 따로 나누어야 할 기능이나 함수 코드를 테마 쪽 파일에 작성하기도 하고 테마에서만 쓰는 함수를 차일드 테마의 functions.php에 넣지 않고 자신의 개발 플러그인 파일에 넣기도 할 수 있다.

이런 것은 PHP라는 언어 특성 때문에 작성하는 사람에 따라 코드가 지저분해질 수 있는 것인데, 훌륭한 개발자라면 코드와 함수의 목적에 맞게 분리하는 것이 좋을 것이다.그러므로 진지하게 할 것이라면 워드프레스 개발 방법론을 먼저 학습하고 워드프레스 개발을 시작하는 것을 추천한다.

8. 대한민국에서의 인식

이렇게 자유도 높고 무궁무진한 가능성을 가진 워드프레스이지만, 한국 웹상에서는 인지도가 낮은 편이다. 한국에서 워드프레스의 보급이 부족한 원인은 크게 두 가지 정도로 꼽을 수 있겠는데, 언어 지원과 필요한 기능을 찾아서 설치하는 문화적 차이정도로 볼 수 있다.

워드프레스는 영어로 제작된 기능들이 대부분이고 번역된 테마, 플러그인이 거의 없어 영어에 능숙하지 못하면 이용하기 힘들 수 있으며, 한글로 번역됐다는 테마의 경우도 까보면 누구나 해석할 수 있는 수준의 메뉴 이름 정도만 해석되어 있고, 그마저도 제공하지 않는 테마들이 99.9%다.

이렇게 언어 장벽이 있는 상황에서 또 다시 모든 것을 스스로 해결해야 하는 것은 진입장벽을 더욱 높인다. 카페24 등에서 제공하는 쇼핑몰이나 네이버, 다음과 같은 가입형 블로그의 경우 최소한의 커스터마이징을 제외하고는 사용자가 건드릴 것이 없다. 이런 자동화 설치 지원 때문에 사기꾼들이 홈페이지 개설을 쉽게 하고 있다 그러나 워드프레스는 회원 가입 및 회원 관리조차 기본 기능이 부족하다보니 추가적으로 플러그인을 설치해야 원하는 기능을 구현할 수 있다. 또, 블로그와 포트폴리오를 사용하려면, 아무 것도 설치 안 된 상태에서는 이미지를 올려도 바로 적용되지 않기 때문에 Auto Post Thumbnail 플러그인 같은 것을 깔고 나서야, 그 때부터는 글과 이미지를 함께 올리면 이미지가 섬네일로 자동 반영된다. 그런데 이 모든 것들을 해결할 때, 국내 사용자들이 포스팅해놓은 정보 글에서 얻을 수 없는 문제를 해결하길 원한다면, 영어로 구글에 검색을 해서 해결하거나 제작자와 직접 대화를 해야 한다.

요컨대, 워드프레스는 코어는 최소한의 기능만을 제공하고, 나머지 기능들을 죄다 무료 플러그인, 유료 플러그인, 무료 테마, 유료 테마로 나뉘어서 사람들의 입맛에 맞게 쓰게 해 두고 있다. 하지만 이 모든 것들이 사실상 영어만으로 제공된다고 봐야 하기에, 영어에 취약한 대한민국 사람들에게 워드프레스는 쉽게 진입할 수 없는 벽이 되는 것이다. 그래도 유저들이 꾸준히 늘어가고 있고, 워드프레스만 전문적으로 강의하는 학원들도 하나씩 생겨나고 있다. 실제로 네이버 광고의 “워드프레스” 키워드의 클릭당 광고 단가가 2000원 이상이라고 한다. 또한 CMS툴로서 점점 인지도가 높아지는 중. 요즘은 무료 플러그인 우커머스를 설치한 쇼핑몰 사이트도 늘어나고 있다. 쇼핑몰의 경우는 이니시스, KCP, LG U+, PayGate 사에서 만든 워드프레스용 결제 플러그인을 사용할 수 있다.

참고로, 워드프레스를 플러그인 하나 없이 사용하는 건 엔진만 하나 들고 깡통으로 운행하는 것과 같다. 따라서 일반적인 XpressEngine나 티스토리와 같이 사용하려면, 워드프레스에 필수 플러그인을 최소 10개 정도 깔아줘야 쓸 만하다. 하지만 단순 포스팅만을 목적으로 하는 블로그가 아닌 게시판 등의 기능을 가진 기업 웹사이트일 경우 15~20개, 쇼핑몰 기능까지 탑재할 경우 20~25개 수준까지 늘어나기도 한다. 물론, 이것은 워드프레스라는 도구에 능숙하지 못한 사용자들일 경우의 이야기이며, CSS를 다룰 줄 알고 편집 기능에 손을 대는 방법을 배우게 되면 쇼핑몰을 구축하는데도 15개 전후로 충분히 가능할 수 있다.

대한민국에서 워드프레스로 제작된 홈페이지는 케이크스퀘어, 브랜드웨이브, GS칼텍스, 현대종합상사가 있고, 구 국민의당(2016년)과 그의 후신인 바른미래당,[22] 민주평화당 등 또한 워드프레스로 제작되었다. 소프트웨어 개발사의 경우 계열 사이트들을 대부분 워드프레스로 구현하고 있기도 하다.(#1, #2, #3)

딴지일보의 경우 소프트웨어에 대한 이해도 부족하고 한국에서 필요한 기능들도 아직 턱없이 부족한 상황에서 어설프게 세계 언론사의 유행을 따르려는 것인지 워드프레스로 업데이트를 했다가 사이트 로딩 속도, 디자인, 커뮤니티 기능 등 모든 부분에서 형편없는 퀄리티를 보여주는 바람에 XpressEngine으로 재이주하는 해프닝을 겪기도 했다. 그리고 XpressEngine 이주 이후 이 모든 문제들이 거짓말처럼 전부 사라져버렸다. 많은 기능을 선택할 수 있다는 것이 최종 결과물의 퀄리티를 보장하는 것이 아니라는 안타까운 사례라고 할 수 있다.

다만 최근 들어 텍스트큐브XpressEngine 같은 국산 CMS의 커뮤니티가 사실상 거의 고사상태가 되어버렸기도 해서 기존에 개발된 코드들은 최근 요구되는 디자인이나 기능들을 감당해낼 수 있는 수준이 도저히 못되고 아무리 국내 커뮤니티가 활성화 되어봤자 전 세계의 개발자와 디자이너들이 달라붙어 기능을 만들어내는 글로벌 규모의 개발자 풀은 도저히 당해낼 수 있는 수준이 아닌지라 영어의 벽을 무조건 극복하고 파고들어야 하는 필수 소프트웨어로 강제로 되어가고 있는 변화의 양상은 아쉬운 점이라고 할 수 있다.

9. 관련 문서

10. 외부 링크

  • 설치형 워드프레스 설치방법 예시: 1, 2
  • 가입형 워드프레스 생성방법 예시: 1


  1. [1] 3.2 버전에서 다시 무료화된 상태이다.
  2. [2] 표준은 어디까지나 블로그형.
  3. [3] URL을 입력하면 워드프레스 기반인지 감별해주는 사이트도 있다.
  4. [4] 플러그인으로 전환되어 기존 에디터를 사용하려면 따로 설치해야 한다.
  5. [5] 재미있게도, 가짜 스팸에 대해서는 '햄'이라고 부른다. 스팸 차단율은 뛰어나지만 돈을 받는다. Pro 서비스가 한달에 5달러 정도로, 비싸지는 않은 편. 물론 비상업적으로는 무료다.
  6. [6] 주소창에 wp.com이라 쳐도 들어갈 수 있다.
  7. [7] 설치형은 관리자가 어떻게 설정하느냐에 따라 바로 댓글이 등록되기도 하고 링크가 많다든지 하는 스팸 분류 기준을 설정할 수도 있다.
  8. [8] AWS Lightsail에서는 스냅샷이라는 기능을 제공하듯이...
  9. [9] 문서는 대부분 영어다.
  10. [10] 어떤 기능이 필요하다면 차라리 플러그인으로 더 많은 것을 더 자유롭게 할 수 있다.
  11. [11] 자신이 프로그래밍의 ㅍ자도 모른다면 매일 일정시간 집중이 가능한 학생 기준에서 방과후 시간 할애를 통해 PHP 공부 6개월, 워드프레스 API 공부 3개월 정도는 해야 손댈 수 있을 것이다. 타 직종에서 매일매일 생존하기 바쁜 직장인 기준에서는 적어도 1년은 투자해야 할 것인데 대개 지쳐서 프로그래밍 공부를 포기하게 된다.
  12. [12] 무표 플러그인을 다운로드할 수 있는 앱스토어라고 이해하면 된다.
  13. [13] Visual Composer vs. WPBakery 차이점 (프레스캣)
  14. [14] 엄밀히는 블로그도 웹사이트이긴 하지만...
  15. [15] Elementor를 따로 깔아 쓰는 사람이 늘어나고 심지어 이게 테마랑 충돌 난다고 테마 제작자에게 항의가 들어오는 일이 많아지자 아에 Elementor로 테마를 작성해버리고 페이지 기본 편집기도 이걸로 내장해버리는 테마 제작자들도 늘어나고 있다. 그리고 이 정도까지는 아니더라도 최소한 Elementor와 충돌은 안 나는 수준의 업데이트는 기본으로 진행하고 있다.
  16. [16] 그러니까 자신의 wordpress.com 계정 프로필에 자신의 블로그 도메인을 등록하도록 하자.
  17. [17] 영어를 할 줄 알아야 하고, 남의 코드를 볼 줄 알아야 하고, git을 쓸 줄 알아야 한다.
  18. [18] 특히 이제 막 PHP 기초를 벗어난 프로그래밍 초보들.
  19. [19] 오늘날 모든 응용 프로그래밍에서 언어는 필수 소양일 뿐이고 해당 플랫폼이 제공하는 API, 프레임워크 등에 대한 깊은 이해가 필요하며 그런 플랫폼 사용에 필요한 학습량이 언어공부보다 배로 많다.
  20. [20] 남의 플러그인을 자신의 테마 패키지에 넣어서 함께 배포하려면 라이선스를 검토해야겠다.
  21. [21] 대표적으로 글쓰기 편집기 ACF나 Elementor 같은 플러그인.
  22. [22] 바른미래당 웹사이트를 들어가 보면 "다른 워드프레스 사이트"라고 뜬다.(...)

최종 확인 버전:

cc by-nc-sa 2.0 kr

Contents from Namu Wiki

Contact - 미러 (Namu)는 나무 위키의 표가 깨지는게 안타까워 만들어진 사이트입니다. (108.92ms)