pre_comment_user_agent is a WordPress PHP filter that allows you to modify the comment author’s browser user agent before it is saved in the database.
Usage
add_filter('pre_comment_user_agent', 'your_custom_function', 10, 1); function your_custom_function($comment_agent) { // Your custom code here return $comment_agent; }
Parameters
$comment_agent
(string): The comment author’s browser user agent.
More information
See WordPress Developer Resources: pre_comment_user_agent
Examples
Anonymize User Agent
Remove specific information from the user agent to protect the commenter’s privacy.
add_filter('pre_comment_user_agent', 'anonymize_user_agent', 10, 1); function anonymize_user_agent($comment_agent) { $anonymized_agent = preg_replace('/\s\(.+?\)/', '', $comment_agent); return $anonymized_agent; }
Replace User Agent with Custom String
Replace the user agent with a custom string for all comments.
add_filter('pre_comment_user_agent', 'replace_with_custom_string', 10, 1); function replace_with_custom_string($comment_agent) { return 'Custom User Agent'; }
Remove User Agent for Specific Comments
Remove the user agent for comments containing a specific keyword.
add_filter('pre_comment_user_agent', 'remove_agent_for_specific_comments', 10, 2); function remove_agent_for_specific_comments($comment_agent, $commentdata) { if (strpos($commentdata['comment_content'], 'keyword') !== false) { return ''; } return $comment_agent; }
Add Custom Information to User Agent
Add custom information to the user agent string.
add_filter('pre_comment_user_agent', 'add_custom_information', 10, 1); function add_custom_information($comment_agent) { return $comment_agent . ' [Custom Info]'; }
Filter User Agent Based on Length
Remove user agent information for comments with user agents longer than a specified length.
add_filter('pre_comment_user_agent', 'filter_based_on_length', 10, 1); function filter_based_on_length($comment_agent) { if (strlen($comment_agent) > 100) { return ''; } return $comment_agent; }