在创建一个WordPress网站时,选择将URL结构设定为/%category%/的方式可能导致多层分类后产生冗长的URL,这不仅在视觉上不美观,而且对seo(搜索引擎优化)也不利,因为搜索引擎可能对这类复杂的链接不太友好。要解决这个问题,你可以通过修改WordPress的内部代码来移除父类别的显示。
要实现这一目标,你需要在你的主题的functions.php文件中添加以下代码:
“`php
add_filter(‘post_link’, ‘custom_rEMOve_parent_cats_from_link’, 10, 3);
function custom_remove_parent_cats_from_link($permalink, $post, $leavename) {
$categories = get_the_category($post->ID);
if ($categories) {
usort($categories, ‘_usort_terms_by_ID’);
$mAIn_category = $categories[0]->slug;
if ($parent_id = $categories[0]->parent) {
$parent_categories = get_category_parents($parent_id, false, ‘/’, true);
$permalink = str_replace($parent_categories, ”, $permalink);
}
}
return $permalink;
}
“`
这段代码会检查文章的类别,并移除URL中的所有父类别,只保留最直接的子类别。这样,你的URL将会更加简洁,更符合SEO的最佳实践。记得在编辑代码前备份functions.php文件,以防止意外错误导致网站出错。