WordPress KBoard content 편집

 

WordPress와 KBoard 게시판을 사용하여 오비컨 홈페이지를 작성 하였습니다. KBoard를 사용하고 있는데 게시물이 표시될 때 아무곳에나 <br /> 테그가 붙어 보기가 좋지 않습니다. 모든 것을 한번에 수정하기에는 시간이 많이 걸려 우선 간단하게 수정하여 사용해 봅시다.

KBoard context 편집

wp-content/plugins/kboard/class/KBoardBuilder.class.php 파일의 function builderDocument() 함수가 게시판의 본문 페이지를 생성 합니다. 본문 내용은 nl2br() 함수를 사용하여 New_Line 대신에 <br /> 테그를 붙이기 때문에 이후 content를 수정합니다.

$content->content = nl2br($content->getContent());

$content->content = apply_filters(‘kboard_content’, $content->getContent(), $content->uid, $this->board_id);

Child Theme의 functions.php 파일에 다음을 추가 합니다. 아래 코드를 추가하면 목록 같은 곳에서 빈라인이 추가되는 것이 사라집니다. 일부 라인이 붙는 부분은 공백 또는 엔터를 사용하여 편집 하세요.

add_filter(‘kboard_content’, ‘obcon_kboard_content’);
function obcon_kboard_content($content) {
$content = str_replace(‘><br />’, ‘>’, $content);
return $content;
}

참고 문헌

 

 

오비컨
2018.02.05 ~ 2018.02.05, ver 0.01

 

WordPress Dropin의 종류

WordPress의 Plugin의 종류중에는 dropin이라는 것이 있습니다. dropin은 플러그인이지만 WordPress의 원래 기능을 개선할 수 있는 것으로 다음과 같은 종류가 있습니다.

 

Dropin의 종류

  • Advanced caching plugin : advanced-cache.php
  • Custom database class : db.php
  • Custom database error message : db-error.php
  • Custom installation script : install.php
  • Custom maintenance message : maintenance.php
  • External object cache : object-cache.php
  • For multi-site
    • Executed before Multisite is loaded : sunrise.php
    • Custom site deleted message : blog-deleted.php
    • Custom site inactive message : blog-inactive.php
    • Custom site suspended message : blog-suspended.php

 

오비컨

2018.01.32 ~ 2018.01.31, ver 0.01

도로명 주소 Plugin 개발 계획 ver 0.02

 

WordPress로 Theme를 만들기전에 Plugin을 만들어 보려고 합니다.
가장 일반적으로 많이 사용할 수 있는 “도로명 주소”를 찾아주는 Juso Plugin을 만들 예정 입니다.
몇년전에 Cloud 홈페이지 구축시 만들어서 사용을 했었는데, 별도로 개발과 관련된 사항을 정리를 해서 올리 겠습니다.
주요 기능
  • 화면에 “우편번호 검색” 버튼을 추가 합니다.
  • 도로명 주소를 검색해서 가져 옵니다.
    • 기본 설정 항목 : 우편번호, 주소, 상세 주소
    • 추가 설정 항목 : 국가, 우편번호, 주, 시/도, 주소
      • 외국 사이트를 위해서 추가 설정 항목을 지정할 수 있도록 합니다.
  • 도로명 주소는 http://www.juso.go.kr/ 사이트에서 가져 옵니다.
도로명주소 검색 프로세스
Juso Plugin 화면에서 도로명 주소를 가져오는 단계를 정리 합니다.
1 단계 : 화면의 특정 필드 옆에 “우편번호 검색” 버튼을 추가 합니다.
2 단계 : “우편번호 검색” 버튼을 선택하면 도로명 주소를 검색할 수 있는 새창을 표시 합니다.
         새 창에서 도로명으로 주소를 검색 합니다.
         이 페이지는 도로명주소 안내시스템 사이트에서 제공 합니다.
3 단계 : 위 화면에서 도로명 주소를 선택한 후 상세 주소를 입력 합니다.
         이 페이지는 도로명주소 안내시스템 사이트에서 제공 합니다.
4 단계 : 위 화면에서 “주소입력” 버튼을 선택하여 주소를 필드에 저장 합니다.
참고 사이트
2017.12.11 ~ 2017.12.16, ver 0.02

 

[WordPress] Juso Plugin 0.0.1

 

WordPress에서 도로명주소를 검색하는 플러그인을 개발 합니다.
Juso 0.0.1 버전으로 플러그인의 기본 골격을 생성 합니다.
Juso Plugin의 기본 구조
  • juso/                                #— Juso 플러그인을 저장하기 위한 폴더 (옵션)
    • juso.php                    #— Plugin 정의 파일 (필수). 임의의 이름으로 작성할 수 있습니다.
    • LICENSE.txt                #— 플러그인의 라이선스 정보를 저장하는 파일 (옵션)
    • README.txt                #— Plugin에 대한 여러가지 설명을 입력 하세요 (옵션)
juso/ 폴더는 편의상 Plugin에 속한 파일을 폴더에 넣어 두기 위한 폴더로 반드시 필요하지는 않습니다. 그렇지만 일반적으로 플러그인용으로 폴더를 만들고 관리하는 것이 좋습니다.
juso.php 파일
플러그인을 정의하는 파일이며 index.php, obcon.php 등 다른 이름으로 생성해도 됩니다.
파란색으로 표시된 부분을 작성하여야 합니다.
vi  juso.php

<?php
/**
 * @package Juso
 */
/*
Plugin Name: Juso                                        #— 플러그인의 이름
Plugin URI: http://www.obcon.biz/                      #— 플러그인의 URI. 향후 Github 등에 배포하면 변경 예정
Description: 도로명 주소                                  #— 플러그인 설명
Version: 0.0.1                                             #— 플러그인 버전
Author: 오비컨                                             #— 작성자
Author URI: http://www.obcon.biz/                      #— 작성자의 URI
License: GPLv2 or later                                   #— 플러그인에 적용되는 라이선스
Text Domain: obcon
*/
 
/*
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
 
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.
 
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
 
Copyright 2017-2017 OBCon, Inc.
*/
 

?>

Plugin 배포
juso/ 폴더 전체를 zip 파일로 압축 합니다.
WordPress 관리자 화면에서 다음과 같이 작업 합니다.
  • “플러그인 > 플러그인 추가하기” 메뉴에서 “플러그인 업로드” 버튼을 선택 합니다.
  • zip 파일을 선택한 후 “지금 설치하기” 버튼을 선택 합니다.
  • 설치된 플러그인을 “활성화”해서 사용 하세요.
2017.12.16 ~ 2017.12.16, ver 0.01

juso_001

[WordPress] Plugin 개발 – 도로명 주소 Plugin 개발 계획

 

 

WordPress로 Theme를 만들기전에 Plugin을 만들어 보려고 합니다.
가장 일반적으로 많이 사용할 수 있는 “도로명 주소”를 찾아주는 Plugin을 만들 예정 입니다.
몇년전에 Cloud 홈페이지 구축시 만들어서 사용을 했었는데, 별도로 개발과 관련된 사항을 정리를 해서 올리 겠습니다.
주요 기능
  • 화면에 “우편번호 검색” 버튼을 추가 합니다.
  • 도로명 주소를 검색해서 가져 옵니다.
    • 기본 설정 항목 : 우편번호, 주소, 상세 주소
    • 추가 설정 항목 : 국가, 우편번호, 주, 시/도, 주소
      • 외국 사이트를 위해서 추가 설정 항목을 지정할 수 있도록 합니다.
  • 도로명 주소는 http://www.juso.go.kr/ 사이트에서 가져 옵니다.
참고 사이트
  • http://www.juso.go.kr/openIndexPage.do
2017.12.11 ~ 2017.12.11, ver 0.01

 

 

[홈페이지] WordPress – Text Domain (한글 적용)

WordPress에서 테마의 한글 파일이 위치하는 폴더는 wp-content/languages/themes/ 폴더 입니다. 여기에 아래 형식의 파일을 두면 한글이 적용 됩니다.
  • ${Theme의 Text Domain}-ko_KR.po
  • ${Theme의 Text Domain}-ko_KR.mo
일반적으로 테마의 텍스트 도메인은 테마명과 일치하는데 반드시 그렇지는 않습니다. Enfold Them에서 텍스트 도메인을 확인해 봅시다.
Theme의 Text Domain 확인 방법

#— Enfold Theme에서 Text Domain을 확인하는 사례 입니다.
cd  wp-content/themes/enfold

grep  textdomain  *.php               #— grep으로 확인할 결과 Theme의 Text Domain은 “avia_framework” 입니다.
functions.php:          load_theme_textdomain(‘avia_framework‘, $lang);

#— WordPress에 적용 방법
cd  wp-content/languages/themes
#—     여기에 아래 두 파일을 두면 한글이 적용 됩니다.
#         avia_framework-ko_KR.po
#         avia_framework-ko_KR.mo

Plugin의 Text Domain 확인 방법
Plugin도 Theme와 유사하게 Text 도메인을 확인할 수 있습니다.

#— KBoard Plugin에서 Text Domain을 확인하는 사례 입니다.
cd  wp-content/plugins/kboard

grep  textdomain *.php                            #— grep으로 확인한 결과 Plugin의 Text Domain은 “kboard” 입니다.
index.php:      load_plugin_textdomain(‘kboard‘, false, dirname(plugin_basename(__FILE__)) . ‘/languages’);

2017.11.09 ~ 2017.11.09, ver 0.01

[홈페이지] [이메일 송신] WP Mail SMTP Plugin

Plugin 이름 : WP Mail SMTP
SMTP (25 Port)와 SSL(465 Port), TLS (587 Port) 방식의 SMTP를 지원 합니다.
SMTP Port
  • SMTP : 25 port
  • SSL : 465 port
  • TLS : 587 port
SMTP 발송 확인

telnet  메일서버  메일포트
helo obcon                            #— 메일 서버와 인사를 합니다. 일부 메일 서버는 사용하지 않습니다.
auth login                              #— 인증이 필요한 사용 합니다. (다음 2라인 포함)
#— 로그인 아이디를 Base64로 인코딩하여 입력 합니다.
#— 비밀번호를 Base64로 인코딩하여 입력 합니다.
mail from: sales@obcon.biz         #— 봉투에 사용되는 보내는 사람 이메일 주소
rcpt to: test@obcon.biz              #— 봉투에 사용되는 받는 사람 이메일 주소
data
From: sales@obcon.biz              #— 보내는 사람 이메일 주소
To: test@obcon.biz                   #— 받는 사람 이메일 주소
Subject: 이메일 제목
#— 반드시 여기서 한줄을 띄워야 합니다.
메일 본문
메일 본문 계속
.                                        #— 메일 본문을 종료하고 이메일을 발송 합니다.
quit                                     #— telnet 종료

2017.11.03 ~ 2017.11.03, ver 0.01

[홈페이지] [게시판] WordPress – KBoard Plugin

두말할 필요없이 워드프레스 사용자에게 유명한 KBoard 게시판과 댓글 플러그인 입니다. KBoard는 GNU GPL License이므로 KBoard 사이트에서 플러그인을 다운로드 받아 워드프레스의 /wp-content/plugins 폴더에 설치 합니다.
Plugin 설치
먼저 KBorad 사이트에서 설치 프로그램을 다운로드 합니다.
  • “플러그인 > 플러그인 추가하기” 메뉴에서 “플러그인 업로드” 버튼을 선택 합니다.
  • 다운로드 받은 플러그인 파일을 선택하고 “지금 설치하기”를 선택 합니다.
  • 설치가 완료되면 “플러그인을 활성화” 버튼을 선택하여 플러그인을 사용 합니다.
Plugin 재설치 (업그레이드 포함)
먼저 KBorad 사이트에서 다운로드 받은 설치 프로그램을 ftp를 사용하여 서버의 /work/install/ 폴더에 올려놓은 다음에 작업 합니다.

cd  /work/install

unzip  kboard-wordpress-plugin-5.3.4.zip
chown  -R  nginx:nginx  kboard  kboard-comments
mv kboard /usr/share/nginx/html/wordpress/wp-content/plugins

unzip  kboard-comments-wordpress-plugin-4.4.2.zip
chown  -R  nginx:nginx  kboard  kboard-comments
mv kboard-comments /usr/share/nginx/html/wordpress/wp-content/plugins

참고 문헌
2017.10.30 ~ 2017.10.30, ver 0.01

[Plugin] [게시판] KBoard Plugin

 

 

두말할 필요없이 워드프레스 사용자에게 유명한 KBoard 게시판과 댓글 플러그인 입니다. KBoard는 GNU GPL License이므로 KBoard 사이트에서 플러그인을 다운로드 받아 워드프레스의 /wp-content/plugins 폴더에 설치 합니다.
Plugin 설치
먼저 KBorad 사이트에서 설치 프로그램을 다운로드 합니다.
  • “플러그인 > 플러그인 추가하기” 메뉴에서 “플러그인 업로드” 버튼을 선택 합니다.
  • 다운로드 받은 플러그인 파일을 선택하고 “지금 설치하기”를 선택 합니다.
  • 설치가 완료되면 “플러그인을 활성화” 버튼을 선택하여 플러그인을 사용 합니다.
Plugin 재설치 (업그레이드 포함)
먼저 KBorad 사이트에서 다운로드 받은 설치 프로그램을 ftp를 사용하여 서버의 /work/install/ 폴더에 올려놓은 다음에 작업 합니다.

cd  /work/install
unzip  kboard-wordpress-plugin-5.3.4.zip
chown  -R  nginx:nginx  kboard  kboard-comments
mv kboard /usr/share/nginx/html/wordpress/wp-content/plugins

unzip  kboard-comments-wordpress-plugin-4.4.2.zip
chown  -R  nginx:nginx  kboard  kboard-comments
mv kboard-comments /usr/share/nginx/html/wordpress/wp-content/plugins

 

참고 문헌
2017.10.30 ~ 2017.10.30, ver 0.01

Elastic Search – JVM Plugin

 

 

jar 파일로 JVM Plugin을 구성 합니다.

es-plugin.properties 파일

  • plugin=org.elasticsearch.plugin.analysis.kr.AnalysisKoreanPlugin : Plugin 등록 파일
    • org.elasticsearch.plugins.AbstractPlugin 파일을 구현한 class
  • version=~ : Plugin 버전
  • description=~ : Plugin 설명
  • lucene=~ : Lucene 버전

Plugin 등록 파일 구성

종류 관련 class 상세
name() Plugin 이름
description() Plugin 설명
modules() Module Node level modules
org.elasticsearch.plugins.PluginsModule
indexModules() Module Per index modules
org.elasticsearch.plugins.IndexPluginsModule
shardModules() Module Per index shard module
org.elasticsearch.plugins.ShardPluginsModule
services() LifecycleComponent Node level services
indexServices() CloseableIndexComponent Per index services
shardServices() CloseableIndexComponent Per index shard services
processModule() Module
additionalSettings() Plugin이 로딩될 때 추가되는 node 설정
onModule(AnyModule module) 모듈이 로딩될 때, 실행되는 함수

 

파일