我正在研究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
答案 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;
它会起作用,请尝试让我知道您的回复。