受密码保护的视图不能使用自定义模板

时间:2018-01-10 21:17:53

标签: php wordpress custom-post-type password-protection

我正在尝试为静态自定义Wordpress模板页面设置密码保护。我在仪表板中设置了密码,并将此代码包含在我的模板文件中:

<?php
/* Template Name: QN PDF */
get_header();
?>
<?php
global $post;

if (!post_password_required($post)) {

    echo get_the_password_form();
    include('inc/section/pdf.php');
} else {
     echo get_the_password_form();
}

?>

<?php
get_footer();
?>

结果,密码表单显示在顶部,但内容未隐藏且仍然加载。使用密码隐藏内容的正确方法是什么?

谢谢

1 个答案:

答案 0 :(得分:-1)

在您的示例中,您基本上是在说......如果需要 no 密码,请显示密码表单。

相反,您应该在此处显示您的内容 - the_content()。由于您正在回复密码表单,无论帖子是否受密码保护,您都会看到它与包含的PDF一起显示并认为它在锁定时显示。

<?php
/* Template Name: QN PDF */
get_header();
?>
<?php
global $post;

if (!post_password_required($post)) { // if there is no password required

    // display the content
    the_content();
    include('inc/section/pdf.php');

} else {

    //display the password form 
    echo get_the_password_form();
}

?>

<?php get_footer(); ?>