Я пытаюсь настроить разные категории для различных пользовательских типов записей (custom_post_types). Код ниже корректно выбирает категорию в админ-панели WordPress. Однако при публикации в Discourse категория там не устанавливается (и по умолчанию становится «без категории»)…
Возможно, я упускаю что-то очевидное?
// Установка категорий форума для пользовательских типов записей (CPT) в WP Discourse
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;
}