您当前的位置:首页 > 电脑百科 > 程序开发 > 开源程序 > WordPress

免插件实现WordPress去掉分类链接中category目录

时间:2019-11-25 15:27:05  来源:  作者:

折腾wordPress/ target=_blank class=infotextkey>WordPress的朋友都知道修改固定链接后,在分类链接中会出现一个/category/目录,为了去掉分类链接中category目录,网上出现了各种去除category目录的类似插件,比如WP No category Base 插件。

免插件实现WordPress去掉分类链接中category目录

 

今天小编手把手教你不用插件来实现WordPress去掉分类链接中category目录,只需要将下面代码添加到你当前主题的 functions.php 文件中即可:

PS:代码太长 - - 下载地址:No category Base 也可以打开下面的隐藏代码直接复制你当前主题的functions.php 文件中:

//去除分类标志代码
add_action( 'load-themes.php', 'no_category_base_refresh_rules');
add_action('created_category', 'no_category_base_refresh_rules');
add_action('edited_category', 'no_category_base_refresh_rules');
add_action('delete_category', 'no_category_base_refresh_rules');
function no_category_base_refresh_rules() {
global $wp_rewrite;
$wp_rewrite -> flush_rules();
}
// Remove category base
add_action('init', 'no_category_base_permastruct');
function no_category_base_permastruct() {
global $wp_rewrite, $wp_version;
if (version_compare($wp_version, '3.4', '<')) {
// For pre-3.4 support
$wp_rewrite -> extra_permastructs['category'][0] = '%category%';
} else {
$wp_rewrite -> extra_permastructs['category']['struct'] = '%category%';
}
}
// Add our custom category rewrite rules
add_filter('category_rewrite_rules', 'no_category_base_rewrite_rules');
function no_category_base_rewrite_rules($category_rewrite) {
//var_dump($category_rewrite); // For Debugging
$category_rewrite = array();
$categories = get_categories(array('hide_empty' => false));
foreach ($categories as $category) {
$category_nicename = $category -> slug;
if ($category -> parent == $category -> cat_ID)// recursive recursion
$category -> parent = 0;
elseif ($category -> parent != 0)
$category_nicename = get_category_parents($category -> parent, false, '/', true) . $category_nicename;
$category_rewrite['(' . $category_nicename . ')/(?:feed/)?(feed|rdf|rss|rss2|atom)/?$'] = 'index.php?category_name=$matches[1]&feed=$matches[2]';
$category_rewrite['(' . $category_nicename . ')/page/?([0-9]{1,})/?$'] = 'index.php?category_name=$matches[1]&paged=$matches[2]';
$category_rewrite['(' . $category_nicename . ')/?$'] = 'index.php?category_name=$matches[1]';
}
// Redirect support from Old Category Base
global $wp_rewrite;
$old_category_base = get_option('category_base') ? get_option('category_base') : 'category';
$old_category_base = trim($old_category_base, '/');
$category_rewrite[$old_category_base . '/(.*)$'] = 'index.php?category_redirect=$matches[1]';
//var_dump($category_rewrite); // For Debugging
return $category_rewrite;
}
// Add 'category_redirect' query variable
add_filter('query_vars', 'no_category_base_query_vars');
function no_category_base_query_vars($public_query_vars) {
$public_query_vars[] = 'category_redirect';
return $public_query_vars;
}
// Redirect if 'category_redirect' is set
add_filter('request', 'no_category_base_request');
function no_category_base_request($query_vars) {
//print_r($query_vars); // For Debugging
if (isset($query_vars['category_redirect'])) {
$catlink = trailingslashit(get_option('home')) . user_trailingslashit($query_vars['category_redirect'], 'category');
status_header(301);
header("Location: $catlink");
exit();
}
return $query_vars;
}

安装插件或者用代码可能会出现404页面,即%post_id%.html(本站设置的固定链接)的伪静态失效了!

解决方法:

登录后台→设置→固定链接设置页面,随意改一下固定链接格式,然后再改回自己正常用的固定链接格式,可以解决这个bug,不行就反复多改几次。

PS:如果还会出现404,建议把所有缓存清除后再尝试!



Tags:WordPress   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
在最近的一波攻击中,黑客利用多个插件中未修补的漏洞攻击了 160 万个 WordPress 网站。 易受攻击的插件对 WordPress 网站产生了的巨大攻击数据。 Wordfence 最近发现 WordPr...【详细内容】
2021-12-16  Tags: WordPress  点击:(9)  评论:(0)  加入收藏
说起 WordPress 优化加速来可以说是个经久不衰的话题了,包括明月自己都撰写发表了不少相关的文章。基本上到现在为止明月的 WordPress 优化方案已经固定成型了,那就是 WP Supe...【详细内容】
2021-11-02  Tags: WordPress  点击:(49)  评论:(0)  加入收藏
很多人在做了网站的搬家和网站的从新更换空间域名搬家之后,往往出现网站打不开的情况,这个问题其实并不难,但是很多新手站长因为不知道,导致在处理这类问题上花费了大量的时间。...【详细内容】
2021-08-17  Tags: WordPress  点击:(147)  评论:(0)  加入收藏
当访问者访问您的网站时,您只有几秒钟的时间来显示这个人正在寻找的信息,否则,他们只需点击浏览器的后退按钮,开始浏览器别的同类型的网站了。缓慢的WordPress网站会给您的访问...【详细内容】
2020-08-20  Tags: WordPress  点击:(112)  评论:(0)  加入收藏
WordPress 5.5如期而至,更新优化的主要三个领域:速度,搜索和安全。主要内容速度方面主要体现图片的加载优化上面,新版本采用了懒加载模式,在滚动到对应的位置,才会加载真实的图片...【详细内容】
2020-08-17  Tags: WordPress  点击:(97)  评论:(0)  加入收藏
【ALENG 自媒体】8月11日早间自媒体专稿,话说从2008年涉足独立博客至今,掐指一算,走独立博客这一行已经10多年了。10多年间,我的独立博客网站先后使用过早期的Z-blog博客系统,后...【详细内容】
2020-08-12  Tags: WordPress  点击:(114)  评论:(0)  加入收藏
安装好nginx、php、mysql之后,需要经过配置,才能使用起LNMP的环境。...【详细内容】
2020-08-06  Tags: WordPress  点击:(101)  评论:(0)  加入收藏
一台云服务器能做什么?上次介绍了薅腾讯云和阿里云两家厂商羊毛的方法和过程,那到手的云主机要干什么用呢?或者说,云主机有什么用?过了这么多年,"上云"这个说法好像并没有过时。简...【详细内容】
2020-08-04  Tags: WordPress  点击:(106)  评论:(0)  加入收藏
一般的大型网站系统,都依赖伪静态。如果服务器的伪静态没有配置好,访问部分链接就会出现 404 的情况。在 WordPress 则具体表现为后台“固定链接”选项设置失效。 下面就提供...【详细内容】
2020-07-04  Tags: WordPress  点击:(134)  评论:(0)  加入收藏
在本地的 Mac 电脑上配置开发环境安装 homeBrew安装 PHP 7 和 Composer安装 Valet配置 Valet安装 MySQL安装 WordPress在 Windows 电脑上配置开发环境安装 PHPstudy安装 Wor...【详细内容】
2020-06-20  Tags: WordPress  点击:(138)  评论:(0)  加入收藏
▌简易百科推荐
说起 WordPress 优化加速来可以说是个经久不衰的话题了,包括明月自己都撰写发表了不少相关的文章。基本上到现在为止明月的 WordPress 优化方案已经固定成型了,那就是 WP Supe...【详细内容】
2021-11-02  明月登楼    Tags:WordPress   点击:(49)  评论:(0)  加入收藏
很多人在做了网站的搬家和网站的从新更换空间域名搬家之后,往往出现网站打不开的情况,这个问题其实并不难,但是很多新手站长因为不知道,导致在处理这类问题上花费了大量的时间。...【详细内容】
2021-08-17  企飞资源    Tags:WordPress   点击:(147)  评论:(0)  加入收藏
当访问者访问您的网站时,您只有几秒钟的时间来显示这个人正在寻找的信息,否则,他们只需点击浏览器的后退按钮,开始浏览器别的同类型的网站了。缓慢的WordPress网站会给您的访问...【详细内容】
2020-08-20      Tags:wordpress   点击:(112)  评论:(0)  加入收藏
WordPress 5.5如期而至,更新优化的主要三个领域:速度,搜索和安全。主要内容速度方面主要体现图片的加载优化上面,新版本采用了懒加载模式,在滚动到对应的位置,才会加载真实的图片...【详细内容】
2020-08-17      Tags:Wordpress5.5   点击:(97)  评论:(0)  加入收藏
【ALENG 自媒体】8月11日早间自媒体专稿,话说从2008年涉足独立博客至今,掐指一算,走独立博客这一行已经10多年了。10多年间,我的独立博客网站先后使用过早期的Z-blog博客系统,后...【详细内容】
2020-08-12      Tags:WordPress   点击:(114)  评论:(0)  加入收藏
安装好nginx、php、mysql之后,需要经过配置,才能使用起LNMP的环境。...【详细内容】
2020-08-06      Tags:WordPress   点击:(101)  评论:(0)  加入收藏
一台云服务器能做什么?上次介绍了薅腾讯云和阿里云两家厂商羊毛的方法和过程,那到手的云主机要干什么用呢?或者说,云主机有什么用?过了这么多年,"上云"这个说法好像并没有过时。简...【详细内容】
2020-08-04      Tags:WordPress   点击:(106)  评论:(0)  加入收藏
一般的大型网站系统,都依赖伪静态。如果服务器的伪静态没有配置好,访问部分链接就会出现 404 的情况。在 WordPress 则具体表现为后台“固定链接”选项设置失效。 下面就提供...【详细内容】
2020-07-04      Tags:WordPress   点击:(134)  评论:(0)  加入收藏
在本地的 Mac 电脑上配置开发环境安装 homeBrew安装 PHP 7 和 Composer安装 Valet配置 Valet安装 MySQL安装 WordPress在 Windows 电脑上配置开发环境安装 PHPstudy安装 Wor...【详细内容】
2020-06-20      Tags:WordPress   点击:(138)  评论:(0)  加入收藏
操作场景WordPress 是一款使用 PHP 语言开发的博客平台,您可使用通过 WordPress 搭建属于个人的博客平台。本文以 CentOS 7.6 操作系统的腾讯云云服务器为例,手动搭建 WordPre...【详细内容】
2020-04-27      Tags:WordPress   点击:(100)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条