The comment_status_links WordPress PHP filter allows you to modify the comment status links displayed in the admin area. These links include ‘All’, ‘Mine’, ‘Pending’, ‘Approved’, ‘Spam’, and ‘Trash’.
Usage
add_filter('comment_status_links', 'your_custom_function'); function your_custom_function($status_links) { // your custom code here return $status_links; }
Parameters
$status_links
(string[]): An associative array of fully-formed comment status links. Includes ‘All’, ‘Mine’, ‘Pending’, ‘Approved’, ‘Spam’, and ‘Trash’.
More information
See WordPress Developer Resources: comment_status_links
Examples
Remove the ‘Mine’ link
Remove the ‘Mine’ link from the comment status links.
add_filter('comment_status_links', 'remove_mine_link'); function remove_mine_link($status_links) { unset($status_links['mine']); return $status_links; }
Change the ‘All’ link text
Change the text of the ‘All’ link to ‘All Comments’.
add_filter('comment_status_links', 'change_all_link_text'); function change_all_link_text($status_links) { $status_links['all'] = str_replace('All', 'All Comments', $status_links['all']); return $status_links; }
Add a custom link
Add a custom link named ‘Unreplied’ to display comments that have not been replied to.
add_filter('comment_status_links', 'add_unreplied_link'); function add_unreplied_link($status_links) { $unreplied_count = 10; // Replace with the actual count of unreplied comments $status_links['unreplied'] = '<a href="edit-comments.php?show_unreplied=true">Unreplied (' . $unreplied_count . ')</a>'; return $status_links; }
Add a separator between links
Add a separator (a vertical bar) between the comment status links.
add_filter('comment_status_links', 'add_separator_between_links'); function add_separator_between_links($status_links) { foreach ($status_links as $key => $link) { $status_links[$key] = $link . ' | '; } return $status_links; }
Change link order
Change the order of the comment status links to display ‘Approved’, ‘Pending’, ‘Spam’, ‘Trash’, ‘All’, and ‘Mine’.
add_filter('comment_status_links', 'change_link_order'); function change_link_order($status_links) { $new_order = ['approved', 'pending', 'spam', 'trash', 'all', 'mine']; $reordered_links = []; foreach ($new_order as $key) { $reordered_links[$key] = $status_links[$key]; } return $reordered_links; }