본문 바로가기
wordpress

워드프레스 KBoard 게시판 커스터마이징

by ninanio3 2016. 7. 30.

 

워드프레스 KBoard  게시판 커스터마이징

- 글 작성화면에서, 작성자의 정보를 받고 싶을 때




KBoard 게시판에서, 기본정보외에 다른 정보도 받고 싶은 경우가 있을 것입니다.

 

저는 이메일주소를 받고 싶었습니다. 그래서 아래 이미지와 같이, 이메일 관련 칸을 만들었습니다.

(명칭만 이메일이지, 관리자가 원하는 제목으로 바꾸시면 될거 같습니다)

 

아래는 제가 실제로 운영중인 병원관련 워드프레스 사이트의 KBoard 게시판입니다. 

 

소아과 상담게시판용도로 사용하고 있습니다. 

 

 

 


본론으로 들어갑시다.

 

개발자나 웹디자인 하시는 분들이라면야 화면에 빈칸하나 추가하는 것은 일도 아니겠죠. 복사 붙여넣기 신공이면, 10초면 박스하나 만들어지겠죠!!


 

 

하지만, 일반일들이 원하는 형태의 게시판을 운영하기란 어려운 일입니다.


 


간단하게나마 도움이 되고자 포스팅 합니다. 칸만 만들어 줬다고 해서, 우리의 워드프레스 데이터베이스에 등록이 되는걸 까요?


절대 아닙니다!! 일련의 과정을 거쳐야 작성하신 내용과 이름등이 데이터베이스에 등록이 되는 것입니다.


그 과정을 이 포스팅에서 하고자 합니다.

 

 

프로그래밍을 몰라도 따라하실 수 있게, 추가해야될 것만 찝어 드리겠습니다. 그대로 따라하시면 됩니다.


긴장하셔야 합니다. 잘 따라오세요!! 그리고 원본은 반드시 백업을 하셔야 합니다. 혹시 잘못 키보드를 눌러서 되돌릴 수 없는 불상사


를 만들지 않으시려면 말이죠. * 따라하시다가 잘못된 것은 절대로 제가 책임은 못집니다!! *



우선 제가 이메일 주소란을 만든 목적에 대한 내용을 말씀드리도록 하겠습니다. 


이메일 주소란 을 만든 목적!!


목적

 

사용자가 질문이 있어, 게시판에 글을 올릴 경우에 관리자는 답변을 하게 되는데, 사이트 관리자가 답변작성시 질문을 올린 작성자에게 답변이 달렸다는 것을 알리기 위한 메일을 발송하기위한 기능을 추가하기 위해서 이메일란을 만들었습니다.

 

궁극적인 목표가, 칸 만들기가 아니라는 것입니다.

 


 

긍정적인 영향

 

사용자가 일일히 게시판을 수시로 드나들며 확인을 해야하는 불편함을 없애줍니다.

질문을 올린글에 대해, 답변이 달렸음을 이메일로 알림받음으로써 사용자는 사이트에 좀더 친절함을 느끼지 않을까라는 생각을 합니다.


 

 

제가 이메일란을 만든 목적이었고, 각설하고 본론으로 들어갑시다.



작업순서에 대해 먼저 말씀드리겠습니다.

 

  1. 글쓰기 화면을 먼저 찾습니다(이메일란을 추가하기 위한 파일찾기)
  2. 글쓰기 화면에 이메일란을 만들기 위한 소스코드를 추가할 것입니다(소스코드를 추가해야 이메일을 넣을 수 있는 박스가 생긴다)
  3. 작성한 이메일이 데이터베이스에 저장이 되어야 하는데, 데이터베이스에 이메일이 저장되기 위한 공간을 생성할 것입니다(테이블 컬럼추가)
  4. 데이터베이스에 입력을 위한 일련의 과정들속에서 동작하는 함수들을 수정할 것입니다.
  5. 이상 위의 작업순서가 진행이 된 후에, 글쓰기 작성시 이메일을 입력하고 저장버튼을 눌러서, 데이터베이스 테이블을 확인하는 과정을 보여드리도록 하겠습니다.

 

 

 

 

위의 과정을 거치게 되면, 글쓰기화면에서 사용자가 입력한 이메일이 데이터베이스로 저장이 됩니다. 이 포스팅에서는 여기까지만 합니다.


그리고, 이 포스팅 이후의 추가할 기능들에 대해 말씀드리도록 하겠습니다.


1. 이메일란 체크기능(이메일 입력시, 이메일 형식에 맞게 입력했는지 확인하는 기능)

2. 관리자가 질문글에대해 답변등록시, 메일전송기능


상위 두가지 기능을 추가할 예정 입니다.


자 이제 진짜 갑니다

 

 

작업순서 1

​글쓰기 화면이 있는 경로 찾기(워드프레스가 설치된 경로, 저는 wordpress라는 웹애플리케이션 명칭대신 ms2라고 사용합니다)


 


 

 

 

 

 

작업순서 2

editor.php 파일에 소스추가(이메일이 보여질 수 있는 소스코드 추가)

​하얀박스친 부분이 추가한 소스입니다. 기존의 코드를 복사해서 붙여넣었습니다. 이렇게 소스추가하시고 확인해보시면 이메일란이 추가가 된모습을 보실수 있을 것입니다. 결과화면은 본인이 설치한 워드프레스 글쓰기 화면을 보세요.


 

 

 

 

 


작업순서 3

​데이터베이스에 작성자가 입력한 이메일을 저장하기 위한 공간을 생성할 것입니다(테이블에 컬럼추가하는 작업) 


작업순서 3 과정요약

 

  1. 브라우저를 엽니다.
  2. 주소창에 http://운영하시는사이트주소/phpmyadmin을 합니다.
  3. 데이터베이스 서버 아이디와 주소를 입력하고 접속합니다.
  4. 글작성시 입력하는 데이터가 저장되는 테이블을 찾고, 컬럼을 추가할 것입니다(이메일주소가 저장되기 위한 공간생성)

 

 

 

 

3.1~3번 과정입니다.

 

 

 

 

자신이 사용하는 테이블을 찾습니다. 저는 mobilssoa라는 테이블을 사용합니다. 각자 워드프레스설치시 입력했던, 데이터베이스를 찾으시면 됩니다. 해당, 데이터베이스를 누르시면 테이블이 많이 보이실텐데요. 

 

 

그중에, 글등록과 관련된 테이블은 wp_kboard_board_contnet​ 입니다. 이테이블에, 이메일 컬럼을 하나 만들어 줍니다.

저는 author_email 이라고 만들것입니다.

 

 

3.4-1 테이블에 컬럼추가

화면에서 좌측에서  wp_kboard_board_content를 누른후에, 구조탭을 누르면 하단의 컬럼추가와 관련된 부분이 나옵니다.

아래 이미와같이, 1을 입력하시고 1을 누릅니다.


 

 

 

3.4-2 컬럼을 지정하는 부분이 나옵니다.

아래이미지와 같이 입력하고 실행을 누릅니다.

 

 

 

 

저장을 누르시면 테이블 맨아래, author_email 컬럼이 추가된 것을 보실 수 있습니다.

 

 

 

 

잘 따라오고 계신가요? 아직까지는 쉽네요~

거의 끝나갑니다. 힘드시면 쉬었다 하세요


 

 

 

작업순서 4

- ​글을쓰고나면, 내용들이 쿼리문과 결합되어 데이터베이스에 등록이 됩니다. 등록하는 부분을 찾아 코드를 추가하능 과정을 진행할 것입니다. 자 이제 정말 중요한 부분입니다. 긴장을 놓치시면 큰일 납니다.

 

 

kboard\class\KBContent.class를 수정할 것입니다. 이클래스는 KBoard 게시판 등록과 관련된 일을 처리하는 클래스 입니다.

클래스가 뭔지 몰라도 됩니다. 제가 말씀드리는 부분만 추가해주세요.

 

 

KBContent.class 를 편집기로 열어주세요(저는 SublimeText2 라는 툴을 사용합니다. 이 툴을 이용해서 소스를 편집하는 중입니다)


 

소스파일을 여시고 function execute() 를 찾습니다. 게시물 등록과 관련된 일을 하는 메소드 입니다. 

아래와 같이 소스코드를 추가 합니다.

 

 

 

 

이번에는 _insertContent()함수를 찾아 소스코드를 추가할 것입니다. 

같은 파일에서 ctrl + f 를 눌러 _insertContent()를 찾고, 아래와 같은 소스코드를 입력합니다.

 

 

 

 

이번엔 insertPost()라는 함수를 찾습니다. ctrl + f 누르신 후 찾으시면 됩니다. 그리고 아래와 같이 소스코드 추가 합니다.

 

 

 

끝났네요...하다보니 끝나네요. 원본은 반드시 백업하시고 진행하세요. 괜히 수고해서 만드신 사이트 망칠 수 있으니 말이죠.

 

 

출처 : http://blog.naver.com/PostView.nhn?blogId=seotaji&logNo=220063362062&parentCategoryNo=&categoryNo=185&viewDate=&isShowPopularPosts=false&from=postView