您的位置:小众博客 > Wordpress > 正文

wordpress去除分类链接中的category

超人不会飞 / Wordpress / 3055人阅读(点这评论

wordpress的默认分类链接中是带有/category/一个层级的,别的博客程序大多默认的分类链接都是带有category的,那么有些wordpress的博主想把分类链接中的category去掉,这个问题在zblog中很好解决,但在wordpress中似乎要用上点代码了,不然直接设置会出错的说。今天小众博客给wordpress的博友分享一下wordpress去掉分类链接中的category的方法。

加入该代码至主题文件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; 
}

代码整理自网络。

- END -

标签:wordpress教程 

业界动态
  • 搜狗开了个小差儿
  • 权健实际控制人束某某等18人被刑拘
  • 8 岁的微信更新了 7.0,张小龙想要如何打动你我?
  • 晚报 因色情内容微信及QQ邮箱暂停漂流瓶服务
  • 晚报 瓜子二手车因违反广告法被开千万罚单
  • 谷歌再砍通讯应用环聊Hangouts 2020年关停旧版
  • 阿里巴巴调整架构:阿里云升级为阿里云智能
  • Steam正式进入中国
  • 欧盟拟征“链接税” 谷歌威胁关闭“谷歌新闻”
  • 微信确认将推企业版微信 工作生活分开说
  • 网站运营
  • 什么是Referer 设置防盗链时候指明和不指明空Referer的区别
  • 宝塔面板迁移系统盘/www到数据盘/data
  • 自适应网页设计代码需要做的6大调整
  • 站长们,不要忘了你的网站是要做什么的
  • 浅谈网站网页面价值所在
  • 2016年网络SEO外链指南
  • 网站优化太早并不是一定是好事
  • 十年博客路 花开花散 云卷云舒
  • SEO专员,如何评估一个外链的价值?
  • 从博客与微博的区别,谈社交创新的九败一胜
  • 年度热门
  • Typecho缓存插件 TpCache for Typecho
  • 大疆无人机针对美国市场涨价
  • 谷歌正式关闭短网址服务GOO.GL
  • 支付宝回应AI换脸 出意外全额赔付
  • 微博调整转发评论数据上限一百万
  • 越来越多的中年人消失在朋友圈
  • 2018年搜索引擎百度拦截打击500多亿条有害信息
  • 搜狗开了个小差儿
  • 8 岁的微信更新了 7.0,张小龙想要如何打动你我?
  • 阿里云双12服务器两折优惠 仅限新人使用