Hi my client need to add password protect page in wordpress. So i make the visibility of page as password protect and it is working correctly.
But client is giving a series of password .He is given password 2314 to 2335 .So the password is any number in between 2314 to 2335 .Now what i do? Is there any method or call to solve this? Any hook is there ?
Hi my client need to add password protect page in wordpress. So i make the visibility of page as password protect and it is working correctly.
But client is giving a series of password .He is given password 2314 to 2335 .So the password is any number in between 2314 to 2335 .Now what i do? Is there any method or call to solve this? Any hook is there ?
pages
password
Share
Improve this question
edited Oct 28, 2015 at 11:15
fuxia♦107k3939 gold badges255255 silver badges461461 bronze badges
asked Oct 28, 2015 at 10:32
ron rron r33311 gold badge55 silver badges1313 bronze badges0
Add a comment
|
2 Answers
2
Reset to default
9
Here's just a demo test for fun, just to see if this might be possible:
Demo
First we set the post's password, the usual way:
Then we create a custom field called wpse_extra_passwords that takes comma seperated passwords:
These are the extra passwords for that post.
Let's define the following helper function, based on the post_password_required() core function:
Then we hook into the the_password_form filter and target the single post object in the main loop:
/**
* Support extra post passwords for single posts in the main loop
*/
add_filter( 'the_password_form', function( $output )
{
if( ! is_single() || ! in_the_loop() || did_action( 'the_password_form' ) )
return $output;
$post = get_post();
// Display password form if none of the passwords matches:
if( wpse_post_password_required( $post ) )
return $output;
// Get the current password
$password = $post->post_password;
// Temporary remove it
$post->post_password = '';
// Fetch the content
$content = get_the_content();
// Set the password back
$post->post_password = $password;
return $content;
} );
Hopefully you can test it and play with it further.
Notes
You mentioned passwords like 2314. It's very easy to write a program that can guess simple passwords like that. So I used a little bit stronger passwords in this demo.
You could also use a plugin for that:
https://wordpress/plugins/multiple-post-passwords/
And yes, having a series of numbers as passwords is a bad idea ;)