Estoy intentando establecer diferentes categorías para diferentes custom_post_types. El código a continuación selecciona la categoría correcta en el administrador de WordPress. Sin embargo, al publicar en Discourse, la categoría no se establece allí (y se establece por defecto en “sin categorizar”)…
¿Quizás me estoy perdiendo algo obvio?
// WP Discourse establece categorías de foro CPT para 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;
}