在自定义发布类型上禁用特定分类的单一发布视图

时间:2015-08-19 作者:Kenny J

对于为客户开发的特定自定义帖子类型,我们有一个比较独特的问题。它基本上归结为需要为我们创建的CPT中分配给特定分类法的任何帖子禁用单个帖子视图。

示例:

自定义帖子类型:“rentals”

分类法:“公寓”、“公寓”、“出租”

Permalink结构(不考虑分类):http://www.domain.com/rentals/post-title/

唯一的分类法是“租用”,它仅显示为所有不再可用的租赁的登录页(分类法列表),位于所有主要租赁的单独页面上。此登录页没有点击到单个帖子的链接,因此您无法直接访问单个帖子。它只是每个租赁清单的缩略图、标题和地址,以网格形式排列。其他分类法在一个主要的“rentals”页面中分组在一起,它们确实有点击到单个帖子的功能。

但是,即使你无法直接找到这些“租用”物品的单一帖子,它们仍然会被搜索引擎编入索引,从技术上讲,只要知道正确的永久链接,就可以“查看”。

更大的问题是,开始分配给其他分类法(例如,“公寓”或“公寓”)的列表,一旦不再可用,就会更改为“租用”分类法。这些肯定是(而且应该)索引的,更重要的是,在电子邮件营销活动中,直接链接已经发送给客户。因此,如果客户单击一封旧电子邮件以获取除了“租用”登录页之外不应查看的列表,他们仍然可以访问该列表的单个帖子页面。

当客户将当前房源转换为“租用”房源时,他们“可以”更改永久链接,但他们往往也会有许多相同标题的房源。因此,WordPress默认情况下会为每个新帖子(例如,“colonial-park-04”)的永久链接增加一个增量,如果他们更改了原始帖子的永久链接,WordPress将再次使用预先存在的永久链接,并且“旧”链接将再次可用,但有一个新属性(更糟)。这并不能解决最初创建为“租用”的帖子被编入索引的问题。

如何最好地解决这一问题

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

我使用template_redirect 用于此目的的挂钩。我想是吧rented 你的问题不是分类学本身,而是某个分类学的一个术语。

function my_page_template_redirect() {
    if( is_singular( \'rentals\' ) && has_term(\'rented\', \'your taxonomy name\') ) {
        wp_redirect( home_url(), 301 );
        exit();
    }
}
add_action( \'template_redirect\', \'my_page_template_redirect\' );
在页面呈现之前,WP检查CPTrentals 查看单个帖子,如果有rented 学期如果是这样,它会将访问者重定向到其他地方。

结束

相关推荐

Permalinks - Archives

WordPress文档说:WordPress offers you the ability to create a custom URL structure for your permalinks and archives. https://codex.wordpress.org/Settings_Permalinks_Screen 我看到此屏幕将如何为特定帖子/页面创建永久链接,但我没有看到此设置屏幕上关于如何为存档帖子/页面创建链接的任何其他详细信息。有人能澄清一下吗?