我正在创建自定义内容类型,但在设置创建和编辑视图的格式时遇到了一些问题。我想禁用主编辑器,只关注标题、摘录和自定义字段。我有以下jQuery代码,可以将WYSIWYG添加到我的自定义字段中,效果很好:
<script type="text/javascript">
/* <![CDATA[ */
jQuery(document).ready( function () {
if ( typeof( tinyMCE ) == "object" && typeof( tinyMCE.execCommand ) == "function" ) {
tinyMCE.execCommand("mceAddControl", true, "solution_problem");
tinyMCE.execCommand("mceAddControl", true, "solution_solution");
tinyMCE.execCommand("mceAddControl", true, "solution_people");
}
});
/* ]]> */
</script>
但当我从*register\\u post\\u type*中的“supports”参数中删除编辑器时:
\'supports\' => array(\'title\',\'thumbnail\',\'excerpt\'), \'taxonomies\' => array(\'category\', \'post_tag\')
默认编辑器将消失,但我的自定义所见即所得也将消失。有人知道为什么会这样吗?谢谢
最合适的回答,由SO网友:Chris_O 整理而成
我也有同样的问题。您必须在supports参数数组中包含编辑器才能显示自定义mce框。
我通过使用CSS隐藏解决了这个问题:
function move_posteditor( $hook ) {
if ( $hook == \'post.php\' OR $hook == \'post-new.php\' ) {
add_action( \'admin_print_footer_scripts\', \'remove_edit_div\' );
}
}
add_action( \'admin_enqueue_scripts\', \'move_posteditor\', 10, 1 );
function remove_edit_div() {
global $post;
$post_type=get_post_type( $post->ID );
if ( ( $_GET[ \'post_type\' ] ) == \'custom_pt_name\' || ( $post_type == \'custom_pt_name\') ) {
?>
<style>#postdivrich { display: none; }</style>
<?php }