请在Chrome、Firefox等现代浏览器浏览本站。记住我们的域名:tmy123.com   加入本站QQ群,大家一起HIGH:点击加入QQ群

WordPress免插件去除categroy教程

感谢来访 Jophen 俞 4344℃ 已收录 16评论

WordPress的都应该知道分类目录category,看着觉得不爽,非把它弄掉不可,我们知道这个分类目录名可以通过是No Category Base插件去掉,但此插件可能会导致分类目录404,所以今天提供代码来解决这个问题。

使用方法:加入该代码至主题文件functions.php 即可

// WordPress免插件去除链接categroy
register_activation_hook(__FILE__, '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;
}

将添加代码后的文件传上传替换原先的,看看效果吧!

本站文章如未注明,均为原创丨本网站采用BY-NC-SA协议进行授权,转载请注明转自:https://tmy123.com/153.html
喜欢 (13)
发表我的评论
取消评论
表情 代码 加粗 链接 私信 删除线 签到

Hi,请填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(16)条精彩评论。
  1. 现在去除插件 替换为代码的话 会不会有大影响?
    Google上不去怎么办2015年-01月-13日发表回复| unknow| unknow
  2. 学习了
    osblog.net2015年-01月-08日发表回复| unknow| unknow
  3. 去除这个也能对seo有利
    我要钱来赚2015年-01月-07日发表回复| unknow| unknow
  4. 用代码也是 404 。。。
    薄荷糖的味道2015年-01月-03日发表回复| unknow| unknow
  5. 好用 抱走 感谢!
    Google上不去怎么办2015年-01月-03日发表回复| unknow| unknow
  6. 偶好伤心,看不懂
    osblog.net2014年-12月-31日发表回复| unknow| unknow
    • 额,这看不懂,说得这么详细...代码直接加到主题functions.php 的?>之前就行了
      同盟源 http://tmy123.com/2014年-12月-31日发表回复| unknow| unknow
      • 我不会php啊
        osblog.net2014年-12月-31日发表| unknow| unknow
      • 不会也没关系额,我已开始也不会,看着就头疼代码见得多了自然就望文生义了
        同盟源 http://tmy123.com/2014年-12月-31日发表| unknow| unknow
  7. 不知道sae中能不能去掉~~
    Mr.HU2014年-12月-31日发表回复| unknow| unknow