有不少博主喜欢把自己的WordPress固定链接格式是:/%category%/%post_id%.html(分类名/文章ID.html)
但是如果有的分类下有很多子分类,那么文章链接就会变成:https://iesay.com/父分类/子分类/文章ID.html
这样的话链接目录层次就有点深,从某种方面来讲不太利于SEO优化,然后就要想办法干掉WordPress固定链接中的子分类了,把下面的代码添加到WordPress主题中的functions.php里面:
// wordpress 去掉固定链接中的子分类 add_filter('post_link','custom_post_type_link',10,3); function custom_post_type_link($permalink, $post, $leavename) { if (!gettype($post) == 'post') { return $permalink;} switch ($post->post_type) { case 'post': //$permalink = get_home_url() . '/' . $post->post_name . '/'; $cats = get_the_category($post->ID); $subcats = array(); foreach( $cats as $cat ) { $cat = get_category($cat->term_id); //if($cat->parent) { $subcats[] = sanitize_title($cat->name); if($cat->parent) { $subcats[] = $cat->slug;}} if($subcats) { foreach($subcats as $subcat) { $subcat = $subcat.'/'; $permalink = str_replace($subcat, "", $permalink);}} break;} return $permalink;}
多级分类解决方法:
// wordpress 去掉固定链接中的所有子分类包含孙分类 function remove_child_categories_from_permalinks( $category ) { while ( $category->parent ) { $category = get_term( $category->parent, 'category' ); } return $category; } add_filter( 'post_link_category', 'remove_child_categories_from_permalinks' );
- 提示:这篇文章发布于 2018/09/06,作者 99839,总计 1099 字.
- 原文: WordPress去除固定链接中的子分类标签 | 爱壹主题