The following is not a news, but today I had to fix a problem like that at work, so I thought that can be repeated for who has a similar situation.
In WordPress when you use Password protected posts or pages, the post or page content will be hidden until the user inserts the password.
By default WordPress will hide the content and the comments of the post or page that uses Password protected in the settings and show on screen a message like
This post is password protected. To view it please enter your password below:
The title will also start with “Protected: “. See here how to remove the title prefix.
When the user will type the right password than will be able to view the page completely.
Code wise will be hidden just the text or HTML returning by the following methods
the_content(); comments_template();
inside the files in your WordPress theme (page.php
or single.php
or index.php
).
Problem?
You will find that if you use custom fields or simply use in your loop
<img scr="<?php echo get_post_meta($post->ID, 'postThumb', true); ?>" />
those data will not be protected and they will be visible on the screen.
How to protect custom fields in WordPress?
The simple solution is to use the WordPress function post_password_required()
like in the example below
<?php if ( !post_password_required() ) { // your protected stuff here ?> <img scr="<?php echo get_post_meta($post->ID, 'postThumb', true); ?>" /> <?php } ?>