!
WordPress默认的子分类连接前都带有父分类的别名,通过这个修改可以让子分类的的链接和一级分类一样。具体看本博客。
方法一:把以下代码丢到皮肤目录的functions.php
add_filter('category_link', 'removecategorylink'); function removecategorylink($link) { if (strpos($link, 'category/') === false) { return $link; } $new = substr($link, strpos($link, 'category/') + 9); if (strpos($new, '/') === false) { return $link; } $arr = explode("/", $new); $newlink = substr($link, 0, strpos($link, 'category/') + 9) . $arr[count($arr) - 1]; return $newlink; }
方法二:打开wp-includes/taxonomy.php
在get_term_link函数中找到(大概在2968行)
$termlink = str_replace("%$taxonomy%", implode('/', $hierarchical_slugs), $termlink);
改成
if ( 'category' == $taxonomy && count($hierarchical_slugs) > 1){ $termlink = str_replace("%$taxonomy%", $hierarchical_slugs[count($hierarchical_slugs) - 1], $termlink); } else { $termlink = str_replace("%$taxonomy%", implode('/', $hierarchical_slugs), $termlink); }
这样就OK了。
本人是一个爱折腾的人,比较喜欢修改源文件达到自己的要求。玩WordPress就是为了折腾嘛。