如何去掉分类目录 URL 中的 category-wordpress教程

WordPress 默认生成的分类目录 URL 中是带 category 的,比如我爱水煮鱼的 WordPress 的分类目录的 URL https://blog.wpjam.com/category/wordpress/ 就带了 category。那么如何去掉呢?

方式一:使用插件

网上有很多相关的 WordPress 插件,都可以解决这个问题,不过大部分插件都是把所有的分类都写入 WordPress 的 rewrite 规则,这样会造成 rewrite 规则会非常臃肿,反而会使得 WordPress 变慢

方式二:设置分类目录前缀

另外 WordPress 还有一个非常方便的方法,可以说是最简化去掉分类目录 URL 中的 category。只需要在 WordPress 后台,点击「设置」菜单下的「固定链接」子菜单,将「分类目录前缀」设置为 . 就可以:

如何去掉分类目录 URL 中的 category-wordpress教程

方式三:最佳方法

如果仔细观察一下去掉 category 的分类目录 url:https://blog.wpjam.com/wordpress/,是不是和 WordPress 的页面规则是一样的,比如我爱水煮鱼的关于页面:https://blog.wpjam.com/about/,那么我们可以使用页面的 rewrite 规则来处理。

当 WordPress 进入页面 rewrite 规则的时候,我们判断一下,当前的 pagename 是不是某个分类的 slug,如果是,就把当前的 query_var 中的 pagename 换成 category_name,这样就可以实现了。

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);

总结

以上就是本节的教程-欢迎关注我们学派吧,

主题测试文章,只做测试使用。发布者:云大使,转转请注明出处:https://www.xp8.net/web/3204.html

(0)
打赏 微信扫一扫 微信扫一扫
云大使的头像云大使
上一篇 2019年1月23日 下午8:11
下一篇 2019年2月23日 下午9:45

相关推荐

  • 博客博客-目的是什么,又如何坚持呢-wordpress

    博客一晃 一年了。更新几天然后半个月就不更新了。造成了博客  权重一直不稳定。在这篇文章之前 一个月了 网站没怎么更新了 没事的时候通过SEO工具看看网站、也不收录更新。感觉没有什么动力。 我的博客主要是我自己记录搜集自己需要的文章资料、当然也更想被广大网友知道这么一个网站-学派吧-学派运维  

    建站问题 2019年7月1日
    4.1K00
  • wordpress上传图片不显示的解决方法

    [v_tips]今天有个客户找到我们学派吧、咨询wordpress搬迁以后、上传图片无法显示的问题、我们协助客户看了下、上传图片以后,在空间里没有这个图片、打开上传的图片地址提示404错误 我们先是检查了wp-config.php配置文件。没有任何问题、[/v_tips]经过排除图片名称及目录权限等问题后,最终发现原来是数据库的问题。 进入PHPMyAdmi…

    2018年8月28日
    7.9K00
  • 宝塔如何设置WordPress使用主题自带自定义404页面

    许多人用宝塔建站后会发现,当访问一个不存在的页面时,默认并不会显示自己WordPress主题漂亮的404页面,而是会显示宝塔自带的一个 404 Not Found 的页面,没有任何内容,用户体验非常不好 在本文中,我们就教大家如何设置宝塔面板,让WordPress使用自带的404页面 我们打开宝塔后台 – 网站,选择要设置的站点域名 在左侧的标签中有一个叫做…

    2026年1月3日
    21500
  • WordPress 多站点网络克隆网站数据和设置

    现在,很多主题作者都是用 WordPress 多站点网络来做主题演示站,那就遇到一个数据部署的问题,每次都要重新设置一些基本的选项,导入文章和附件等等,实在是麻烦。今天倡萌推荐一个专门解决这个问题的插件 Multisite Cloner ,它可以很方便地将网络中任何一个站点的设置和数据都克隆到另外一个站点,包括设置、文章和其他内容、主题选项和上传的文件等等。…

    2018年7月12日
    8.2K10
  • WordPress提示502 Bad Gateway错误的解决方法

    [v_tips]502 Bad Gateway错误的含义是什么?[/v_tips] 502 Bad Gateway错误是个HTTP状态代码,意味着互联网上的一台服务器收到了来自另一台服务器的无效响应。用技术性更强的话来说,502 Bad Gateway意味着代理(网关)服务器无法获得来自上游服务器的有效响应或任何响应。 W3.org的官方文档指出,这与以5(…

    2018年9月5日
    7.0K00

发表回复

登录后才能评论
联系我们

联系我们

18838889666

在线咨询: QQ交谈

邮件:xinyun@88.com

工作时间:周一至周五,9:30-18:30,节假日休息

添加微信
添加微信
分享本页
返回顶部
---------官方优惠叠加渠道折扣:通过我们购买腾讯云/阿里云,价格更低,服务更优。更有专业配置指导与服务。微信同步:18838889666----