Как отключить редактор Гутенберга для определенных типов сообщений? - PullRequest
0 голосов
/ 06 сентября 2018

WordPress добавил Редактор Гутенберга в его 5-й версии, и он включен по умолчанию для типов постов и постов.

Возможно, он будет включен по умолчанию для всех пользовательских типов записей в ближайшем будущем, так что как разработчику WordPress я хочу знать, как отключить этот редактор для моих собственных пользовательских типов записей? Я хочу сохранить классический редактор для типов сообщений, которые я зарегистрировал из своих плагинов или тем.

Ответы [ 2 ]

0 голосов
/ 11 апреля 2019

Другой способ, если вы используете пользовательский тип записи .

При регистрации cpt добавить add_post_type_support( 'news', 'excerpt' );

Полный пример:

function create_news() {
    $args = [
        'labels' => [
            'name' => __( 'News', 'lang' ),
            'singular_name' => __( 'News', 'lang' ),
            'add_new_item'       => __( 'Add a news', 'lang' ),
    ],
        'public' => true,
        'has_archive' => true,
        'menu_icon' => 'dashicons-admin-post',
        'show_in_rest' => false,
        'rewrite' => ['slug' => 'news'],
        'show_in_nav_menus' => true,
    ];

    register_post_type( 'news',
        $args
    );
}
add_action( 'init', 'create_news' );
add_post_type_support( 'news', 'excerpt' );
0 голосов
/ 06 сентября 2018

Можно просто отключить редактор, используя фильтр WordPress.

WordPress 5 и выше

Если вы хотите отключить редактор блоков только для своих собственных типов сообщений, вы можете добавить следующий код в ваш плагин или functions.php файл вашей темы.

add_filter('use_block_editor_for_post_type', 'prefix_disable_gutenberg', 10, 2);
function prefix_disable_gutenberg($current_status, $post_type)
{
    // Use your post type key instead of 'product'
    if ($post_type === 'product') return false;
    return $current_status;
}

Если вы хотите полностью отключить редактор блоков (не рекомендуется), вы можете использовать следующий код.

add_filter('use_block_editor_for_post_type', '__return_false');

Плагин Гутенберга (до WordPress 5)

Если вы хотите отключить редактор Гутенберга только для ваших собственных типов сообщений, вы можете добавить следующий код в свой плагин или functions.php файл вашей темы.

add_filter('gutenberg_can_edit_post_type', 'prefix_disable_gutenberg', 10, 2);
function prefix_disable_gutenberg($current_status, $post_type)
{
    // Use your post type key instead of 'product'
    if ($post_type === 'product') return false;
    return $current_status;
}

Если вы хотите полностью отключить редактор Гутенберга (не рекомендуется), вы можете использовать следующий код.

add_filter('gutenberg_can_edit_post_type', '__return_false');
...