Sto cercando di impostare categorie diverse per diversi custom_post_types, il codice sottostante seleziona la categoria corretta nell’amministrazione di Wordpress. Tuttavia, quando pubblico su Discourse, la categoria non viene impostata lì (e viene impostata su “non categorizzato” per impostazione predefinita)…
Forse mi sfugge qualcosa di ovvio?
// WP Discourse imposta le categorie del forum CPT per CPTS
add_filter( 'wp_discourse_publish_categories', 'radhr_filter_categories_policies', 10, 2 );
function radhr_filter_categories( $categories, $post ) {
if ( 'policy' === get_post_type( $post ) ) {
$output = [];
foreach ( $categories as $category ) {
if ( 'Policies' === $category['name']) {
$output[] = $category;
}
}
return $output;
}
elseif ( 'guide' === get_post_type( $post ) ) {
$output = [];
foreach ( $categories as $category ) {
if ( 'Guides' === $category['name']) {
$output[] = $category;
}
}
return $output;
}
elseif ( 'post' === get_post_type( $post ) ) {
$output = [];
foreach ( $categories as $category ) {
if ( 'Blogs' === $category['name']) {
$output[] = $category;
}
}
return $output;
}
return $categories;
}