我的wordpress代码中有一个小问题我需要在我的页面中显示wordpress wp_editor,其中包含值数组。值的定义如下
$fields[] = array(
'name' => __('Class', 'my-theme'),
'desc' => __('', 'my-theme'),
'id' => 'class'.$n,
'std' => ( ( isset($class_text[$n]['class']) ) ? $class_text[$n]['class'] : '' ),
'type' => 'text');
当我像上面的数组一样定义我的wp_editor时,它并没有显示我想要的位置。相反,所有编辑器都显示在所有页面中的任何内容之前的顶部。
我为编辑器尝试了以下一组数组:
$fields[] = array(
'name' => __('My Content', 'my-theme'),
'id' => 'sectioncontent'.$n,
'std' => ( ( isset($class_text[$n]['content']) ) ? $class_text[$n]['content'] : '' ),
'type' => wp_editor( '', 'sectioncontent'.$n ));
附上我的问题形象:
答案 0 :(得分:3)
<强>原因强>
默认情况下wp_editor会打印textarea,这就是为什么你不能将它分配给任何变量或数组的原因。
<强>解决方案强>
你可以使用php的output buffering来获取变量中的打印数据:
ob_start(); // Start output buffer
// Print the editor
wp_editor( '', 'sectioncontent'.$n );
// Store the printed data in $editor variable
$editor = ob_get_clean();
// And then you can assign that wp_editor to your array.
$fields[] = array(
'name' => __('My Content', 'my-theme'),
'id' => 'sectioncontent'.$n,
'std' => ( ( isset($class_text[$n]['content']) ) ? $class_text[$n]['content'] : '' ),
'type' => $editor); // <-- HERE
答案 1 :(得分:1)
在我看来,您正在使用Redux Framework设置主题/插件选项页面 - 如果您要添加默认的Wordpress WYSIWYG(所见即所得 - 来自同一个编辑器)在后端编辑帖子页面编辑器,你需要使用类型:'editor'。
这可能令人困惑 - 如果你从头开始设置这个选项页面,你正在使用的wp_editor()
函数是正确的开始,但你需要做很多工作才能拥有它显示您想要的位置和方式。 Redux等通过为您生成编辑器使您更容易实现这一点,因此您不必使用wp_editor函数,而只是告诉Redux您希望名为“我的内容”的编辑器字段是其中一个字段。页面。
编辑器字段的文档位于:https://docs.reduxframework.com/core/fields/editor/
如果我说你使用redux是正确的,那么替换你所拥有的代码的正确代码是:
$fields[] = array(
'name' => __('My Content', 'my-theme'),
'id' => 'sectioncontent'.$n,
'std' => ( ( isset($class_text[$n]['content']) ) ? $class_text[$n]['content'] : '' ),
'type' => 'editor');
解释此字段数组的其他部分:
__()
)中的本地化功能从“my-theme”域中的本地词典中获取短语。在上面链接的编辑器文档页面上,您将看到可以定义的各种其他选项的详细信息,例如是否显示“媒体上传”按钮,以及是否通过wpautop运行输入以使用{替换编辑器中的换行符{1}}标签(默认情况下这两个都是真的)。