Woocommerce产品URL重新写入类别和子类别问题

时间:2018-11-27 21:45:51

标签: php wordpress woocommerce url-rewriting

我已经建立了一个WooCommerce网站,我希望这些产品的链接为/ inventory / category / sub-category / product-name。

我有一个自定义页面/库存和产品库设置为/ product,但想解决这个问题。

我已经设置了一个Wordpress重写规则,如下所示:

                // rewrite rules for posts

                    function wpse_product_rewrite_rules( $wp_rewrite ) {

                global $wp_rewrite;
                $base = "inventory";

                // get all product posts

                $query = new WP_Query(array(
                'post_type' => 'product',
                'post_status' => 'publish',
                'posts_per_page' => -1
                    ));
                // generate the rewrite rules
                $rules = array();

                    while ($query->have_posts()) {
                $query->the_post();
                $post_id = get_the_ID();
                unset($terms);

                $getslugid = wp_get_post_terms( $post_id, 'product_cat' ); 
                    foreach( $getslugid as $thisslug ) {
                    $terms .= $thisslug->slug . '/'; 
                    }
                    $post_slug = get_post_field( 'post_name', get_post($product_id) );

                    $rewrite_url = $terms.$post_slug;

                    $rules[$base . '/' . $rewrite_url . '/?$'] = 'index.php?p=' . $post_id;
                    }

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

                wp_reset_query();
            }

            add_action('generate_rewrite_rules', 'wpse_product_rewrite_rules', 'top');


            // end rewrite rules for posts

重定向最初起效(这是指向/ inventory / category / subcategor / product的链接不是404),但随后我认为另一个重定向会将我发送到/ product / product-name。

我认为Wordpress产品基础在某种程度上超越了我的自定义重定向。

有没有办法解决这个问题?

0 个答案:

没有答案