Ativar Gutenberg no tipo de postagem personalizada


19

Eu tenho esse tipo de postagem personalizada:

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' );

O que mostra o editor clássico na área de administração do WordPress. Tentei substituir 'editor' por 'gutenberg' na matriz de suportes, que não funciona. Também adicionei esse código à minha função, conforme sugerido aqui :

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;
}

Como posso ter um editor Gutenberg no meu tipo de postagem personalizada?

Respostas:


36

Para que o Gutenberg trabalhe em um Tipo de postagem personalizado, é necessário ativar tanto o editorin supports(que você já possui) quanto o show_in_rest. Portanto, adicione 'show_in_rest' => true,à sua matriz de argumentos pós-registro.


Que bom que funciona, de nada.
Álvaro

3

Comece registrando um tipo personalizado do Gutenberg WordPress. O processo é bastante fácil e envolve adicionar o seguinte trecho de código.

/*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' );

adicione a chave show_in_rest e defina-a como verdadeira através do seu tipo de postagem personalizado.

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

Como você pode ver, o snippet de código acima apenas define o parâmetro 'show_in_rest' como 'TRUE'. Após esta etapa, ao criar ou editar um tipo de postagem personalizado, você verá o editor Gutenberg visível e ativado.

Todas as etapas e consultas são discutidas em detalhes em https://www.cloudways.com/blog/gutenberg-wordpress-custom-post-type/

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.