WordPress去掉分类链接中category目录实现方法_wordpress教程


    用过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

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

南京市珐之弘网络技术有限公司


南京市珐之弘网络技术有限公司

南京市珐之弘网络技术有限公司专注海外推广十年,是谷歌推广.Facebook广告全球合作伙伴,我们精英化的技术团队为企业提供谷歌海外推广+外贸网站建设+网站维护运营+Google SEO优化+社交营销为您提供一站式海外营销服务。

 87067657

 13565296790

 87067657@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.