Come aggiungere il parametro "supports" per un Custom Post Type?
Esiste un modo per aggiungere il supporto per una funzionalità personalizzata a un custom post type, dopo che è stato creato?
So come creare un custom post type utilizzando register_post_type() e come usare il parametro supports per specificare cosa il CPT dovrebbe supportare;
'supports' => array( 'title', 'editor', 'author', 'thumbnail', 'excerpt', 'headway-seo')
Ma per le situazioni in cui il CPT viene registrato da un plugin o un tema, esiste un modo per 'iniettare' elementi di supporto (manipolare l'array dei supporti) del CPT dopo che è stato registrato, utilizzando un hook/filter di WordPress?

Sì, esiste una funzione chiamata add_post_type_support
Agganciati a init
-- in ritardo, dopo che i tipi di contenuto sono stati creati -- e aggiungi il supporto.
Aggiungere il supporto per estratti alle pagine ad esempio:
<?php
add_action('init', 'wpse70000_add_excerpt', 100);
function wpse70000_add_excerpt()
{
add_post_type_support('page', 'excerpt');
}

Un approccio alternativo è utilizzare l'hook register_post_type_args
per aggiornare l'array supports
.
Questo è particolarmente utile se hai plugin di terze parti che utilizzano gli argomenti del CPT per visualizzare contenuti.
function wpse70000_add_author_metabox_to_cpt_book( $args, $post_type ) {
if ($post_type != 'POST_TYPE_NAME') // imposta il post type
return $args;
$args['supports'] = array( 'author' ); // imposta l'array 'supports'
return $args;
}
add_filter( 'register_post_type_args', 'wpse70000_add_author_metabox_to_cpt_book', 10, 2 );
