Habilitar Gutenberg en el tipo de publicación personalizada

19

Tengo este tipo de publicación 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' );

Que muestra el editor clásico en el área de administración de WordPress. Traté de reemplazar 'editor' con 'gutenberg' en la matriz de soportes que no funciona. También agregué este código a mi función como se sugiere aquí :

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

¿Cómo puedo tener un editor Gutenberg en mi tipo de publicación personalizada?

ehsan
fuente

Respuestas:

36

Para que Gutenberg funcione en un tipo de mensaje personalizado, debe habilitar tanto el editorin supports(que ya tiene) como el show_in_rest. Por lo tanto, agregue 'show_in_rest' => true,a su matriz de argumentos de registro posterior.

Alvaro
fuente
Me alegro de que funcione, de nada.
Alvaro
3

Comience por registrar un tipo personalizado de Gutenberg WordPress. El proceso es bastante fácil e implica agregar lo siguiente al fragmento 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' );

agregue la clave show_in_rest y configúrela como verdadera a través de su tipo de publicación personalizada.

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

Como puede ver, el fragmento de código anterior simplemente establece el parámetro 'show_in_rest' en 'TRUE'. Después de este paso, cuando cree o edite un tipo de publicación personalizado, verá el editor Gutenberg visible y habilitado.

Todos los pasos y consultas se discuten detalladamente en https://www.cloudways.com/blog/gutenberg-wordpress-custom-post-type/

Owais Alam
fuente