1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Help: How do I password protect a WordPress blog page template output?

Discussion in 'Web Design' started by GuinnessMan, Apr 10, 2013.

  1. GuinnessMan

    GuinnessMan Junior Member

    Joined:
    Apr 4, 2009
    Messages:
    120
    Likes Received:
    90
    Occupation:
    Co-Founder - Various; Independent DSA Closeout Con
    Location:
    USA
    I am trying to edit a blog archive page template that will hide all output unless a password is entered. Currently when "Password protected" is selected, it only hides content entered into the page and not the category output as well.

    Apparently WordPress has a function reference called Post_Password_Required that should be wrapped around the category output in the template. This way if the blog template is called and is also password protected, WordPress will block all output until the password is entered.

    Now, after arbitrarily trying to figure out where to place this code in the page-blog.php and failing i'm wondering if anyone has a better idea of where to place it. Here is the Stack Overflow Reference I found that I think addresses what I'm looking to do.

    I'm using an Elegant Themes template and their support is balls on the issue. Telling me I need to find a plugin to do this. Clearly that isn't the case. Here is the code for the blog template for reference. I appreciate any help:

    Code:
    <?php 
    /*
    Template Name: Investor
    */
    ?>
    <?php if (is_front_page()) { ?>
    <?php get_template_part('home'); ?>
    <?php } else { ?>	
    <?php 
    $et_ptemplate_settings = array();
    $et_ptemplate_settings = maybe_unserialize( get_post_meta($post->ID,'et_ptemplate_settings',true) );
    
    $fullwidth = isset( $et_ptemplate_settings['et_fullwidthpage'] ) ? (bool) $et_ptemplate_settings['et_fullwidthpage'] : false;
    
    $et_ptemplate_blogstyle = isset( $et_ptemplate_settings['et_ptemplate_blogstyle'] ) ? (bool) $et_ptemplate_settings['et_ptemplate_blogstyle'] : false;
    
    $et_ptemplate_showthumb = isset( $et_ptemplate_settings['et_ptemplate_showthumb'] ) ? (bool) $et_ptemplate_settings['et_ptemplate_showthumb'] : false;
    
    $blog_cats = isset( $et_ptemplate_settings['et_ptemplate_blogcats'] ) ? (array) $et_ptemplate_settings['et_ptemplate_blogcats'] : array();
    $et_ptemplate_blog_perpage = isset( $et_ptemplate_settings['et_ptemplate_blog_perpage'] ) ? (int) $et_ptemplate_settings['et_ptemplate_blog_perpage'] : 10;
    ?>
    
    
    <?php get_header(); ?>
    
    <div id="content-left">
    
    <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
    <div class="entry post clearfix"<?php if ($fullwidth) echo ' style="padding-right: 10px;"'; ?>>
    <?php $width = 140;
    $height = 140;
    $classtext = 'thumbnail alignleft';
    $titletext = get_the_title();
    
    $thumbnail = get_thumbnail($width,$height,$classtext,$titletext,$titletext);
    $thumb = $thumbnail["thumb"]; ?>
    
    <?php if($thumb <> '' && get_option('myproduct_page_thumbnails') == 'on') { ?>
    <?php print_thumbnail($thumb, $thumbnail["use_timthumb"], $titletext , $width, $height, $classtext); ?>
    <?php }; ?>
    <?php the_content(); ?>
    <?php wp_link_pages(array('before' => '<p><strong>Pages:</strong> ', 'after' => '</p>', 'next_or_number' => 'number')); ?>
    
    <div id="et_pt_blog">
    <?php $cat_query = ''; 
    if ( !empty($blog_cats) ) $cat_query = '&cat=' . implode(",", $blog_cats);
    else echo '<!-- blog category is not selected -->'; ?>
    <?php 
    $et_paged = is_front_page() ? get_query_var( 'page' ) : get_query_var( 'paged' );
    ?>
    <?php query_posts("showposts=$et_ptemplate_blog_perpage&paged=" . $et_paged . $cat_query); ?>
    <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
    <?php if ( post_password_required() ) ?>
    <div class="et_pt_blogentry clearfix">
    <h2 class="et_pt_title"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
    
    <p class="et_pt_blogmeta"><?php esc_html_e('Posted','MyProduct'); ?> <?php esc_html_e('on','MyProduct'); ?> <?php the_time(get_option('myproduct_date_format')) ?>
    
    <?php $thumb = '';
    $width = 184;
    $height = 184;
    $classtext = '';
    $titletext = get_the_title();
    
    $thumbnail = get_thumbnail($width,$height,$classtext,$titletext,$titletext);
    $thumb = $thumbnail["thumb"]; ?>
    
    <?php if ( $thumb <> '' && !$et_ptemplate_showthumb ) { ?>
    <div class="et_pt_thumb alignleft">
    <?php print_thumbnail($thumb, $thumbnail["use_timthumb"], $titletext, $width, $height, $classtext); ?>
    <a href="<?php the_permalink(); ?>"><span class="overlay"></span></a>
    </div> <!-- end .thumb -->
    <?php }; ?>
    
    <?php if (!$et_ptemplate_blogstyle) { ?>
    <p><?php truncate_post(550);?></p>
    <a href="<?php the_permalink(); ?>" class="readmore"><span><?php esc_html_e('read more','MyProduct'); ?></span></a>
    <?php } else { ?>
    <?php
    global $more;
    $more = 0;
    ?>
    <?php the_content(); ?>
    <?php } ?>
    </div> <!-- end .et_pt_blogentry -->
    
    <?php endwhile; ?>
    <div class="page-nav clearfix">
    <?php if(function_exists('wp_pagenavi')) { wp_pagenavi(); }
    else { ?>
    <?php get_template_part('includes/navigation'); ?>
    <?php } ?>
    </div> <!-- end .entry -->
    <?php else : ?>
    <?php get_template_part('includes/no-results'); ?>
    <?php endif; wp_reset_query(); ?>
    
    </div> <!-- end #et_pt_blog -->
    
    <?php edit_post_link(esc_html__('Edit this page','MyProduct')); ?>
    <div class="clear"></div>
    </div> <!-- end .post -->
    <?php endwhile; endif; ?>
    </div> <!-- end #content-left -->
    
    <?php if (!$fullwidth) get_sidebar(); ?>
    <?php get_footer(); ?>
    <?php } ?>
     
  2. Ptrick125

    Ptrick125 Regular Member

    Joined:
    Mar 4, 2013
    Messages:
    428
    Likes Received:
    113
    Occupation:
    Going To School
    Location:
    Near Austin, Texas
    Home Page:
    Are you sure there aren't any plugins that let you have password restricted pages?
     
  3. tnhomestead

    tnhomestead Regular Member

    Joined:
    Oct 9, 2011
    Messages:
    385
    Likes Received:
    253
    Location:
    Tenneessee USA
    Home Page:
    Code:
    if (post_password_required() 
    {     // It's protected and they haven't entered a password, so ask for one:     the_content();  } 
    else {     // It's not protected or they have entered a password
        the_content();
     }


    I think that does it, should fit in here, if it works let me know
    Code:
    global $more; $more = 0; ?> 
    [COLOR=#ff0000]<?php the_content(); ?>[/COLOR]   replace with test in red <?php } ?> 
    </div> <!-- end .et_pt_blogentry -->
     
    Last edited: Apr 12, 2013