阻止访问单个帖子类型

时间:2012-03-11 作者:helgatheviking

假设我想制作一个名为“press”的帖子类型,它主要涉及将标题与新闻剪辑的PDF文档链接。我想将所有这些都显示为存档。。。所以有点像网站。com/press,但我不想要任何单一的帖子模板页面。所以没有网站。com/press/article1或site。com/press/article2。除了在我的存档模板中不包含链接(这只是模糊了它,但不会否定它们的存在或阻止访问单个帖子)之外,我如何防止访问者无意中访问单个帖子。我如何将它们重新定向回/新闻存档?

2 个回复
最合适的回答,由SO网友:fuxia 整理而成

您的快速方式。htaccess添加规则

RedirectMatch Permanent ^/press/.+ /press/
插入方式template_redirect 并将所有请求重定向到单个条目:

add_action( \'template_redirect\', \'wpse_45164_redirect_press\' );

function wpse_45164_redirect_press()
{
    if ( ! is_singular( \'press\' ) )
        return;

    wp_redirect( get_post_type_archive_link( \'press\' ), 301 );
    exit;
}
(警告:未测试)

SO网友:Joshua Nelson

重定向用户的另一种方法是,使其不首先生成此页面。将帖子类型设置为\'public\' => false, \'publicly_queryable\' => true 将创建非公共帖子类型。然后,您可以构建一个自定义页面模板作为存档,并在页面模板中创建一个自定义查询。

看到了吗register_post_type 函数获取更多信息。

结束

相关推荐

Login redirect problem

嘿,我有点奇怪的问题。。我得到了一个表单,可以根据类别和用户级别登录某些单曲。。它工作得很好,但windows(网站所在的服务器)返回的“当前页面”值错误意思这是:\'redirect\' => site_url( $_SERVER[\'REQUEST_URI\'] ), 返回:www.somewebsite。com/sub/sub/?p=100而不是:www.somewebsite。com/sub/?p=100This is the actuall form: <