当前位置: 首页 » 标签:分类URL

记录下WordPress重写分类页URL去掉链接中的category代码

WordPress去掉分类页URL中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 baseadd_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 rulesadd_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 Baseglobal $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 Debuggingreturn $category_rewrite;}// Add 'category_redirect' query variableadd_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 setadd_filter('request', 'no_category_base_request');function no_category_base_request($query_vars) {//print_r($query_vars); // For Debuggingif (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;}笔记6个月前
零分站龄7个月资深站长
一个喜欢折腾,却又折腾不出像样东西的,不会PHP的PHP程序员!
598
文章
13
分类
837
标签
2
友链
onlinelovesky317355746vipsever@vip.qq.com