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

如何去掉wordpress分类中category

1803 人参与  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培训  哈密网站优化  东营网站优化  韩城网站优化  抚顺网站优化  黄石网站优化  内江网站优化  济源网站优化  庄河网站优化  三门峡网站优化  宠物店 
Copyright 山东365优化.All Rights Reserved.提供山东seo,山东网站优化,关注山东seo网站优化排名,分享山东百度优化,山东google优化,山东网站seo教程.
山东seo服务地区:济南、泰安、潍坊、德州、滨州、莱芜、青岛、烟台、日照、东营、济宁、荷泽、聊城、临沂、枣庄、淄博、威海
鲁ICP备16031566号-11 鲁公网安备 37021002000175号 seo优化