web-dev-qa-db-de.com

Exclude the_content (); von Seite Passwortschutz

Ich verwende eine Seitenvorlage, um den benutzerdefinierten Beitragstyp anzuzeigen.

Alle Inhalte aus dem benutzerdefinierten Beitragstyp sollten kennwortgeschützt sein. Ich möchte den WordPress-Editor für zusätzliche öffentliche Informationen verwenden. Kann ich the_content(); vom WordPress-Passwortschutz ausschließen?

page-my-custom-post-type.php

// ================ PUBLIC AREA BEGINNS ================
<h4>Pubic-Area</h4>

<?php
if (have_posts()) : while (have_posts()) : the_post();
the_content();
endwhile; 
endif;
// ================ PUBLIC AREA ENDS ================   




// ================ PROTECTED AREA BEGINNS ================
if ( post_password_required() ) {
        echo get_the_password_form();
}
else {


$index = 'A';
$terms = get_terms('marke');

foreach ($terms as $term) {
    if($index != strtoupper(substr($term->name, 0, 1))) {
        $index = strtoupper(substr($term->name, 0, 1));

        echo '<h1>'. $index . '</h1>';
    }

    ?>
    <h2><?php echo $term->name; ?></h2>
    <?php $args = array( 'post_type' => 'cpt_auto', 'posts_per_page' => -1, 'orderby' => 'title', 'order' => 'ASC', 
        'tax_query' => array(
            array(
                'taxonomy' => 'marke',
                'field' => 'slug',
                'terms' => array($term->slug)
            )
        )
    );

    // ============================= OUTPUT ==============================
    $loop = new WP_Query( $args ); while ( $loop->have_posts() ) : $loop->the_post();
        the_title('<h3>', '</h3>');
        the_content();

    endwhile;

}
?>


<?php }
// ================ PROTECTED AREA ENDS ================
?>

Vielen Dank, Ogni

2
ogni

Sie können das bedingte Tag if ( post_password_required() ) : verwenden, um zu überprüfen, ob ein Kennwort erforderlich ist, und anschließend the_content() auszuschließen.

// view content, only if password is required
if ( post_password_required() )
    the_content();

Es ist auch möglich, dass Sie über den globalen var $post gehen

if ( ! empty( $post->post_password ) ) :

Ot, die letzte Chance und nicht so gut, aber nützlich ist es, die Abfrage zu verbessern:

AND post_password = '' 
1
bueltge