cho*_*ise 38 javascript php wordpress plugins tinymce
有没有办法将TinyMCE添加到我自己的WordPress插件中?
我的后端脚本中有一个textarea,并希望将此区域变为TinyMCE WYSIWYG可编辑字段.有没有办法做到这一点?

此代码对我不起作用:
<?php
wp_tiny_mce(false,array("editor_selector" => "test"));
?>
<textarea class="test" id="test" name="test"></textarea>
Run Code Online (Sandbox Code Playgroud)
它显示了javascript错误
f is undefined
Run Code Online (Sandbox Code Playgroud)
Firebug截图:

这也不起作用:
<textarea class="theEditor" id="videogalerie-add_description" name="videogalerie-add_description"></textarea>
Run Code Online (Sandbox Code Playgroud)
Kev*_*ary 36
使用wp_editor()函数在WordPress 3.3中更容易做到这一点.
我正在开发一个插件,将TinyMCE实例添加到主题选项页面.这是它的样子:
// Add TinyMCE visual editor
wp_editor( $content, $id );
Run Code Online (Sandbox Code Playgroud)
其中$ content是存储的内容,$ id是字段的名称.还可以传递选项以自定义TinyMCE功能,查看WordPress Codex以获取更多详细信息.
And*_*ndy 11
Camden已经回答了这个问题,但是如果有人需要完整的代码...请务必挂钩admin_head,挂钩到admin_enqueue_scripts将导致它在其他脚本(如jQuery)之前加载,因此无法正常工作.
add_action("admin_head","load_custom_wp_tiny_mce");
function load_custom_wp_tiny_mce() {
if (function_exists('wp_tiny_mce')) {
add_filter('teeny_mce_before_init', create_function('$a', '
$a["theme"] = "advanced";
$a["skin"] = "wp_theme";
$a["height"] = "200";
$a["width"] = "800";
$a["onpageload"] = "";
$a["mode"] = "exact";
$a["elements"] = "intro";
$a["editor_selector"] = "mceEditor";
$a["plugins"] = "safari,inlinepopups,spellchecker";
$a["forced_root_block"] = false;
$a["force_br_newlines"] = true;
$a["force_p_newlines"] = false;
$a["convert_newlines_to_brs"] = true;
return $a;'));
wp_tiny_mce(true);
}
}
Run Code Online (Sandbox Code Playgroud)
然后在模板中的某处插入常规textarea:
<textarea id="intro"></textarea>
Run Code Online (Sandbox Code Playgroud)
小智 7
以下示例适用于我.只需确保在$ a ["elements"]变量中使用要选择的textarea的id.
假设你有一个id为'intro'的textarea:
// attach the tiny mce editor to this textarea
if (function_exists('wp_tiny_mce')) {
add_filter('teeny_mce_before_init', create_function('$a', '
$a["theme"] = "advanced";
$a["skin"] = "wp_theme";
$a["height"] = "200";
$a["width"] = "800";
$a["onpageload"] = "";
$a["mode"] = "exact";
$a["elements"] = "intro";
$a["editor_selector"] = "mceEditor";
$a["plugins"] = "safari,inlinepopups,spellchecker";
$a["forced_root_block"] = false;
$a["force_br_newlines"] = true;
$a["force_p_newlines"] = false;
$a["convert_newlines_to_brs"] = true;
return $a;'));
wp_tiny_mce(true);
}
Run Code Online (Sandbox Code Playgroud)
?>