URL продукта Woocommerce переписать с проблемой категории и подкатегории - PullRequest
0 голосов
/ 28 ноября 2018

У меня есть сайт 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

Перенаправление работаетПервоначально (это ссылка на / инвентарь / категория / подкатегория / продукт не 404), но затем я думаю, что другой перенаправить отправляет меня на /product/product-name.

Я предполагаю, что Wordpressтоварная база почему-то не соответствует моему обычному перенаправлению.

Есть ли способ обойти это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...