4

是否有一种简单的方法来密码保护自定义帖子类型的存档和单个帖子?

我找到了这篇关于密码保护单个帖子的文章,但我仍然迷失在存档循环中。我希望它只显示密码框,直到用户登录。

https://wordpress.stackexchange.com/questions/4952/forcing-all-posts-associated-with-a-custom-post-type-to-be-private

谢谢,

4

2 回答 2

7

我发现快速密码保护档案的唯一方法是创建一个模板来检索自定义帖子类型数据并将其与可以受密码保护的页面相关联。 http://codex.wordpress.org/Page_Templates

一旦该页面受密码保护,您就可以找到将其应用于 single-{your_custom_post_type}.php 的帖子 ID,如下所示:

<?php
if ( !post_password_required('{protected_post_id}') ) : ?>

//protected content here

<?php else:
    //show the password form of the protected page
    echo get_the_password_form('{protected_post_id}');                 

endif; ?>

这使您不必对自定义帖子类型下的每个帖子进行密码保护。

于 2014-11-18T21:50:04.243 回答
2

对于单个页面,您可以编辑single.php并添加以下内容:

<?php

if ( is_user_logged_in() ) {
  // Show Post to Logged in User
} 
else {
  //Show password field
}

?>

如果像您提到的那样,您使用的是自定义帖子类型或存档模板,您可以将与上述相同的方法应用于single-[custom-post-type-name].phparchive.php

于 2014-05-17T14:40:33.013 回答