0
我最近为我的Wordpress网站创建了这段代码。它使得未注册的用户无法看到最多15天的最新帖子,除非他们注册。它的工作原理,但我需要它只限制在我的Wordpress安装一个特定的类别,而不是所有的(即我需要它来限制这个类别,但不是我的博客文章)。在此代码中添加仅更改给定类别的功能?
任何人都可以告诉我在哪里和什么是需要这样做的代码功能?谢谢。
add_filter('posts_where', '_custom_s2member_archive_filter');
function _custom_s2member_archive_filter($where) /* Require membership to view latest content. */
{
if(!is_admin() && (is_archive() || is_home()) && !current_user_can("access_s2member_level1"))
{
$where .= " AND post_date <= '".date ("Y-m-d", strtotime ("-15 days"))."'"; /* Back-date freeloaders. */
}
return $where;
}
add_filter('template_redirect', '_custom_s2member_single_filter');
function _custom_s2member_single_filter() /* Require membership to view latest content. */
{
global $post; /* Need this for date comparison. */
if(!is_admin() && is_single() && !current_user_can("access_s2member_level1"))
{
if(strtotime($post->post_date) > strtotime("-15 days"))
{
header("Location: ".S2MEMBER_MEMBERSHIP_OPTIONS_PAGE_URL);
exit();
}
}
}
为您编写代码的人不会更改它? :) – markratledge 2010-08-14 20:42:08
所以你想限制一个类别,但保持其他职位不受限制?最简单的方法是在查询后进行筛选,但这会给出奇怪的归档(并不总是每页的帖子数量相同)。如果他们在档案中看到“这里有一篇文章,但在注册之前无法看到它”,这可以吗? – 2010-08-14 20:51:55
多一点背景:这一切都通过一个名为Comicpress(comicpress.org)的主题运行。基本上我想要漫画类别被过滤,但不是博客文章。我希望这可能会让事情变得更加清晰。 :) @songdogtech我似乎无法激励编写代码的人来修复这部分,因为我已经愚蠢地支付了他们。 – 2010-08-14 21:06:12