web-dev-qa-db-fra.com

Remplacez has_archive = true par false du plugin?

Lorsqu'un plugin enregistre un type de publication et définit has_archive sur true, existe-t-il un moyen de le changer pour qu'il soit faux? Je ne veux pas que le type de message du plugin ait une archive, mais je ne vois pas comment le désactiver.

Une question similaire a été posée ici, mais ne contient pas de réponse: Modification d'un type d'article personnalisé "has_archive" après son enregistrement

1
Christopher

Le filtre register_post_type_args (disponible à partir de WordPress v4.4) permettra de modifier les arguments d’enregistrement de type post:

function wpse206329_custom_post_type_args( $args, $post_type ) {
    if ( $post_type === "my_post_type" ) {
        $args['rewrite'] = false;
    }

    return $args;
}
add_filter( 'register_post_type_args', 'wpse206329_custom_post_type_args', 20, 2 );
2
Dave Romsey