prosource

Wordpress 메타 상자에 wysiwyg 편집기를 추가하는 방법

probook 2023. 4. 3. 21:36
반응형

Wordpress 메타 상자에 wysiwyg 편집기를 추가하는 방법

커스텀 투고 타입의 메타 박스를 만들고 있습니다.wysiwyg 에디터를 사용하고 싶은 필드가 여러 개 있습니다.<textarea>메타박스에 여러 에디터를 추가할 수 있습니까?

도와주면 정말 고맙겠습니다!

대단히 고맙습니다.다샤

풀코드의 예를 다음에 나타냅니다.

add_action( 'add_meta_boxes',  function() { 
    add_meta_box('html_myid_61_section', 'TITLEEEEE', 'my_output_function');
});

function my_output_function( $post ) {
    $text= get_post_meta($post, 'SMTH_METANAME' , true );
    wp_editor( htmlspecialchars($text), 'mettaabox_ID', $settings = array('textarea_name'=>'MyInputNAME') );
}

add_action( 'save_post', function($post_id) {
    if (!empty($_POST['MyInputNAME'])) {
        $datta=sanitize_text_field($_POST['MyInputNAME']);
        update_post_meta($post_id, 'SMTH_METANAME', $datta );
    }
}); 

P.S. MUST-제 경험상 권장사항:

커스텀 코드를 추가하지 않아도, 고도의 커스텀 필드를 사용할 수 있습니다.뛰어난 조작성과 심플한 조작성을 실현합니다.

http://codex.wordpress.org/Function_Reference/wp_editor은 3.3 이후 Wordpress에 내장된 가장 쉬운 방법입니다(따라서 업그레이드;-).

// for custom post type

function wo_second_editor($post) {

  echo "<h3>Write here your text for the blue box on the right:</h3>";
  $content = get_post_meta($post->ID, 'wo_blue_box' , true ) ;
  wp_editor( htmlspecialchars_decode($content), 'wo_blue_box', array("media_buttons" => false) );
}

add_action('edit_form_advanced', 'wo_second_editor');


function wo_save_postdata($post_id, $post, $update) {

  //...

  if (!empty($_POST['wo_blue_box'])) {
    $data=htmlspecialchars($_POST['wo_blue_box']);
    update_post_meta($post_id, 'wo_blue_box', $data );
  }
}

add_action('save_post', 'wo_save_postdata');


// Theme:

<div class="blue">
  <?php
  $content = get_post_meta(get_the_ID(), 'wo_blue_box' , true );
    $content = htmlspecialchars_decode($content);
    $content = wpautop( $content );
    echo $content;
  ?>
</div>

그러나 커스텀 템플릿의 텍스트 영역에는 Toogle JS 문제가 있기 때문에 프레젠테이션을 nl2br() 함수로 대체해야 합니다.이것에 의해, 모든 커스텀템플릿이 삭제됩니다.<P>그리고.<br/>모든 행이 끊어집니다.

metabox에서 wordpress default text editor라는 단어를 사용할 수 있습니다.

add_action( 'edit_page_form', 'my_second_editor' );
function my_second_editor() {
    // get and set $content somehow...
    wp_editor( $content, 'mysecondeditor' );
}

커스텀 필드 템플릿플러그인 http://wordpress.org/extend/plugins/custom-field-template/을 사용해 보겠습니다.

이게 날 속였어

http://www.farinspace.com/multiple-wordpress-wysiwyg-visual-editors/

기본적으로 ID를 사용하여 텍스트 영역을 만들고 js:에서 호출하는 것입니다.

tinyMCE.execCommand('mceAddControl', false, 'your_textarea_id');

도움이 됐으면 좋겠다!

먼저 TinyMCE Advanced 플러그인을 설치합니다.두 번째 텍스트 영역에 다음과 같이 "The Editor" 클래스를 추가합니다.

<textarea  class="theEditor" name="custom_meta_box"></textarea>

이상입니다;)

나빌

언급URL : https://stackoverflow.com/questions/3493313/how-to-add-wysiwyg-editor-in-wordpress-meta-box

반응형