smart editor를 연결하는데, editor.php.lib 파일을 어떻게 작성해야하는지 모르겠습니다.

smart editor를 연결하는데, editor.php.lib 파일을 어떻게 작성해야하는지 모르겠습니다.

QA

smart editor를 연결하는데, editor.php.lib 파일을 어떻게 작성해야하는지 모르겠습니다.

본문

일단 3개의 함수의 내용을 채워야 하는지는 알겠고, gc_editor_html에 에디터 html을 넣으면 되겠는데...

html에서 사용할 javascript file을 어디에 add시켜야할지 모르겠습니다;;

 

예전에 어떤 분이 올려주신 smartEditor 압축파일은 지금 그누커머스와 연동이 안되더라구요...

 

질문은,

1. <script type="text/javascript src="js/[file name]" ></script> 이걸 어느 함수에 어떻게 추가해야되는지..

2. gc_get_editor_js는 js file을 add시켜주는 함수인가요?

 

염치불구하고 코드를 붙여넣겠습니다.

 

읽어주셔서 감사합니다.

 


<?php
if( ! defined( 'ABSPATH' ) ) exit; // 개별 페이지 접근 불가
 
/*
    환경설정에서 에디터 선택이 없는 경우에 사용하는 라이브러리 입니다.
    에디터 선택시 "선택없음"이 아닌 경우 plugin/editor 하위 디렉토리의 각 에디터이름/editor.lib.php 를 수정하시기 바랍니다.
*/
 
Class GC_wp_editor{
 
    public static function init() {
        add_filter('gc_editor_return_html', array( __CLASS__, 'gc_editor_html' ), 10, 3 );
        add_filter('gc_get_editor_script', array( __CLASS__, 'gc_get_editor_js' ), 10, 2 );
        add_filter('gc_chk_editor_script', array( __CLASS__, 'gc_chk_editor_js' ), 10, 2 );
    }
 
    public static function gc_editor_html($return_content, $id, $content)
    {
        if (!defined('GC_BOARD_USE')){      //현재 게시판에서만 사용되게 한다.
            return $return_content;
        }
        ob_start();
 
        $html ="
        <script type=\"text/javascript\" src=\"js/HuskyEZCreator.js\" charset=\"utf-8\"></script>
        <h1>Delete todo My First Heading</h1>                                               
        <textarea name=\"content\" id=\"content\" rows=\"45\" style=\"width:500px;\"></textarea>
                                                                                
                                                                                
    <script type=\"text/javascript\">                                             
        var oEditors = [];                                                      
        nhn.husky.EZCreator.createInIFrame({                                    
            oAppRef: oEditors,                                                  
            elPlaceHolder: \"content\",                                           
            sSkinURI:\"SmartEditor2Skin.html\",                                   
            fCreator:\"createSEditor2\"                                           
        });                                                                     
    </script>
 
";
 
        //wp_editor($content, $id);
        return $html;
    }
 
 
    // textarea 로 값을 넘긴다. javascript 반드시 필요
    public static function gc_get_editor_js($return_content, $id)
    {
        if (!defined('GC_BOARD_USE')){      //현재 게시판에서만 사용되게 한다.
            return $return_content;
        }
        //$js_code = "var {$id}_wp_editor = tinyMCE.get('$id');\n";
        //$js_code = "var {$id}_wp_editor = tinyMCE.editors['$id'];\n";
        //return $js_code;
        return "var {$id}_editor = document.getElementById('{$id}');\n";
        //$js_code = "var {$id}_wp_editor = tinyMCE.editors['$id'];\n";
        //return $js_code;
    }
 
 
    //  textarea 의 값이 비어 있는지 검사
    public static function gc_chk_editor_js($return_content, $id)
    {
        if (!defined('GC_BOARD_USE')){      //현재 게시판에서만 사용되게 한다.
            return $return_content;
        }
        return "jQuery('#{$id}-tmce').trigger('click');if (!jQuery.trim({$id}_wp_editor.getContent())) { alert(\"내용을 입력해 주십시오.\"); {$id}_wp_editor.focus(); return false; }\n";
    }
}
 
GC_wp_editor::init();
?>

이 질문에 댓글 쓰기 :

답변 1

안녕하세요.

 

워드프레스의 특성이 플러그인이나 테마를 자동 업데이트 하게 되면, 추가한 코드나 커스터마이징한 코드들이 전부 날라가게 됩니다. ( 그냥 초기화 됩니다. )

 

그래서 플러그인 같은 경우 커스터마이징 하고 싶다면 child 테마를 만들거나 별도의 플러그인을 만들고,

 

테마의 경우 child 테마를 만들어서 수정을 합니다.

 

수정은 hook 함수 ( add_action, add_filter, 기타 등등 ) 이용해서 해야 합니다.

 

질문내용과 같이 플러그인 등을 수정한다면, 나중에 자동 업데이트를 하게 되면 작업해 둔 것이 초기화 될것입니다. 따라서 질문내용과 같은 작업은 권하지 않습니다.

 

제가 나중에 시간이 되면 워드프레스 팁 게시판에 add_action 함수나 add_filter 함수를 이용해서 어떻게 스마트에디터로 변경할수 있는지 코드를 적어 놓겠습니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 826
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT