与woocommerce中的类别和产品相同的基本网址

lim*_*ilo 6 php wordpress woocommerce

是否可以为woocommerce中的类别和产品提供相同的基本URL?目前它给我的类别页面404但产品工作正常.

我想要做的是两个都有基础"商店"类别:demo.com/shop/category/产品:demo.com/shop/category/product-name

p_e*_*_88 4

解决方案可能是Woocommerce 的永久链接

尝试将其添加到您的functions.php中

function wpse_291143_generate_taxonomy_rewrite_rules( $wp_rewrite ) {

    global $wp_rewrite;
    $base = "shop";

    $rules = array();
    $terms = get_terms( array( 'taxonomy' => 'product_cat', 'hide_empty' => false ));

    foreach($terms as $term) {
        $term_children = get_terms( array(
            'taxonomy' => 'product_cat',
            'parent' => intval($term->term_id),
            'hide_empty' => false
            )
        );
        if($term_children) {
            foreach ( $term_children as $term_child ) {
                $rules[$base . '/' . $term->slug . '/' . $term_child->slug . '/?$'] = 'index.php?product_cat=' . $term_child->slug;
            }
        }
    }

    $wp_rewrite->rules = $rules + $wp_rewrite->rules;
    return $wp_rewrite->rules;
}

add_action('generate_rewrite_rules', 'wpse_291143_generate_taxonomy_rewrite_rules');
Run Code Online (Sandbox Code Playgroud)