摆脱Wordpress类别,标签和作者档案?


9

我在网上搜索了什么都不是容易的事情,但是没有成功。

我有一个高度定制的博客,其中包含页面,子页面和帖子。虽然我严重依赖类别和标签的使用,但我不希望它们在URL中可见。作者和日期类别也是如此。基本上,如果有人尝试访问这些页面,我将不会抛出404错误。有人可以指出我正确的方向吗?谢谢!

以下内容不可访问:

example.net/category/books/

example.net/tag/ebooks/

example.net/author/dickens/

example.net/2012/10/

Answers:


5

以chrisguitarguy的答案为基础,这里是一个简短的代码段,您可以放入主题的functions.php文件来完成工作

add_action('template_redirect', 'wpse69948_archive_disabler');
function wpse69948_archive_disabler()
{
    if(is_tag() || is_category() || is_date() || is_author())
    {
        global $wp_query;
        $wp_query->set_404();
    }
}

7

我为此编写了一个插件 -需要进行一些更新,但仍然可以正常使用。

基本上,您在WordPress知道请求的页面之后(例如template_redirect),在某个地方挂了钩,使用条件功能之一,然后使用$wp_query->set_404()或只是将用户重定向到您选择的页面。

要禁用类别,标签,作者和日期档案:

<?php
add_action('template_redirect', 'wpse69948_tag_disabler');
function wpse69948_tag_disabler()
{
    if(is_tag() || is_category() || is_date() || is_author())
    {
        global $wp_query;
        $wp_query->set_404();
    }
}

做得完美!非常感谢,也提供了到条件函数的有用链接!
psot 2012年

将其作为独立插件似乎有点过头了。似乎大多数主题作者都应该能够在functions.php或自己的自定义插件中执行此操作。
serraosays
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.