Existe-t-il un moyen d'ajouter une prise en charge d'une fonctionnalité personnalisée pour un type de publication personnalisé après sa création?
Je sais comment créer un type d'article personnalisé à l'aide de register_post_type (), et comment utiliser le paramètre supports pour spécifier ce que le CPT doit prendre en charge.
'supports' => array( 'title', 'editor', 'author', 'thumbnail', 'excerpt' ,'headway-seo')
Mais dans les situations où le CPT est enregistré par un plugin ou un thème, existe-t-il un moyen d’injecter des éléments de support (manipuler le tableau de support) du CPT après qu’il a été enregistré, en utilisant un WP crochet/filtre?
Oui, il existe une fonction appelée add_post_type_support
Accrochez-vous dans init
- tard, après la création des types d'article - et ajoutez un support.
Ajout de la prise en charge d'extraits aux pages, par exemple:
<?php
add_action('init', 'wpse70000_add_excerpt', 100);
function wpse70000_add_excerpt()
{
add_post_type_support('page', 'excerpt');
}
Une autre approche consiste à connecter register_post_type_args
et à mettre à jour le tableau supports
.
Ceci est particulièrement utile si vous avez des plugins tiers qui s'accrochent aux arguments CPT pour afficher le contenu.
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 );