主题设置页面中的wp_editor

时间:2014-01-04 18:16:30

标签: wordpress-theming

我正在研究wordpress主题框架。

我想在其中一个设置页面中添加一个wordpress编辑器(在本例中为标题内容)。

我已将本教程中的信息用作设置页面的基础。 http://wp.tutsplus.com/tutorials/using-the-settings-api-part-2-create-a-top-level-admin-menu/

我可以添加一个文本区域来保存内容,但希望有一个编辑器,以便于为最终用户添加内容。

在设置文件回调函数中,我根据textarea类型为编辑器添加了另一个案例

文字区域(工作正常)

case 'textarea':
     $options[$id] = stripslashes($options[$id]);
     $options[$id] = esc_html( $options[$id]);
     echo "<textarea class='textarea$field_class' type='text' id='$id' name='" . $gc_frame_option_name . "[$id]' rows='5' cols='30'>$options[$id]</textarea>";
     echo ($desc != '') ? "<br /><span class='description'>$desc</span>" : "";      
break;

编辑器seciton(在设置页面上显示编辑器,但不保存任何内容到数据库)

case 'editor':              
    $options[$id] = stripslashes($options[$id]);
    $options[$id] = esc_html( $options[$id]);
    $class = (!empty($class))?$class:'';
    $content = "enter header content here";
    $settings = array(
        'textarea_name' => $gc_frame_option_name.'['.$id.']',
        'editor_class' => $class
    );          
   wp_editor( $content, $id, $settings );
   echo ($desc != '') ? "<br /><span class='description'>$desc</span>" : "";        
break;

我已经尝试过我能想到的一切,但我无法将其保存到数据库中。

任何帮助都会很棒。

-Andrew

1 个答案:

答案 0 :(得分:3)

请在下面添加以下代码

case 'editor':              
$options[$id] = stripslashes($options[$id]);
$options[$id] = esc_html( $options[$id]);
$class = (!empty($class))?$class:'';
$content = "enter header content here";
$settings = array(
    'textarea_name' => $gc_frame_option_name.'['.$id.']',
    'editor_class' => $class
);

wp_enqueue_script('media-upload');
wp_enqueue_script('thickbox');
wp_enqueue_script( 'editor' );
wp_editor( $content, $id, $settings );

echo ($desc != '') ? "<br /><span class='description'>$desc</span>" : "";
break;

它会起作用,请尝试让我知道您的回复。