Created
June 10, 2017 03:41
-
-
Save levantoan/f5555ce6e18b9de27070e0676e195a77 to your computer and use it in GitHub Desktop.
Remove /category/ and parent category slug
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/* | |
* Author: Le Van Toan | |
* Link more update: http://levantoan.com/xoa-bo-category-va-slug-category-cha-khoi-duong-dan-category/ | |
*/ | |
// Remove Parent Category from Child Category URL | |
add_filter('term_link', 'devvn_no_category_parents', 1000, 3); | |
function devvn_no_category_parents($url, $term, $taxonomy) { | |
if($taxonomy == 'category'){ | |
$term_nicename = $term->slug; | |
$url = trailingslashit(get_option( 'home' )) . user_trailingslashit( $term_nicename, 'category' ); | |
} | |
return $url; | |
} | |
// Rewrite url mới | |
function devvn_no_category_parents_rewrite_rules($flash = false) { | |
$terms = get_terms( array( | |
'taxonomy' => 'category', | |
'post_type' => 'post', | |
'hide_empty' => false, | |
)); | |
if($terms && !is_wp_error($terms)){ | |
foreach ($terms as $term){ | |
$term_slug = $term->slug; | |
add_rewrite_rule($term_slug.'/?$', 'index.php?category_name='.$term_slug,'top'); | |
add_rewrite_rule($term_slug.'/page/([0-9]{1,})/?$', 'index.php?category_name='.$term_slug.'&paged=$matches[1]','top'); | |
add_rewrite_rule($term_slug.'/(?:feed/)?(feed|rdf|rss|rss2|atom)/?$', 'index.php?category_name='.$term_slug.'&feed=$matches[1]','top'); | |
} | |
} | |
if ($flash == true) | |
flush_rewrite_rules(false); | |
} | |
add_action('init', 'devvn_no_category_parents_rewrite_rules'); | |
/*Sửa lỗi khi tạo mới category bị 404*/ | |
function devvn_new_category_edit_success() { | |
devvn_no_category_parents_rewrite_rules(true); | |
} | |
add_action('created_category','devvn_new_category_edit_success'); | |
add_action('edited_category','devvn_new_category_edit_success'); | |
add_action('delete_category','devvn_new_category_edit_success'); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This one doesnt seem to work for anything other than posts