wordpress去除默认自带目录category的方法 -买球官网平台

`
xxbb77
  • 浏览: 3342 次
  • 性别:
  • 来自: 南京
最近访客
博主相关
  • 博客
  • 微博
  • 相册
  • 收藏
  • 社区版块
    • ( 0)
    • ( 0)
    • ( 0)
    存档分类
    最新评论

    wordpress去除默认自带目录category的方法

    如果你的是新站,可以考虑去掉这个category分类标志;如果你的是老站(也就是说搜索引擎已经收录了分类目录),个人建议不用折腾了;如果非要去掉,就一定要做一下分类链接目录的301重定向。

    wordpress去掉链接category的两种办法:

    方法一:插件法实现

    wp no category base插件功能简单,作用就是去掉wordpress分类目录链接中category分类标志而已。我们可以直接后台安装,启用后也不需要任何设置就可以生效使用。

    登录后台 > 插件 > 安装插件 > 搜索“wp no category base”,然后进行安装并启用即可。



    方法二:纯代码实现


    纯代码去掉wordpress分类目录链接中的category分类标志,也非常简单,只需要将以下代码放在主题文件functions.php文件最后一个?>前面即可。

    第一步:打开“外观”下的“编辑”菜单;

    第二部:在“主题文件”中找到“模板函数 (functions.php)”

    第三部:在表中添加下面函数:

    // 去掉链接中category分类标志 www.7760.cn
    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] = 'tegory%';
        } else {
            $wp_rewrite -> extra_permastructs['category']['struct'] = 'tegory%';
        }
    }
    // 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;
    }
    分享到:
    评论

    相关推荐

      博主们在使用wordpress搭建的网站时,可能会发现文章的url地址中默认都会带有category,url中带有category可能既影响用户体验,也不利于seo地址规范化,因此和大家分享一下去除url中category的方法。 首先登录到...

      主要为大家介绍了wordpress修改评论默认头像的方法,可实现定制个性化的评论头像功能,非常具有实用价值,需要的朋友可以参考下

      iis6.0 下 wordpress 去掉 index.php 和 category 的方法,需要的朋友可以参考下,下面又补充内容,大家多测试

      主要介绍了wordpress如何去掉自带的logo或者左侧栏的菜单方法,需要的朋友可以参考下

      1. 编写404.php 文件,上传保存到博客根目录(和wordpress 的 index.php 在同一个目录)。文件内容如下; 复制代码代码如下: <?php $qs = $_server[‘query_string’]; $pos = strrpos($qs, ‘://’); $pos = ...

      10大wordpress百度seo优化增加收录的方法.docx10大wordpress百度seo优化增加收录的方法.docx10大wordpress百度seo优化增加收录的方法.docx10大wordpress百度seo优化增加收录的方法.docx10大wordpress百度seo优化增加...

      8个wordpress seo优化方法.本文档是基础教程。高手直接跳过

      wordpress官方百度分享插件!压缩包中包含使用方法

      很多时候我们需要在给 wordpress 文章编辑器设置默认内容,比如把常用的开头或者文章注意事项放进去,本文就教你给 wordpress 编辑器设置默认内容。 /** *wordpress 给文章编辑器设置默认内容 *...

      corepress是一款wordpress主题,适合个人网站,极客网站...新增默认开启文章目录:主题设置->文章设置->默认开启目录。设置以后,新建文章默认开启目录 环境要求 php版本5.6以上,并且开启了eval函数 推荐使用宝塔建站

      本文档是wordpress主题制作的入门指导,详细分析了wordpress主题的每个文件,并对常用的函数使用参数做了详细的介绍。只要您具有基本的html及css知识,通过学习本文档就可以掌握wordpress主题的制作了 为了方便大家...

      wordpress自动优化修复数据库方法

      下载中文语言包,上传到 wp-content 目录。 打开wp-config.php(wordpress安装成功之后,会自动生成wp-config.php文件),找到: define ('wplang', ''); 更改成: define ('wplang', 'zh_cn'); 上传并覆盖空间里的wp-...

      wordpress安装方法,这个方法本人亲身试过

      wordpress默认的上传文件的目录是/wp-content/uploads,而且文件是以年月的形式组织的,虽然我们可以去掉按照年月组织的选项,或者更改存储路径,但这个设置会应用到全局,不能按照特定条件选择特定目录存储文件

      主要为大家介绍了wordpress实现自带的侧边栏和自定义的侧边栏同时存在的方法,是wordpress二次开发中非常实用的技巧,需要的朋友可以参考下

      category meta plugin是一款好用功能强大的插件,可以用于给分类、标签、自定义菜单、链接分类等添加自定义栏目,支持单行/多好文本框、多选框以及图片上传。

      zf wordpress category accordion zf wordpress类手风琴" ---------- 泰森云每天更新发布最新wordpress主题、html主题、wordpress插件、shopify主题、opencart主题、php项目源码、安卓项目源码、ios项目源码,更有...

      默认情况下,wordpress分类的永久链接是这样的比如本站的技术文章分类。 exehack.net/category/my-article/ 如果能把中间那段category去掉,是不是更美观切更利于seo优化呢: exehack.net/my-my-article/ 去除...

    global site tag (gtag.js) - google analytics