테스트 사이트 - 개발 중인 베타 버전입니다

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

hklee 9년 전 조회 8,665

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

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

 

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

 

질문은,

1. 이걸 어느 함수에 어떻게 추가해야되는지..

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

 

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

 

읽어주셔서 감사합니다.

 

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

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

채택된 답변
+20 포인트
thisgun
9년 전

안녕하세요.

 

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

 

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

 

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

 

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

 

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

 

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

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

h
hklee
9년 전
답변 감사합니다^^
좋은 하루 보내세요~!

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인