当前位置:首页 » 山东网站优化 » 正文

如何去掉wordpress分类中category

1773 人参与  2017年01月24日 09:45  分类 : 山东网站优化  评论

 

    第一个方法在wordpress后台的设置-固定链接-分类目录前缀的文本框中加入半角字符: “.”,保存即可去掉分类category字符。这种方法非常的简单,但是有一个缺陷就是之前的URL无法301跳转,会导致重复的URL,所以这个方法时候博客网站建立初期尚未被搜索引擎抓取的阶段,如果已经抓取了又想用这种方法那就得自己配置301进行永久性跳转了。


如何去掉wordpress分类中category2016041101311873.jpg


    第二种方法采用插件去除分类字符category。使用方法也很简单,在wordpress后台-插件-安装插件中搜索插件WP No Category Base,点击现在安装,然后点击启动,category就会自动消失了。这种方法时候任何时候的博客网站,之前的URL也会自动301跳转。唯一不足就是wordpress后台又增加了一个插件了,那么就又降低了wordpress的性能了,插件多了会影响网站的整体速度,如果是一两个插件是没问题的。


    第三种方法是直接修改代码。在wordpress后台,外观-编辑,找到主题文件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;
}

  

  这种方法对wordpress的性能影响较小可以忽略不计,同时wordpress升级也不会影响到,但是如果是换主题就会有影响,不过只要按照这个方法再来一次即可。


来源:山东seo 作者:山东网站优化(微信/QQ号:9710917),转载请保留出处和链接!

本文链接:http://365youhua.com/20170130.html

本文标签:wordpress  

<< 上一篇 下一篇 >>

搜索

最近发表

标签列表

合作伙伴

雄安SEO  青岛SEO  台湾SEO  山西SEO  永安SEO  醴陵SEO  SEO优化  鹤岗SEO  象山SEO  潮州SEO  钟祥SEO  攀枝花SEO  东台SEO  栖霞SEO  钟祥SEO  梨树县SEO  松原SEO  铜仁SEO  辽阳SEO  临清SEO  
驻马店网站优化  莱芜网站优化  三亚网站优化  凤城网站优化  黑帽SEO培训  苍南网站优化  舒克网站优化  范县网站优化  惠州网站优化  日喀则网站优化  营口网站优化  黔东南网站优化  盘锦网站优化  恩施网站优化  浚县网站优化  慈溪网站优化  通许网站优化  鸡西网站优化  阳谷网站优化  陆丰网站优化  
Copyright 山东365优化.All Rights Reserved.提供山东seo,山东网站优化,关注山东seo网站优化排名,分享山东百度优化,山东google优化,山东网站seo教程.
山东seo服务地区:济南、泰安、潍坊、德州、滨州、莱芜、青岛、烟台、日照、东营、济宁、荷泽、聊城、临沂、枣庄、淄博、威海
鲁ICP备16031566号-11 鲁公网安备 37021002000175号 seo优化