Включить Гутенберг на пользовательский тип сообщения

19

У меня есть этот тип сообщения:

function create_posttype() {
  register_post_type( 'companies',
    array(
      'labels' => array(
        'name' => __( 'شرکتهای عضو' ),
        'singular_name' => __( 'شرکت' )
      ),
      'supports' => array('title', 'editor', 'custom-fields', 'excerpt', 'thumbnail'),
      'public' => true,
      'has_archive' => true,
      'rewrite' => array('slug' => 'companies'),
    )
  );
}
add_action( 'init', 'create_posttype' );

Который показывает классический редактор в админке WordPress. Я попытался заменить «редактор» на «Гутенберг» в массиве support, который не работает. Я также добавил этот код в свою функцию, как предложено здесь :

add_filter('gutenberg_can_edit_post_type', 'prefix_disable_gutenberg');
function prefix_disable_gutenberg($current_status, $post_type)
{
    if ($post_type === 'companies') return true;
    return $current_status;
}

Как я могу иметь редактор Gutenberg для моего пользовательского типа сообщения?

Ehsan
источник

Ответы:

37

Для Гутенберга на работу в таможенный пост типа вам необходимо включить оба editorв supports(которые у вас уже есть) и show_in_rest. Так что добавьте 'show_in_rest' => true,в ваш пост массив аргументов регистрации.

Alvaro
источник
Рад, что это работает, пожалуйста.
Альваро
3

Начните с регистрации пользовательского типа Gutenberg WordPress. Процесс довольно прост и включает в себя добавление следующего фрагмента кода.

/*Register WordPress  Gutenberg CPT */
function cw_post_type() {

    register_post_type( 'portfolio',
        // WordPress CPT Options Start
        array(
            'labels' => array(
                'name' => __( 'Portfolio' ),
                'singular_name' => __( 'Portfolio' )
            ),
            'has_archive' => true,
            'public' => true,
            'rewrite' => array('slug' => 'portfolio'),
            'show_in_rest' => true,
            'supports' => array('editor')
        )
    );
}

add_action( 'init', 'cw_post_type' );

добавьте ключ show_in_rest и установите для него значение true через пользовательский тип сообщения.

'show_in_rest' => true,
   'supports' => array('editor')

Как вы можете видеть, приведенный выше фрагмент кода просто установил для параметра 'show_in_rest' значение 'TRUE'. После этого шага, когда вы создадите или отредактируете пользовательский тип записи, вы увидите, что редактор Gutenberg видим и активирован.

Все шаги и вопросы подробно обсуждаются на https://www.cloudways.com/blog/gutenberg-wordpress-custom-post-type/.

Оваис Алам
источник