Remove slug in taxonomy url

时间:2012-02-13 作者:Nadine

只是想知道,如何从一些URL中删除slug。我正在使用一种称为“参展商”的自定义帖子类型,以及一些分类法来定义这些参展商(例如:特邀嘉宾、出版商等):

现在我有这个:http://thisurl.com/exhibitor_filters/featured-guests/

我想要这个:http://thisurl.com/featured-guests/

我一直在玩弄wp中的重写/重击,但到目前为止还没有成功。

建议?

谢谢

-Edit-

有趣的是,现在我刚刚收到404个错误,涉及自定义帖子类型和分类术语。我要看看我能不能先让这东西停止吐这么多。。。谢谢大家的建议。

5 个回复
最合适的回答,由SO网友:Tom J Nowell 整理而成

默认情况下,这是不可能的,使用CPT和自定义税务注册API也是不可能的。

And for good reason.

这一切都与permalink和slug冲突有关,并消除了歧义。诚然,由于这个原因,系统不允许存在从不重叠的唯一URL的情况(假阴性)。

因此,我建议您决定更换\'exhibitor_filters\' 例如\'exhibitors\', 或\'filters\' 并在注册时将其作为重写选项中的slug。

但是,如果您真的想按您想要的方式执行,则需要添加重写规则。这可能会有问题,因为您会面临冲突的真正风险(我们是否加载页面\'about\' 或参展商过滤条款\'about\'? ), 钩子的顺序和优先级将发挥重要作用。

e、 g。

function ex_rewrite( $wp_rewrite ) {

    $feed_rules = array(
        \'(.+)\'    =>  \'index.php?exhibitor_filter=\'. $wp_rewrite->preg_index(1)
    );

    $wp_rewrite->rules = $wp_rewrite->rules + $feed_rules;
}
// refresh/flush permalinks in the dashboard if this is changed in any way
add_filter( \'generate_rewrite_rules\', \'ex_rewrite\' );
上述代码适用于单个术语,但需要修改继承人的URL和分类法。

将代码放入函数中。主题的php,或与主题相关的插件。

Warning: You will need to be careful not to have clashing permalinks, and you will need to be aware of the ordering of which rules come first. Use the monkeyman rewrite analyser plugin to test this. You have been warned.

SO网友:chifliiiii

有一个插件,只需单击几下即可轻松删除分类法代码。无论如何,正如Tom所说,要小心,例如,不要将两个不同的分类法术语命名为相同的,否则一切都会中断。

插件url为http://wordpress.org/extend/plugins/wp-htaccess-control/

SO网友:Lorenzo W.

您应该能够从permalink部分指定这一点。您可以通过自定义永久链接进行设置,但似乎其中一个默认选项“post name”应该适合您。这可以在wordpress后端的设置、永久链接下找到。

SO网友:sergio

我找到了答案here并在Jonathan brinley的评论中使用了代码。你应该声明你的分类法"exhibitor_filters" 首先,然后是您的CPT,将其slug设置为%exhibitor_filters%.

然后,您的所有CPT和术语都会很好,包括术语存档链接。在我的例子中,我使用CPT slug中的%taxo%从permalinks中删除了CPT slug,并且在术语归档中也起了作用,它仍然显示CPT slug,但在你的例子中,似乎是你想要的。

您似乎想要归档页面,在"featured-guests" 参展商筛选。

祝你好运

SO网友:Evan Yeung

您是否已完成:

\'rewrite\' = > array(
    \'slug\' => \'featured-guests\',
    \'with_front\' => false )
只需将其添加到register_taxonomy.

结束

相关推荐

Permalinks for quote authors

What I have:引用的网站,格式为:“引用文本”-引用作者参见quotup.com 对于我的考试网站(我为考试中的亵渎行为提前道歉)。What I\'m after:单击“-Quote Author”将启动一个包含该Quote Author所有引用的页面,URL为:示例。史蒂夫·史蒂文森,其中史蒂夫·史蒂文森是引文作者。What I\'ve done:创建了一个名为wp\\u qauthor的自定义表,该表通过post\\u meta(qauthor\\u id)绑定到wp\\u posts向函数