Como adicionar o parâmetro “supports” para um Custom Post Type?

4

Existe uma maneira de adicionar suporte a um recurso personalizado para um tipo de postagem personalizado depois que ele foi criado?

Eu sei como criar um tipo de postagem personalizado usando register_post_type () e como usar o parâmetro de suporte para especificar o que o CPT deve suportar;

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

Mas para as situações em que o CPT está sendo registrado por um plugin ou tema, existe uma maneira de 'injetar' elementos de suporte (manipular o array de suporte) do CPT depois de registrado, usando um gancho / filtro WP? ?

    
por mikkelbreum 21.10.2012 / 18:09

2 respostas

9

Sim, há uma função chamada add_post_type_support

Conecte-se a init - tarde, depois que os tipos de postagem tiverem sido criados - e adicione suporte.

Adicionando suporte para trechos de páginas, por exemplo:

<?php
add_action('init', 'wpse70000_add_excerpt', 100);
function wpse70000_add_excerpt()
{
    add_post_type_support('page', 'excerpt');
}
    
por chrisguitarguy 21.10.2012 / 18:13
0

Uma abordagem alternativa é conectar-se a register_post_type_args e atualizar o array supports .

Isso é particularmente útil se você tiver plug-ins de terceiros conectados aos argumentos CPT para exibir o conteúdo.

function wpse70000_add_author_metabox_to_cpt_book( $args, $post_type ) {
    if ($post_type != 'POST_TYPE_NAME') // set post type
        return $args;
    $args['supports'] = array( 'author' ); // set the 'supports' array
    return $args;
}

add_filter( 'register_post_type_args', 'wpse70000_add_author_metabox_to_cpt_book', 10, 2 );
    
por Christine Cooper 19.10.2017 / 12:32