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

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

QA

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

답변 1

본문

일단 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 함수를 이용해서 어떻게 스마트에디터로 변경할수 있는지 코드를 적어 놓겠습니다.

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 125,873
© SIRSOFT
현재 페이지 제일 처음으로