我的网站将有包含多个孩子的父网页。为了SEO和用户原因,孩子们不会在URL中显示父母,这一点很重要。现在我有:mysite.com/parent-title/child-title
我最想要的是mysite.com/child-title
。
我找到并尝试了
function wpse_101072_flatten_hierarchies( $post_link, $post ) {
if ( 'magazine' != $post->post_type )
return $post_link;
$uri = '';
foreach ( $post->ancestors as $parent ) {
$uri = get_post( $parent )->post_name . "/" . $uri;
}
return str_replace( $uri, '', $post_link );
}
add_filter( 'post_type_link', 'wpse_101072_flatten_hierarchies', 10, 2 );
但所有这一切都是将我的所有页面都转换为404.看起来重写可能是最好的选择,但我不确定如何进行正确的重写(使用正则表达式不是很好)。 / p>