WYSIWYG editor generated by Wp_editor is disabled
初始问题:
我的客户想要为其wordpress网站使用自定义HTML渲染侧栏小部件。我创建了一个简单的控件,允许他们选择颜色(类切换),并给他们一个文本区域以将HTML放入其中。现在他们已经要求附加一个基本的所见即所得接口(CKEditor或TinyMCE),但是我不知道如何将其添加到小部件代码内的textarea中。有谁知道如何做,有一个例子或一个地方看它如何工作?谢谢!
编辑(使用wp_editor后):
所以我现在有了代码,但是编辑器被禁用并且无法使用。有什么想法吗?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| <fieldset>
<label>Enter your HTML</label>
<?php
$settings = array(
'wpautop' => true,
'media_buttons' => false,
'tinymce' => array(
'theme_advanced_buttons1' => ',bold,italic,underline,|,link,unlink',
),
'quicktags' => false
);
$bodyID = $this->get_field_id('body');
$content = '';
wp_editor ($content, $bodyID, $settings );
?>
</fieldset> |
使用wp_editor函数,您的代码将如下所示:
http://codex.wordpress.org/Function_Reference/wp_editor
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| <fieldset >
<label > Your label for the text area </label >
<?php
$settings = array(
'wpautop' => true,
'media_buttons' => false,
'tinymce' => array(
'theme_advanced_buttons1' => 'formatselect,|,bold,italic,underline,|,' .
'bullist,blockquote,|,justifyleft,justifycenter' .
',justifyright,justifyfull,|,link,unlink,|' .
',spellchecker,wp_fullscreen,wp_adv ',
),
'quicktags' => false
);
wp_editor ('initial content', 'id of textarea', $settings );
?>
</fieldset > |
请注意,如果要从前端将内容放入WP数据库,则应另外使用wp_insert_post函数和POST变量作为链接。
- 我将上面的代码块添加到了小部件中,但没有为其创建工具集。只是一个文本区域。
-
这是我的表单代码:<pa><label for="<?php echo $this->get_field_id('body'); ?>">Enter custom text/HTML: <textarea class="widefat" rows="16" cols="20" id="<?php echo $this->get_field_id('body'); ?>" name="<?php echo $this->get_field_name('body'); ?>"><?php echo htmlspecialchars($body); ?></textarea></label><pb>
-
我认为您应该删除文本区域。 wp_editor函数将为您创建它。无论如何,如果您使用此代码编辑您的帖子,以使社区中的大多数人为您提供帮助,那就太好了。
-
抱歉,上面的代码块是我用于生成当前文本区域的原始代码。当我在其下添加代码块时,它仅产生了另一个没有控件的文本区域。
-
我要问的是删除原始的textarea代码并放入wp_editor函数。使用相同的ID。换句话说,wp_editor的前两个参数应根据您的情况进行调整。
-
好的,我显然还有一些事情要做,但是已经结束了:<fieldset> <label>Enter your HTML</label> <?php $settings = array( 'wpautop' => true, 'media_buttons' => false, 'tinymce' => array( 'theme_advanced_buttons1' => ',bold,italic,underline,|,bullist,|,link,unlink', ), 'quicktags' => false ); wp_editor(htmlspecialchars($body), $this->get_field_id('body'), $settings ); ?> </fieldset>
-
窗口小部件出现了,但不可编辑/可用,我想删除\\'Styles \\'和\\'Align Full \\'和\\'Paragraph \\'下拉列表
-
您可以自定义$ settings变量,以使您的编辑器符合您的要求,只需阅读我给您的抄本页面即可。另外,wp_editor的第一个参数可以是一个空字符串(如果不需要初始内容)。对于您的第二个参数,我什么也不能说,您应该找到将生成的textarea所需的id放入其中的方法。
-
$ this-> get_field_id(\\'body \\');是什么?退货?
-
您应该知道这是wordpress的内置编辑器,您可以按自己的方式自定义它。
-
感谢你的帮助! $ this-> get_field_id(\\'body \\')是标准textarea用于id字段的内容,因此我认为我将保持相同的约定。我需要用用户输入的任何内容重新填充正文,因此我使用的是textarea从数据库重新填充时所使用的相同信息。我看不到最后三个参数来自何处的任何参数。我只想要粗体,下划线,斜体,链接/取消链接以及可能的项目符号列表。
-
我同意您的要求,从法典中删除\\'Styles \\'和\\'Align Full \\'和\\'Paragraph \\'下拉菜单并不是一件容易的事,它需要一些研究,我明天会回到这里为我提供发现也许我会问stackexchange。祝你好运
-
谢谢你的帮助!我试图使用wp_editor($ content,$ bodyID,$ settings);将$ content设置为从数据库返回的$ body并将$ bodyID设置为$ this-> get_field_id(\\'body \\')的值,小部件会呈现,但我无法在框中添加任何文本,似乎已锁定。
-
尝试将$ content设置为空字符串。您的小部件行为真的很奇怪!!
-
是的,将内容设置为\\'\\',但仍然被禁用。这很奇怪:)
-
仍在同一点上。即将在两天内为客户重新解决此问题。我仍然看不到问题出在哪里,自您提供帮助以来,没有人对我做出回应。