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

如何去掉wordpress分类中category

1779 人参与  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优化