是否可以删除某一自定义帖子类型的所见即所得?

时间:2012-11-16 作者:scottgemmell

我不想在自定义帖子类型的顶部使用WYSIWYG。我想使用一个自定义字段textarea,我可以将其放在自定义字段列表的底部。

这可能吗?

6 个回复
最合适的回答,由SO网友:Oleg Butuzov 整理而成

add_action(\'init\', \'init_remove_support\',100);
function init_remove_support(){
    $post_type = \'your post type\';
    remove_post_type_support( $post_type, \'editor\');
}
将其放置到主题功能中。php

SO网友:biziclop

实际上,您可以禁用所见即所得编辑器,只保留html源编辑器。选择以下函数:

// disable wyswyg for custom post type, using the global $post
add_filter(\'user_can_richedit\', function( $default ){
  global $post;
  if( $post->post_type === \'product\')  return false;
  return $default;
});

// disable wyswyg for custom post type, using get_post_type() function
add_filter(\'user_can_richedit\', function( $default ){
  if( get_post_type() === \'product\')  return false;
  return $default;
});

SO网友:Chip Bennett

或者,您可以直接在register_post_type() 电话,通过\'supports\' 中的参数$args 大堆

默认值为:\'supports\' => array( \'title\', \'editor\' ).

你可以根据需要改变它;例如:\'supports\' => array( \'title\' ).

SO网友:Chip Bennett

回复:此评论:

我正在与AdvancedCustomFields组合使用自定义类型UI。

这个Custom Post Types UI Plugin 公开所有register_post_type() $args 其UI中的数组参数。

在这种情况下,您只需找到Supports 节,并禁用/取消选中Editor:

Custom Post Types UI Plugin - Register Post Type options

SO网友:Валерия Олейник

另一种更一致的禁用所见即所得编辑器(WYSIWYG editor)的方法是,仅保留html源代码编辑器(html source editor),即对自定义帖子类型使用“wp\\u editor\\u settings”过滤器来禁止tinymce。

function my_post_type_editor_settings( $settings ) {

    global $post_type;

    if ( $post_type == \'my_post_type\' ) {

        $settings[ \'tinymce\' ] = false;
    }

    return $settings;
}

add_filter( \'wp_editor_settings\', \'my_post_type_editor_settings\' );

SO网友:J.BizMai

我将尝试做一个更完整的回答:

If you want to remove all the content editor

@Oleg Butuzov的答案很好:

add_action(\'init\', \'init_remove_support\',100);
function init_remove_support(){
    $post_type = \'your post type\';
    remove_post_type_support( $post_type, \'editor\');
}

If you want only disable tinymce but let html toolbars

@biziclop的答案很好:

add_filter(\'user_can_richedit\', function( $default ){
  global $post;
  if( $post->post_type === \'product\')  return false;
  return $default;
});
在这种情况下wp-content-editor-tools 已可见,因为展开编辑器。js插入工具栏。

If you want to replace the tinymce editor by a simple textarea

我找到了答案here.

function wpse_199918_wp_editor_settings( $settings, $editor_id ) {
    if ( $editor_id === \'content\' && get_current_screen()->post_type === \'custom_post_type\' ) {
        $settings[\'tinymce\']   = false;
        $settings[\'quicktags\'] = false;
        $settings[\'media_buttons\'] = false;
    }

    return $settings;
}

add_filter( \'wp_editor_settings\', \'wpse_199918_wp_editor_settings\', 10, 2 );

结束

相关推荐

wysiwyg is scrambled

我对wordpress编辑器有问题。它不断删除我的输入并扰乱内容。我如何解决这个问题?