Woocommerce rewrite rule for product sub category

2019-07-25 13:26发布

Using this code here:

add_filter('rewrite_rules_array', function( $rules )
{
    $new_rules = array(
        'products/([^/]*?)/page/([0-9]{1,})/?$' => 'index.php?product_cat=$matches[1]&paged=$matches[2]',
        'products/([^/]*?)/?$' => 'index.php?product_cat=$matches[1]',
    );
    return $new_rules + $rules;
});

And having these permalink settings

Product category base: products
Product permalink - custom base: /products/%product_cat%

I get the following:

  • /products/%category_name%/ (Parent Product Category Page works fine).
  • /products/%category_name%/%subcategory_name/ (Child Product Category Page does not work - gets 404).
  • /products/%category_name%/%subcategory_name/%product_name (Single Products works fine).

Anybody have any insight on how to get the Child Product Category pages to not throw the 404 error?

1条回答
Explosion°爆炸
2楼-- · 2019-07-25 13:42

I fixed these issue we should do some little changes in above code.

add_filter( 'rewrite_rules_array', function( $rules )
{
    $new_rules = array(
        'products/([^/]+?)/?$' => 'index.php?product_cat=$matches[1]',
        'products(?:/.*)*?/(<!--some-indentword-->-[^/]+)/?$' => 'index.php?product_cat=$matches[1]',
    );
    return $new_rules + $rules;
} ,20,1);

It works perfectly for me.

查看更多
登录 后发表回答