• 欢迎访问乐趣公园网站,WordPress信息,WordPress教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入乐趣公园 QQ群
  • Git主题现已支持PHP7版本,速度应该会提高不少,不过云落的网站本来就很快了,所以感觉不是太明显
  • 最新版Git主题已支持说说碎语功能,可像添加文章一样直接添加说说,新建说说页面即可,最后重新保存固定连接,演示地址
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏乐趣公园吧
  • 云落的淘宝店铺已经开张了哦,传送门:https://kimipet.taobao.com

WordPress免插件去除链接/categroy

WordPress 云落 4年前 (2014-11-21) 4466次浏览 已收录 16个评论
文章目录[隐藏]

今天什么都不说了,直接贴代码

WordPress 免插件去除链接/categroy

函数代码

以下代码加入函数文件 functions.php 文件中

//免插件去除 Category
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();
}

// 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', '<')) { 	} 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协议进行授权
转载请注明原文链接:WordPress 免插件去除链接/categroy
喜欢 (537)
关于作者:
无折腾,不生活,我是一个WordPress菜鸟,一个玩淘宝的卖家,欢迎你认识我,我是云落!
发表我的评论
取消评论
表情 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(16)个小伙伴在吐槽
  1. 签到成功!签到时间:2018-04-10 22:05:17,每日打卡,生活更精彩哦~
    枫信子2018-04-10 22:00 回复 Windows 7 | Chrome 55.0.2883.87
  2. 主题有这个功能,启用后,留言里少了这个字段,全部404...囧
    简单生活2018-02-28 12:20 回复 Windows 7 | Chrome 55.0.2883.87
  3. 非常不错呀,支持楼主,这个功能学习了,感谢楼主
    乐游网2018-02-09 17:47 回复 Windows 10 | Chrome 63.0.3239.132
  4. 很好的方法!
    神圣计划客户端2017-08-18 13:46 回复 Windows 10 | Chrome 50.0.2661.102
  5. 看看测试啊
    云落2017-08-13 21:05 回复 Windows 10 | Firefox浏览器 53.0
  6. 看看测试
    云落2017-08-13 21:03 回复 Windows 10 | Firefox浏览器 53.0
  7. 测试
    测试2016-10-10 11:14 回复 Linux | Chrome 37.0.0.0
  8. 使用此代码后网站一片空白。不知道啥原因!
    黑苹果乐园2015-05-13 15:08 回复 Windows 8 | Chrome 38.0.2125.122
    • 冲突
      云落2015-05-13 15:13 回复 Android 4.4.4 | WordPress客户端 android
  9. 还是插件好些把,这个方法原来的链接还可以浏览的、、、
    星梦小智2014-11-24 16:06 回复 Windows 7 | Chrome 39.0.2171.65
  10. 这个原来的还可以浏览的。不推荐这方法。。。
    星梦小智2014-11-24 16:04 回复 Windows 7 | Chrome 39.0.2171.65
    • 还真没发现原来的还可以浏览
      云落2014-11-24 18:59 回复 Android 4.4.4 | WordPress客户端 android
  11. 这样WP更新还需要重新设置呀.
    滕然凌若2014-11-21 21:32 回复 Windows 7 | Chrome 39.0.2171.65
    • 不需要吧,这个改的只是函数文件啊
      云落2014-11-21 21:57 回复 Windows 8.1 | Firefox浏览器 31.0
    • 这个可以用子主题来弄,更新就没问题了
      Hooli2014-11-22 15:43 回复 Windows 8.1 | Chrome 39.0.2171.65
      • 不需要,因为是加载函数文件里面的,和WordPress更新没关系
        云落2014-11-22 19:30 回复 Windows 8.1 | Firefox浏览器 31.0