smart editor를 연결하는데, editor.php.lib 파일을 어떻게 작성해야하는지 모르겠습니다. 채택완료
일단 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개
안녕하세요.
워드프레스의 특성이 플러그인이나 테마를 자동 업데이트 하게 되면, 추가한 코드나 커스터마이징한 코드들이 전부 날라가게 됩니다. ( 그냥 초기화 됩니다. )
그래서 플러그인 같은 경우 커스터마이징 하고 싶다면 child 테마를 만들거나 별도의 플러그인을 만들고,
테마의 경우 child 테마를 만들어서 수정을 합니다.
수정은 hook 함수 ( add_action, add_filter, 기타 등등 ) 이용해서 해야 합니다.
질문내용과 같이 플러그인 등을 수정한다면, 나중에 자동 업데이트를 하게 되면 작업해 둔 것이 초기화 될것입니다. 따라서 질문내용과 같은 작업은 권하지 않습니다.
제가 나중에 시간이 되면 워드프레스 팁 게시판에 add_action 함수나 add_filter 함수를 이용해서 어떻게 스마트에디터로 변경할수 있는지 코드를 적어 놓겠습니다.
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
좋은 하루 보내세요~!