如果将permalink结构设置为/%postname%/
(带或不带斜杠)。所以如果你想重定向/name-post
到/negocios/name-post
, 一种方法是通过template_redirect
hook 像这样:
add_action( \'template_redirect\', \'my_template_redirect\', 1 );
function my_template_redirect() {
global $wp;
if ( ! preg_match( \'#^negocios/#\', $wp->request ) &&
is_single() && in_category( \'negocios\' )
) {
wp_redirect( get_permalink() );
exit;
}
}
或者如果你愿意
/name-post
要显示404错误页面,则可以使用
pre_handle_404
hook:
add_filter( \'pre_handle_404\', \'my_pre_handle_404\', 10, 2 );
function my_pre_handle_404( $preempt, $wp_query ) {
global $wp;
if ( ! preg_match( \'#^negocios/#\', $wp->request ) &&
$wp_query->is_single() && in_category( \'negocios\', $wp_query->post )
) {
$wp_query->set_404();
}
return $preempt; // always return it
}
请注意,我进行了检查以确保当前的请求路径(
https://example.com/<this part>
) 不是以“开始”<新兴市场>新兴市场;避免无限循环/重定向。