How to Password Protect Part of a WordPress Post
The question came up about how to Password Protect part of a WordPress post but still allow a description or some other explanatory text to be displayed. It seemed like a pretty straightforward request but it’s not something that WordPress handles right out of the box. You can easily password protect a post, but you can’t see anything so can’t give details about why the rest of the text is hidden. For example you want to provide links to family pictures that only your real family can get to. Or you want to offer photos or a download to specific groups.
In searching around for a solution I came across multiple sites (all related I’m sure) that wanted to rip me off for $50 to $150 for a plugin that would solve the problem. Egad, are you serious?! They wanted to make some sort of user level management system within WordPress that would allow me to charge users or fleece people for money in some other way. That’s not quite what I was going for.
I did however discover a very simple and easy to implement solution that is also free. I tested this out on WordPress 3.0+ and it works fine. It requires a simple change to the WordPress files and uses the MORE function to hide the secondary text with a password. So basically everything before the MORE tag everyone can read. Everything after it requires a password. And this should work from any blogging client.
First off, find /wp-includes/post-template.php in your WordPress install directory.
Find the following text:
$output = get_the_password_form();
Replace it with this:
$content = $pages[$page-1];
$content = explode(‘<!–more–>’, $content, 2);
$output = "";
$output .= $content;
$output .= get_the_password_form();
That’s it. Now you can write your post as you normally would and then if there’s a section you would like to restrict to specific people, just add the MORE tag and then give the post a password. I tried this with Windows Live Writer 2011 and it worked just fine.
I have to say this is a pretty simple solution and unless you have some greater need this should work very well.
This idea was taken from the instructions at this page:
Other articles of interest:
- Search and Replace within WordPress
- Problems with WordPress 3.1 on IIS – Redirect Loop
- Write errors with Google XML Sitemap Generator and WordPress
- The WordPress.com Desktop App
- Merry Christmas to One and All!
- Looks like they went and broke Zombie Farm
- Rapid PHP 2010
- Microsoft ditches blogging, embraces WordPress
- Is the iPad a PC?
- Massive Blog Erection!