The comment_feed_where WordPress PHP filter allows you to modify the WHERE clause of the comments feed query before it is executed.
Usage
add_filter('comment_feed_where', 'your_custom_function', 10, 2);
function your_custom_function($cwhere, $query) {
// Your custom code here
return $cwhere;
}
Parameters
- $cwhere (string): The WHERE clause of the query.
- $query (WP_Query): The WP_Query instance (passed by reference).
More information
See WordPress Developer Resources: comment_feed_where
Examples
Exclude comments from a specific post
To exclude comments from a specific post in the comments feed, modify the WHERE clause:
add_filter('comment_feed_where', 'exclude_comments_from_specific_post', 10, 2);
function exclude_comments_from_specific_post($cwhere, $query) {
global $wpdb;
$post_id = 42; // Replace with the ID of the post you want to exclude comments from
$cwhere .= " AND {$wpdb->comments}.comment_post_ID != $post_id";
return $cwhere;
}
Show only comments from a specific category
To display only comments from posts belonging to a specific category:
add_filter('comment_feed_where', 'show_comments_from_specific_category', 10, 2);
function show_comments_from_specific_category($cwhere, $query) {
global $wpdb;
$category_id = 5; // Replace with your specific category ID
$cwhere .= " AND {$wpdb->posts}.ID IN (
SELECT object_id FROM {$wpdb->term_relationships}
WHERE term_taxonomy_id = $category_id
)";
return $cwhere;
}