WordPress Astra主题去掉URL链接显示多余category的代码

在Astra主题中去掉“Category”的需求主要分为两种:隐藏文章元数据中的分类信息 和 去除固定链接(URL)中的分类目录前缀。

可以通过添加代码片段来强制移除链接中的分类前缀。将以下代码添加到子主题的 functions.php 文件中:

add_filter('request', function($query_vars) {
	if(!isset($_GET['page_id']) && !isset($_GET['pagename']) && !empty($query_vars['pagename'])){
		$pagename	= $query_vars['pagename'];
		$categories	= get_categories(['hide_empty'=>false]);
		$categories	= wp_list_pluck($categories, 'slug');

		if(in_array($pagename, $categories)){
			$query_vars['category_name']	= $query_vars['pagename'];
			unset($query_vars['pagename']);
		}
	}

	return $query_vars;
});

add_filter('pre_term_link', function($term_link, $term){
	if($term->taxonomy == 'category'){
		return '%category%';
	}

	return $term_link;
}, 10, 2);

👋 感谢您的观看!

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享