The comment_id_not_found WordPress PHP action is triggered when a comment is attempted on a post that does not exist.
Usage
add_action('comment_id_not_found', 'your_custom_function'); function your_custom_function($comment_post_id) { // your custom code here }
Parameters
- $comment_post_id (int): The Post ID.
More information
See WordPress Developer Resources: comment_id_not_found
Examples
Redirect to custom 404 page
Redirect users to a custom 404 page when they try to comment on a non-existing post.
add_action('comment_id_not_found', 'redirect_to_custom_404'); function redirect_to_custom_404($comment_post_id) { wp_redirect('/custom-404-page'); exit; }
Log comment attempts on non-existing posts
Log comment attempts on non-existing posts to a custom log file.
add_action('comment_id_not_found', 'log_non_existing_post_comment'); function log_non_existing_post_comment($comment_post_id) { error_log("Comment attempt on non-existing post ID: {$comment_post_id}\n", 3, "/path/to/your-log-file.log"); }
Send notification email
Send a notification email to the admin when someone tries to comment on a non-existing post.
add_action('comment_id_not_found', 'send_notification_email'); function send_notification_email($comment_post_id) { $admin_email = get_option('admin_email'); $subject = "Comment attempt on non-existing post"; $message = "A user tried to comment on a non-existing post with ID: {$comment_post_id}"; wp_mail($admin_email, $subject, $message); }
Display a custom message
Display a custom message to users who try to comment on a non-existing post.
add_action('comment_id_not_found', 'display_custom_message'); function display_custom_message($comment_post_id) { echo '<p><strong>Oops!</strong> The post you are trying to comment on does not exist.</p>'; }
Prevent comment form from displaying
Prevent the comment form from displaying when a user tries to comment on a non-existing post.
add_action('comment_id_not_found', 'prevent_comment_form_display'); function prevent_comment_form_display($comment_post_id) { add_filter('comments_open', '__return_false'); }