¿Cómo agregar el parámetro "supports" para un Tipo de Entrada Personalizada?

21 oct 2012, 19:09:05
Vistas: 33.6K
Votos: 11

¿Existe alguna manera de agregar soporte para una característica personalizada a un tipo de entrada personalizada (CPT), después de que haya sido creado?

Sé cómo crear un tipo de entrada personalizada usando register_post_type(), y cómo usar el parámetro supports para especificar lo que el CPT debe soportar;

'supports' => array( 'title', 'editor', 'author', 'thumbnail', 'excerpt' ,'headway-seo') 

Pero para las situaciones en las que el CPT está siendo registrado por un plugin o tema, ¿hay alguna manera de 'inyectar' elementos de soporte (manipular el array de soporte) del CPT después de que haya sido registrado, usando un hook/filtro de WordPress?

2
Comentarios

Acabo de notar que la respuesta también está en la página del Codex: register_post_type...

brasofilo brasofilo
21 oct 2012 19:59:56

Acabo de publicar un enfoque alternativo que puede ser útil en algunos casos específicos.

Christine Cooper Christine Cooper
19 oct 2017 13:33:16
Todas las respuestas a la pregunta 2
0
14

Sí, existe una función llamada add_post_type_support

Engánchate al hook init -- tarde, después de que los tipos de contenido hayan sido creados -- y añade el soporte.

Añadiendo soporte para extractos a las páginas por ejemplo:

<?php
add_action('init', 'wpse70000_add_excerpt', 100);
function wpse70000_add_excerpt()
{
    add_post_type_support('page', 'excerpt');
}
21 oct 2012 19:13:49
0

Un enfoque alternativo es enlazar con register_post_type_args y actualizar el arreglo supports.

Esto es particularmente útil si tienes plugins de terceros que se enlazan con los argumentos del CPT para mostrar contenido.

function wpse70000_add_author_metabox_to_cpt_book( $args, $post_type ) {
    if ($post_type != 'POST_TYPE_NAME') // establecer el tipo de entrada
        return $args;
    $args['supports'] = array( 'author' ); // configurar el arreglo 'supports'
    return $args;
}

add_filter( 'register_post_type_args', 'wpse70000_add_author_metabox_to_cpt_book', 10, 2 );
19 oct 2017 13:32:28