The comment_on_password_protected WordPress PHP action fires when a comment is attempted on a password-protected post.
Usage
add_action('comment_on_password_protected', 'your_function_name', 10, 1);
function your_function_name($comment_post_id) {
// Your custom code here
}
Parameters
$comment_post_id(int): The ID of the password-protected post on which the comment is attempted.
More information
See WordPress Developer Resources: comment_on_password_protected
Examples
Redirect user to a custom page
Redirect the user to a custom page when they try to comment on a password-protected post.
add_action('comment_on_password_protected', 'redirect_to_custom_page', 10, 1);
function redirect_to_custom_page($comment_post_id) {
wp_redirect('https://example.com/custom-page/');
exit;
}
Display a custom message
Display a custom message when a user tries to comment on a password-protected post.
add_action('comment_on_password_protected', 'display_custom_message', 10, 1);
function display_custom_message($comment_post_id) {
echo '<p>Please enter the password before leaving a comment.</p>';
}
Log comment attempts on password-protected posts
Log attempts to comment on password-protected posts.
add_action('comment_on_password_protected', 'log_comment_attempt', 10, 1);
function log_comment_attempt($comment_post_id) {
error_log('Comment attempt on password-protected post ID: ' . $comment_post_id);
}
Send an email notification
Send an email notification to the admin when someone tries to comment on a password-protected post.
add_action('comment_on_password_protected', 'send_email_notification', 10, 1);
function send_email_notification($comment_post_id) {
$admin_email = get_option('admin_email');
$subject = 'Comment Attempt on Password-Protected Post';
$message = 'Someone tried to comment on the password-protected post with ID: ' . $comment_post_id;
wp_mail($admin_email, $subject, $message);
}
Disable comments on password-protected posts
Disable comments completely on password-protected posts.
add_action('comment_on_password_protected', 'disable_comments_on_protected_posts', 10, 1);
function disable_comments_on_protected_posts($comment_post_id) {
wp_die('Comments are not allowed on password-protected posts.');
}