Hvordan ændrer man argumenter i en allerede registreret brugerdefineret indlægstype?
Brugerdefinerede indlægstyper er en fantastisk måde at organisere og strukturere dine data i WordPress på. Mange WordPress-plugins bruger bruger brugerdefinerede posttyper til at implementere deres funktioner.
Men hvad nu hvis du gerne vil lave ændringer i de argumenter som er tilføjet til den brugerdefinerede indlægstype? Måske vil du skjule den brugerdefinede indlægstype fra REST API’et, hvis den er inkluderet i dens oprettelse. I dette eksempel sætter vi hierarchical til true for indlægstype “product”. Det sker i funktionen “customize_products”. Derudover laver en vi add_action hook hvor vi aktivere page-attributes således at vi kan se meta-boxen page-attributes i wp-admin for indlægstypen. Det sker i funktionen “products_attributes”.
/* Changes to product post CPT */
add_filter( 'register_post_type_args', 'customize_products', 10, 2 );
function customize_products( $args, $post_type ) {
// Let's make sure that we're customizing the post type we really need
if ( $post_type !== 'product' ) {return $args;}
// Now, we have access to the $args variable
$args['hierarchical'] = true;
return $args;
}
/* Post type support changes */
add_action( 'admin_init', 'products_attributes');
function products_attributes(){add_post_type_support( 'product', 'page-attributes' );}