用过WordPress的站长都知道,我们在后台修改固定链接后,在分类目录的路径中会多一个/category/目录,关于去掉这个/category/目录的方法,网上有不少,但是大多都是用插件来实现,我素来不喜欢在后台安装太多插件,我搜集整理了无插件实现去/category/目录方法。

将以下代码复制到当前主题的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();
}
// register_deactivation_hook(__FILE__, 'no_category_base_deactivate');
// function no_category_base_deactivate() {
// remove_filter('category_rewrite_rules', 'no_category_base_rewrite_rules');
// // We don't want to insert our custom rules again
// no_category_base_refresh_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,不行就反复多改几次。
如果还会出现404,我建议把所有缓存清除后再尝试!
# 通用网站建设有几种
# refresh
# rules
# themes
# 钟山网站建设报价
# 工作室网站建设框架
# 网站关键词优化难不难
# 绍兴网站建设设计
# 企业网站优化找哪家好点
# 汕头专业网站优化方式
# 公司产品网站推广怎么做
# *有seo吗
# base
# 玉林创新seo策略分析
# 稳定seo推广咨询热线
# 香蜜湖产品网站推广
# 莆田陵县网站建设
# 自己博客网站推广情况
# 珠海营销推广服务商有哪些
# 宝安做网站推广的公司
# 赤水营销推广型网站
# 门户网站建设政策
# seo 网站优化方案
# 陕西营销工具推广公司
# 这是因为
# wordpress教程
# WordPress
# category目录
# 的是
# 都是
# 太多
# 还会
# 不喜欢
# 几次
# 然后再
# 用过
# WordPress去掉分类链接中category目录实现方法
# 来实现
# 解决方法
# 需要注意
# 中会
# 分类目录
# 有不少
# 网上
# load
# no
# category
相关栏目:
【
Google疑问12 】
【
Facebook疑问10 】
【
网络优化91478 】
【
技术知识72672 】
【
云计算0 】
【
GEO优化84317 】
【
优选文章0 】
【
营销推广36048 】
【
网络运营41350 】
【
案例网站102563 】
【
AI智能45237 】
相关推荐:
广平建站公司哪家专业可靠?如何选择?
织梦图集软件模型后台关键词输入英文逗号“,”不见了_织梦CMS教程
香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化
如何确保FTP站点访问权限与数据传输安全?
如何在Windows 2008云服务器安全搭建网站?
建站中国官网:模板定制+SEO优化+建站流程一站式指南
如何用西部建站助手快速创建专业网站?
如何设计高效校园网站?
建站助手使用教程:自助建站工具操作指南与SEO优化技巧
织梦cms tags标签静态化,利于SEO_织梦CMS教程
网站生成静态页面更利于SEO优化_SEO优化教程
PHPCMS v9会员登录支持Email登录的实现方法_PHPCMS教程
建站org新手必看:2024最新搭建流程与模板选择技巧
如何通过云梦建站系统实现SEO快速优化?
dedecms织梦文章列表页随机放入广告的方法_织梦CMS教程
定制建站流程步骤详解:一站式方案设计与开发指南
织梦实现任意页面调用当前会员信息的方法_织梦CMS教程
帝国CMS教程-去掉“选择注册会员类型”_帝国CMS教程
如何快速搭建高效WAP手机网站?
广德云建站网站建设方案与建站流程优化指南
织梦dedecms提交自定义表单后发送到指定邮箱_织梦CMS教程
dedecms织梦点击数过千过万过亿写法_织梦CMS教程
织梦DEDECMS调出指定文章所有图片的代码_织梦CMS教程
建站10G流量真的够用吗?如何应对访问高峰?
如何安全更换建站之星模板并保留数据?
织梦DEDECMS *一键登录插件返回空白解决方法_织梦CMS教程
织梦直接获取上一篇下一篇的URL网址链接方法_织梦CMS教程
如何在阿里云通过域名搭建网站?
如何通过山东自助建站平台快速注册域名?
建站主机如何选?性能与价格怎样平衡?
建站之星重装后如何自定义颜色与字体?
阿里云提示plus/search.php注入漏洞修复方法_织梦CMS教程
建站之星手机模板如何一键下载生成?
香港服务器部署网站为何提示未备案?
如何快速搭建FTP站点实现文件共享?
织梦文章内容每个段落自动加工【伪原创内容提高收录排名插件】_织梦插件
织梦搜索页调用内容模型中的自定义字段的*教程_织梦CMS教程
{$pages}上一页下一页的个性修改方法_PHPCMS教程
织梦dedecms让文章页关键词自动SEO内链_织梦CMS教程
PHPCMS V9模板页面命名规则详解_PHPCMS教程
织梦dedecms在自定义表单里加入验证码的方法_织梦CMS教程
高端智能建站公司优选:品牌定制与SEO优化一站式服务
如何快速选择适合个人网站的云服务器配置?
香港服务器网站生成指南:免费资源整合与高速稳定配置方案
如何通过WDCP绑定主域名及创建子域名站点?
如何高效生成建站之星成品网站源码?
建站助手报毒清除步骤与预防误报处理方案
织梦图集上传图片用图片名自动做注释教程_织梦CMS教程
建站之星代理如何获取技术支持?
织梦整合kindeditor文本编辑器乱码问题解决办法_织梦CMS教程
2018-04-17
南京市珐之弘网络技术有限公司专注海外推广十年,是谷歌推广.Facebook广告全球合作伙伴,我们精英化的技术团队为企业提供谷歌海外推广+外贸网站建设+网站维护运营+Google SEO优化+社交营销为您提供一站式海外营销服务。