一种可能的解决方案是不更改类别库并保持原样,而是修改类别链接的任何输出,以通过过滤器去除类别库。如果您没有创建一个页面来代替这些链接指向的位置,那么这当然会导致404,因此需要为每个类别创建一个页面。
function wpa_alter_cat_links( $termlink, $term, $taxonomy ){
if( \'category\' != $taxonomy ) return $termlink;
return str_replace( \'/category\', \'\', $termlink );
}
add_filter( \'term_link\', \'wpa_alter_cat_links\', 10, 3 );
你可能想彻底测试一下它的任何副作用,使用风险自负!
EDIT - 仅更改顶级类别链接:
function wpa_alter_cat_links( $termlink, $term, $taxonomy ){
if( \'category\' == $taxonomy && 0 == $term->parent ){
return str_replace( \'/category\', \'\', $termlink );
}
return $termlink;
}
add_filter( \'term_link\', \'wpa_alter_cat_links\', 10, 3 );