The default_category_post_types WordPress PHP filter allows you to modify the post types that require a default category, in addition to the ‘post’ type.
Usage
add_filter('default_category_post_types', 'my_custom_default_category_post_types');
function my_custom_default_category_post_types($post_types) {
// your custom code here
return $post_types;
}
Parameters
- $post_types (string[]): An array of post type names. Default empty array.
More information
See WordPress Developer Resources: default_category_post_types
Examples
Add a custom post type to require a default category
In this example, we add a custom post type called ‘product’ to require a default category.
add_filter('default_category_post_types', 'add_product_post_type');
function add_product_post_type($post_types) {
$post_types[] = 'product';
return $post_types;
}
Remove the ‘post’ post type from requiring a default category
In this example, we remove the ‘post’ post type from requiring a default category.
add_filter('default_category_post_types', 'remove_post_post_type');
function remove_post_post_type($post_types) {
$key = array_search('post', $post_types);
if ($key !== false) {
unset($post_types[$key]);
}
return $post_types;
}
Replace default post types with a custom post type
In this example, we replace the default post types with a custom post type called ‘news’.
add_filter('default_category_post_types', 'replace_with_news_post_type');
function replace_with_news_post_type($post_types) {
$post_types = ['news'];
return $post_types;
}
Add multiple custom post types
In this example, we add multiple custom post types (‘recipe’ and ‘event’) to require a default category.
add_filter('default_category_post_types', 'add_multiple_post_types');
function add_multiple_post_types($post_types) {
$post_types[] = 'recipe';
$post_types[] = 'event';
return $post_types;
}
Clear all post types
In this example, we clear all post types from requiring a default category.
add_filter('default_category_post_types', 'clear_all_post_types');
function clear_all_post_types($post_types) {
return [];
}