在自定义帖子类型的元框中使用带有文本的TinyMce

时间:2013-10-02 作者:730wavy

我正在尝试使用http://www.tinymce.com/ 插件,用于在我创建的元框中的文本区域中添加tinymce。我在谷歌上搜索过其他方法,要么我无法使用,要么我没有掌握这个概念。所以这就是我现在正在尝试的--

我尝试创建插件将脚本添加到我的管理仪表板--

add_action(\'admin_init\', \'admin_load_scripts\'); 
function admin_load_scripts() { 
    $js_file = plugins_url( \'/tinymce/jquery.tinymce.min.js\', __FILE__ );  
    wp_enqueue_script(\'jquery.tinymce.min\', $js_file, array(\'jquery\')); 
}
那么我需要这样称呼它--

<script>
        tinymce.init({selector:\'textarea\'});
</script>
但我不知道如何做到这一点,因为这是为后端,而不是前端。我怎样才能做到这一点?

UPDATED

这是我的元框代码。http://pastebin.com/WcC51uA9

我尝试了以下方法(当然是将其放在functions.php中),在大多数情况下,它们要么不起作用,要么会显示在页面的顶部或底部。他们根本没有出现在文本区---

http://pastebin.com/Ct0mF6q7

http://pastebin.com/R6t0ij6h

http://pastebin.com/dcczcVby

http://pastebin.com/yt1uRS5U

3 个回复
最合适的回答,由SO网友:Howdy_McGee 整理而成

这里有一个pastebin 包括您的代码。

获取tinyMCE的旧值

$meta_biography = get_post_meta( $post->ID, \'meta_biography\', true );
调用TinyMCE编辑器

wp_editor( $meta_biography, \'biography\', array(
    \'wpautop\'       => true,
    \'media_buttons\' => false,
    \'textarea_name\' => \'meta_biography\',
    \'textarea_rows\' => 10,
    \'teeny\'         => true
) );
保存编辑器值,如果没有,则删除旧值。

if( isset( $_POST[\'meta_biography\'] ) && $_POST[\'meta_biography\'] != \'\' ) {
    update_post_meta( $post_id, \'meta_biography\', $_POST[\'meta_biography\'] );
} else {
    delete_post_meta( $post_id, \'meta_biography\' );
}
如果要向编辑器添加更多选项,可以查看Codex 或者看看这个很好WPTuts Article. 您想使用tinymce 并向其传递一组设置。您可能必须删除teeny => truewp_editor() 因为Codex说它将只使用最小的编辑器配置。

SO网友:Max Yudin

// for pages use \'edit_page_form\' as the first parameter. And see my comment below.
add_action( \'edit_form_advanced\', \'my_meta_editor\' ); 

function my_meta_editor() {

    // set \'your_meta_key\' to the actual key
    $content = get_post_meta($post->ID, \'your_meta_key\', true);

    // only low case [a-z], no hyphens and underscores
    $editor = \'mymetaeditor\';

    // See my comment below
    $editor_settings = array();

    wp_editor( $content, $editor, $editor_settings);

}
搜索Administrative Actions 对于edit_form_after_title, edit_form_after_editor, edit_form_advanced 如果要更改元框的位置。

另请参见wp_editor 用于编辑器设置。

SO网友:Salam El-Banna

这个函数对我来说非常有效,只需添加到您的函数中即可。php文件,并将自定义字段设为textareas,您就完成了:

//add tinymce editor to custom fields
function admin_add_wysiwyg_custom_field_textarea()
{ ?>
<script type="text/javascript">/* <![CDATA[ */
    jQuery(function($){
        var i=1;
        $(\'textarea\').each(function(e)
        {
          var id = $(this).attr(\'id\');
          if (!id)
          {
           id = \'customEditor-\' + i++;
           $(this).attr(\'id\',id);
          }
          tinyMCE.execCommand("mceAddEditor", false, id);
          tinyMCE.execCommand(\'mceAddControl\', false, id);
        });
    });
/* ]]> */</script>
<?php }
add_action( \'admin_print_footer_scripts\', \'admin_add_wysiwyg_custom_field_textarea\', 99 );
Taken from here.

结束

相关推荐

有关保存动态Metabox的问题

因此,我对动态待办事项列表元框存在问题。它应该很简单,除了储蓄,其他一切都在起作用。我已经看了5个小时了,需要一些新鲜的眼睛。 function webm_todo_box(){ global $post; ?> <div id=\"meta_inner\"> <?php //get the saved meta as an arry $TodoList = get_po