Как сделать так, чтобы в Woocommerce база магазина и база товаров были одинаковыми? - PullRequest
1 голос
/ 11 февраля 2020

Я пытаюсь иметь одну и ту же базу магазинов и одну и ту же базу продуктов одновременно. Формат, который я пытаюсь использовать:

website.com / shop / shoes / blue-suede-shoes /

Я наткнулся на этот код, который заставляет его работать пока только с небольшим глюком:

add_filter( 'rewrite_rules_array', function( $rules ) {
    $new_rules = array();
    $terms = get_terms( array(
        'taxonomy'   => 'product_cat',
        'post_type'  => 'product',
        'hide_empty' => false,
    ));
    if ( $terms && ! is_wp_error( $terms ) ) {
        $siteurl = esc_url( home_url( '/' ) );
        foreach ( $terms as $term ) {
            $term_slug = $term->slug;
            $baseterm = str_replace( $siteurl, '', get_term_link( $term->term_id, 'product_cat' ) );
            // rules for a specific category
            $new_rules[$baseterm .'?$'] = 'index.php?product_cat=' . $term_slug;
            // rules for a category pagination
            $new_rules[$baseterm . '/page/([0-9]{1,})/?$' ] = 'index.php?product_cat=' . $term_slug . '&paged=$matches[1]';
            $new_rules[$baseterm.'(?:feed/)?(feed|rdf|rss|rss2|atom)/?$'] = 'index.php?product_cat=' . $term_slug . '&feed=$matches[1]';
        }
    }

    return $new_rules + $rules;
} );

function imp_create_term() {
    flush_rewrite_rules(false);;
}
add_action( 'create_term', 'imp_create_term' );

Каждый отдельный путь работает как нужно, кроме случаев, когда я пытаюсь открыть:

website.com / shop / shoes / page / 2, которая возвращает страницу не найдена ошибка

этот путь хорошо работает:

website.com / shop / page / 2

Что мне не хватает? WP интерпретирует «страницу» как подкатегорию? Как я могу это исправить?

Спасибо

1 Ответ

0 голосов
/ 11 февраля 2020

Отправив это как ответ, я могу добавить скриншот для вас.

1) Go на yourwebsite.com/wp-admin/options-permalink.php

2 ) В разделе Постоянные ссылки на продукт выберите Магазин с категорией. Это будет работать для уровня продукта.

woocommerce example

3) Установите для базы категорий товаров что-то вроде / shop / product-category

W C Постоянная ссылка Документы

Не забудьте удалить свой код.

...