I have taxonomy product_brand
and product_cat
I have a link:
/product_brand/brand_name/?attributes[product_cat]=product_cat_id
How to convert to pretty url?
/product_brand/brand_name/product_cat_name
function custom_rewrite_rules() {
add_rewrite_rule('^product_brand/(.*)/(.*)?', 'index.php?&attributes[product_cat]=$matches[1]', 'top');
}
add_action('init', 'custom_rewrite_rules');
I have taxonomy product_brand
and product_cat
I have a link:
/product_brand/brand_name/?attributes[product_cat]=product_cat_id
How to convert to pretty url?
/product_brand/brand_name/product_cat_name
function custom_rewrite_rules() {
add_rewrite_rule('^product_brand/(.*)/(.*)?', 'index.php?&attributes[product_cat]=$matches[1]', 'top');
}
add_action('init', 'custom_rewrite_rules');
Share
Improve this question
asked Mar 19, 2019 at 15:06
AlexyAlexy
1013 bronze badges
1 Answer
Reset to default 0 function custom_rewrite_rules() {
add_rewrite_rule( '^product_brand/([^/]+)/page/([0-9]{1,})/?', 'index.php?product_brand=$matches[1]&page=$matches[2]', 'top' );
add_rewrite_rule( '^product_brand/([^/]+)/([^/]+)/page/([0-9]{1,})/?', 'index.php?product_brand=$matches[1]&product_cat=$matches[2]&page=$matches[3]', 'top' );
add_rewrite_rule('^product_brand/([^/]+)/([^/]+)?', 'index.php?product_brand=$matches[1]&product_cat=$matches[2]', 'top');
add_filter( 'query_vars', function( $vars ){
$vars[] = 'product_brand';
$vars[] = 'product_cat';
return $vars;
} );
}
add_action('init', 'custom_rewrite_rules');
and pagination
add_action( 'pre_get_posts', function() {
$page = get_query_var('page');
$query->set( 'paged', $page );
return $query;
} );