The close_comments_for_post_types WordPress PHP filter allows you to modify the list of post types for which comments should be automatically closed.
Usage
add_filter('close_comments_for_post_types', 'your_custom_function_name');
function your_custom_function_name($post_types) {
// your custom code here
return $post_types;
}
Parameters
- $post_types (string[]): An array of post type names.
More information
See WordPress Developer Resources: close_comments_for_post_types
Examples
Close comments for custom post type “books”
Close comments automatically for the “books” custom post type:
add_filter('close_comments_for_post_types', 'close_comments_for_books');
function close_comments_for_books($post_types) {
$post_types[] = 'books';
return $post_types;
}
Close comments for pages
Automatically close comments for all pages:
add_filter('close_comments_for_post_types', 'close_comments_for_pages');
function close_comments_for_pages($post_types) {
$post_types[] = 'page';
return $post_types;
}
Close comments for multiple custom post types
Close comments for custom post types “books” and “movies”:
add_filter('close_comments_for_post_types', 'close_comments_for_multiple_post_types');
function close_comments_for_multiple_post_types($post_types) {
$post_types[] = 'books';
$post_types[] = 'movies';
return $post_types;
}
Open comments for posts
Remove “post” from the list of post types to have open comments:
add_filter('close_comments_for_post_types', 'open_comments_for_posts');
function open_comments_for_posts($post_types) {
$key = array_search('post', $post_types);
if ($key !== false) {
unset($post_types[$key]);
}
return $post_types;
}
Close comments for all post types
Close comments for all post types by returning an empty array:
add_filter('close_comments_for_post_types', 'close_comments_for_all_post_types');
function close_comments_for_all_post_types($post_types) {
return array();
}