2017-06-13 61 views
0

這個職位有一些解決方案,但筆者希望提高它
已經閱讀了大量的文獻和論壇的我找不到我的問題完美的解決方案。由於某種原因,我想在管理面板的主題選項中使用tinyMCE。我在頁面上添加了很小的內容,並且很好地顯示,但是當我提交時 - 它不保存任何內容。當然,我檢查了可讀性,並認識到沒有提交新的數據。所以,我只是簡單地將數據從tinyMCE複製到隱藏字段,然後將隱藏的字段存儲複製到數據庫。
這裏是一些代碼:
主題options.php
WordPress的TinyMCE的主題中,選擇不保存好

<?php wp_editor($options['king_text1'], 'kingtext', array(
    'wpautop'  => 1, 
    'media_buttons' => 1, 
    'textarea_name' => '', 
    'textarea_rows' => 20, 
    'tabindex'  => null, 
    'editor_css' => '', 
    'editor_class' => 'tiny_kingtext', 
    'teeny'   => 0, 
    'dfw'   => 0, 
    'tinymce'  => 1, 
    'quicktags'  => 1, 
    'drag_drop_upload' => false 
)); ?> 

<textarea id="kingtext" class="large-text" cols="50" rows="10"><?php echo esc_attr_e($options['king_text1']); ?> </textarea> 
<input type="hidden" id="myText" name="king_theme_options[king_text1]"> 

然後我說在主題選項文件的頭部添加自定義腳本來管理面板的功能:

function javascript_and_styles() { 
    wp_enqueue_script('admin-js', get_template_directory_uri() . '/js/admin-panel.js', array(), '', true); 
} 
add_action('admin_enqueue_scripts', 'javascript_and_styles'); 

而且之後,我添加了一些腳本,在提交之前將mce的數據複製到隱藏的輸入:

jQuery(function() { 
    jQuery('input.button').click(function(e) { 
     e.preventDefault(); 

     var content = tinyMCE.activeEditor.getContent(); 
     jQuery('#myText').val(content); 

     jQuery('#myform').submit(); 
    }); 
}); 

之後,這一切正常,但我不喜歡這種代碼和解決問題的方法。如果有人知道更有趣的解決方案,請展示它。 致以問候

回答

0

我剛剛發現了我所有的錯誤。這個問題是解決了!
清楚地理解wp_editor中的每個屬性非常重要。我的問題是我使用了textarea和wp_editor,這就是爲什麼我遇到了上述的問題。所以,如果某人和我有同樣的情況,我想向您推薦以下建議:
您的代碼中不得使用真正的textarea。你可以像這樣啓動wp_editor:

<?php wp_editor($options['king_text1'], 'kingtext', array(
    'wpautop'  => 1, 
    'media_buttons' => 1, 
    'textarea_name' => 'king_theme_options[king_text1]', //This is important line!!! 
    'textarea_rows' => 20, 
    'tabindex'  => null, 
    'editor_css' => '', 
    'editor_class' => 'tiny_kingtext', 
    'teeny'   => 0, 
    'dfw'   => 0, 
    'tinymce'  => 1, 
    'quicktags'  => 1, 
    'drag_drop_upload' => false 
)); 

畢竟沒有其他厚度是必需的。一切運作良好:打開,保存等。