😅Remove Category from slug namkhoahanoi.vn (ok)

https://github.com/wp-plugins/remove-category-url

C:\Users\Administrator\AppData\Local\Temp\scp05982\public_html\wp-content\themes\cream-magazine-child\functions.php

// == Remove Category From Urls ==
/* hooks */
register_activation_hook(__FILE__,    'remove_category_url_refresh_rules');
register_deactivation_hook(__FILE__,  'remove_category_url_deactivate');
/* actions */
add_action('created_category',  'remove_category_url_refresh_rules');
add_action('delete_category',   'remove_category_url_refresh_rules');
add_action('edited_category',   'remove_category_url_refresh_rules');
add_action('init',              'remove_category_url_permastruct');
/* filters */
add_filter('category_rewrite_rules', 'remove_category_url_rewrite_rules');
add_filter('query_vars',             'remove_category_url_query_vars');    // Adds 'category_redirect' query variable
add_filter('request',                'remove_category_url_request');       // Redirects if 'category_redirect' is set
function remove_category_url_refresh_rules()
{
  global $wp_rewrite;
  $wp_rewrite->flush_rules();
}
function remove_category_url_deactivate()
{
  remove_filter('category_rewrite_rules', 'remove_category_url_rewrite_rules'); // We don't want to insert our custom rules again
  remove_category_url_refresh_rules();
}
/**
 * Removes category base.
 *
 * @return void
 */
function remove_category_url_permastruct()
{
  global $wp_rewrite;
  global $wp_version;
  if ($wp_version >= 3.4) {
    $wp_rewrite->extra_permastructs['category']['struct'] = '%category%';
  } else {
    $wp_rewrite->extra_permastructs['category'][0] = '%category%';
  }
}
/**
 * Adds our custom category rewrite rules.
 *
 * @param  array $category_rewrite Category rewrite rules.
 *
 * @return array
 */
function remove_category_url_rewrite_rules($category_rewrite)
{
  $category_rewrite = array();
  /* WPML is present: temporary disable terms_clauses filter to get all categories for rewrite */
  if (class_exists('Sitepress')) {
    global $sitepress;
    remove_filter('terms_clauses', array($sitepress, 'terms_clauses'));
    $categories = get_categories(array('hide_empty' => false, '_icl_show_all_langs' => true));
    add_filter('terms_clauses', array($sitepress, 'terms_clauses'));
  } else {
    $categories = get_categories(array('hide_empty' => false));
  }
  foreach ($categories as $category) {
    $category_nicename = $category->slug;
    if ($category->parent == $category->cat_ID) {
      $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]';
  return $category_rewrite;
}
function remove_category_url_query_vars($public_query_vars)
{
  $public_query_vars[] = 'category_redirect';
  return $public_query_vars;
}
/**
 * Handles category redirects.
 *
 * @param $query_vars Current query vars.
 *
 * @return array $query_vars, or void if category_redirect is present.
 */
function remove_category_url_request($query_vars)
{
  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;
}

Last updated