wordpress如何在数组中添加wp_editor

时间:2015-10-23 05:03:48

标签: php wordpress redux-framework

我的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 ));

附上我的问题形象:

enter image description here

2 个答案:

答案 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');

解释此字段数组的其他部分:

  • '名称'将显示在此字段的标签中。在这种情况下,您使用wordpress(__())中的本地化功能从“my-theme”域中的本地词典中获取短语。
  • 'id'是您将用于检索已输入此字段的内容的内容。它还会影响分配给选项页面中HTML元素的ID属性。
  • 'std'是该字段的默认值,在用户设置任何选项之前,该字段的值是首次显示选项页面时的字段值

在上面链接的编辑器文档页面上,您将看到可以定义的各种其他选项的详细信息,例如是否显示“媒体上传”按钮,以及是否通过wpautop运行输入以使用{替换编辑器中的换行符{1}}标签(默认情况下这两个都是真的)。​​