WP 3.9 TinyMCE không còn tải trên trình chỉnh sửa mô tả danh mục


8

Tôi đã sử dụng tập lệnh này bên dưới bên trong Hàm.php kể từ WP 3.5

Nó chuyển đổi trình soạn thảo mô tả danh mục tiêu chuẩn thành trình soạn thảo văn bản phong phú. Thật không may, sau khi nâng cấp các trang web lên WP 3.9, trình chỉnh sửa mô tả đã trở lại một vùng văn bản tiêu chuẩn.

Bất kỳ ý tưởng những gì tôi cần thay đổi cho 3.9?

add_action('load-categories.php', 'cb_admin_init');
add_action('load-edit-tags.php', 'cb_admin_init');

function cb_admin_init()
{
    if ( user_can_richedit() && isset($_GET['action']) && 'edit' === $_GET['action'] && ( !empty($_GET['cat_ID']) || ( !empty($_GET['taxonomy']) && !empty($_GET['tag_ID']) ) ) ){
        add_filter( 'tiny_mce_before_init', 'cb_mceinit');
        add_action('admin_footer', 'wp_tiny_mce');
        add_action('admin_head', 'cb_head');
    }
}

function cb_mceinit($init)
{
    $init['mode'] = 'exact';
    $init['editor_selector'] = 'description';
    $init['elements'] = 'category_description,description';
    $init['plugins'] = 'safari,inlinepopups,spellchecker,paste,fullscreen';
    $init['theme_advanced_buttons1'] .= ',image';
    $init['theme_advanced_buttons2'] .= ',code';
    $init['onpageload'] = '';
    $init['save_callback'] = '';
    return $init;
}

function cb_head()
{
wp_enqueue_style('editor-buttons');
    ?>
<style type="text/css">#category_description_tbl,#description_tbl{border:1px solid #dfdfdf;}.wp_themeSkin .mceStatusbar{border-color:#dddddd;}</style><?php
}


add_action('init', 'cb_editor_init');

Bạn đang thiếu chức năng cb_editor_init trong mẫu mã
NoBugs

Câu trả lời:


1

Tôi đã có cùng một vấn đề và vấn đề thực sự đến từ cách js tự động tạo ra tinyMCE.

Trước v.4, đó là:

tinymce.EditorManager.execCommand('mceAddControl', true, id);

Với 4, bạn cần sử dụng:

tinymce.EditorManager.execCommand('mceAddEditor', true, id);

Hãy xem bất cứ nơi nào chức năng của bạn 'wp_tiny_mce' - có thể ở đó.


1

Dưới đây là mẫu mã hoàn chỉnh để làm điều này. Xem liên kết tham khảo cũng.

// Add term page
function pippin_taxonomy_add_new_meta_field() {
    // this will add the custom meta field to the add new term page
    ?>
    <div class="form-field">
        <label for="term_meta[custom_term_meta]"><?php _e( 'Example meta field', 'pippin' ); ?></label>
        <?php wp_editor( $content,'term_meta[custom_term_meta]') ?>
        <p class="description"><?php _e( 'Enter a value for this field','pippin' ); ?></p>
    </div>
<?php
}
add_action( 'category_add_form_fields', 'pippin_taxonomy_add_new_meta_field', 10, 2 );
add_action( 'category_add_form_fields', 'pippin_taxonomy_add_new_meta_field', 10, 2 );


add_action( 'genres_add_form_fields', 'pippin_taxonomy_add_new_meta_field', 10, 2 );

// Edit term page
function pippin_taxonomy_edit_meta_field($term) {

    // put the term ID into a variable
    $t_id = $term->term_id;

    // retrieve the existing value(s) for this meta field. This returns an array
    $term_meta = get_option( "taxonomy_$t_id" ); ?>
    <tr class="form-field">
    <th scope="row" valign="top"><label for="term_meta[custom_term_meta]"><?php _e( 'Example meta field', 'pippin' ); ?></label></th>
        <td>
            <?php $content = esc_attr( $term_meta['custom_term_meta'] ) ? esc_attr( $term_meta['custom_term_meta'] ) : '';
             wp_editor( $content,'term_meta[custom_term_meta]') ?>
            <p class="description"><?php _e( 'Enter a value for this field','pippin' ); ?></p>
        </td>
    </tr>
<?php
}
add_action( 'category_edit_form_fields', 'pippin_taxonomy_edit_meta_field', 10, 2 );



// Save extra taxonomy fields callback function.
function save_taxonomy_custom_meta( $term_id ) {
    if ( isset( $_POST['term_meta'] ) ) {
        $t_id = $term_id;
        $term_meta = get_option( "taxonomy_$t_id" );
        $cat_keys = array_keys( $_POST['term_meta'] );
        foreach ( $cat_keys as $key ) {
            if ( isset ( $_POST['term_meta'][$key] ) ) {
                $term_meta[$key] = $_POST['term_meta'][$key];
            }
        }
        // Save the option array.
        update_option( "taxonomy_$t_id", $term_meta );
    }
}  
add_action( 'edited_category', 'save_taxonomy_custom_meta', 10, 2 );  
add_action( 'create_category', 'save_taxonomy_custom_meta', 10, 2 );


add_action( 'edited_genres', 'save_taxonomy_custom_meta', 10, 2 );  
add_action( 'create_genres', 'save_taxonomy_custom_meta', 10, 2 );
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.