未分配术语时使用HAS_TERM设置模板_重定向

时间:2016-08-31 作者:Kenny J

我们有一个针对自定义帖子类型的重定向功能,可以将某些术语的单视图页面重定向回其存档登录页。对于一个特定的分类法,应该只有一个视图页,所有其他视图页只在存档登录页上显示片段。但是WP仍然为所有创建的帖子创建单个页面,有时搜索引擎会找到它们,所以我们需要停止这种行为。

这是我们目前拥有的,它确实适用于一个应该重定向的分类术语。现在的问题是,有些职位没有指定职位,这些职位也需要重新定位。不确定如何针对这一点。

如果更容易将所有实例作为目标,但不重定向的一个术语除外,那么这个术语就是“团队”(恰好与post类型同名)。

if( is_singular( \'team\' ) && has_term(\'support\', \'team-area\') ) {
wp_redirect( home_url(\'/who-we-are/\'), 301 );
exit();
}
}
add_action( \'template_redirect\', \'team_redirect\' );

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

这有点不明显,但是has_term() 是可选的。

您可以将post是否有来自分类法的任何术语表示为has_term( null, \'team-area\' ).

这是因为它使用is_object_in_term() 内部,这允许这样广泛的检查。