• Вопрос без рабочей ссылки на проблему считается риторическим. Без ссылки и скриншота - провокацией!
  • Темы озаглавленные с маленькой буквы или капсом удаляются без предупреждения!

Изменить ссылку product-category

Mosstudent

Новичок
#2
В настройках "Настройки" / "Постоянные ссылки" - там есть поле для категорий товара.
 

Smilewich

Новичок
#3
Доброго времени суток, имеется сайт на котором нужно поменять URL вывода категорий. При смене "База категорий товара" вместо "/catalog/category" на "/catalog/" на страницах категорий вылезает 404 ошибка. С чем это может быть связано и как это можно исправить?
P.S. На сайте была структура "http://site.ru/catalog/category/okna/" и мне нужно убрать category.
Пробовал плагинами, кодом в functions.php, htaccess менял ничего не помогает
Заранее благодарю за ваши ответы
 

qwer

Специалист
Местный
#4
Доброго времени суток, имеется сайт на котором нужно поменять URL вывода категорий. При смене "База категорий товара" вместо "/catalog/category" на "/catalog/" на страницах категорий вылезает 404 ошибка. С чем это может быть связано и как это можно исправить?
P.S. На сайте была структура "http://site.ru/catalog/category/okna/" и мне нужно убрать category.
Пробовал плагинами, кодом в functions.php, htaccess менял ничего не помогает
Заранее благодарю за ваши ответы
Добрый вечер.
Покажите какие на данный момент у вас настройки ссылок
 

qwer

Специалист
Местный
#6
Что-то подсказывает, что возможно у вас на страницах могли остаться абсолютные пути. Вот у вас было так: http://site.ru/catalog/category/okna/ добавлялись разные категории и товары, а когда вам понадобилось изменить URL могла в записях остаться ссылка "category" которую вы сейчас убрали, поэтому и выводится ошибка. Вы проверяли ссылки на записи?
Кажется видела похожее описание проблемы где-то на этих страницах.
А вообще, я немного запуталась в вашем вопросе. Вы убираете "category" но всё равно хотите их где-то выводить?

Могу неправильно понимать проблему.
 

Smilewich

Новичок
#7
Что-то подсказывает, что возможно у вас на страницах могли остаться абсолютные пути. Вот у вас было так: http://site.ru/catalog/category/okna/ добавлялись разные категории и товары, а когда вам понадобилось изменить URL могла в записях остаться ссылка "category" которую вы сейчас убрали, поэтому и выводится ошибка. Вы проверяли ссылки на записи?
Кажется видела похожее описание проблемы где-то на этих страницах.
А вообще, я немного запуталась в вашем вопросе. Вы убираете "category" но всё равно хотите их где-то выводить?

Могу неправильно понимать проблему.
В каталоге с такими настройками постоянных ссылок выводятся ссылки на категории вида "http://site.ru/catalog/okna/" но на этих страницах возвращается 404 ошибка, если поменять базу категорий с "/catalog" на "/catalog/category" всё работает но ссылки на категории становятся "http://site.ru/catalog/category/okna/ " а мне нужно избавиться от слова "category". Вся суть проблемы в том что ссылки на раздел с теми настройками что мне нужны возвращают 404, мне по идее нужно избавиться от 404 и всё, проблема будет решена.
 

Kvistis

Опытный
Местный
#10
Может быть, у меня выбрано product_cat и работает, но я не очень помню уже что он убирает, что-то тоже с категориями)

База стоит дефолтная product_category, вроде бы без плагина выводился product_cat или category
 

qwer

Специалист
Местный
#11
Возможно поможет этот плагин Custom Permalinks.
Я им никогда не пользовалась и не знаю насколько целесообразно перелинковывать всё что есть на сайте с его помощью. Но он может решить вашу проблему, только придется делать всё ручками..
Пользоваться или нет, решать вам.

Пока другой способ в голову ещё не пришёл. :unsure:
 

qwer

Специалист
Местный
#13
Там тоже самое, его я тоже использовал, менял ссылку на категорию в поле, а она возвращалась обратно
Советуют так же Perfect SEO Url по его возможностях, он бы вполне подошёл для ваших целей. Но стоит 119 баксов.
Его тоже не использовала, поэтому свой отзыв о корректности работы дать не могу.

Пока любое решение вашей проблемы заводит в тупик. :notworthy:
 

tuxfighter

Гуру
Местный
#15
Там тоже самое, его я тоже использовал, менял ссылку на категорию в поле, а она возвращалась обратно
Все, победил проблему, выставив в «Произвольное» /%category%/%postname%
https://ru.wordpress.org/support/topic/формирование-адреса-страниц/#post-244708
 

Smilewich

Новичок
#16

Вложения

  • 27.6 KB Просмотры: 32
  • 24.5 KB Просмотры: 32
  • 21.7 KB Просмотры: 31

Zoten

Форумчанин
#20
Думаю это решит проблему, если хотите сделать единую базу (например "catalog") для категорий и товаров

PHP:
function devvn_product_category_base_same_shop_base( $flash = false ){
    $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'));

            add_rewrite_rule($baseterm . '?$','index.php?product_cat=' . $term_slug,'top');
            add_rewrite_rule($baseterm . 'page/([0-9]{1,})/?$', 'index.php?product_cat=' . $term_slug . '&paged=$matches[1]','top');
            add_rewrite_rule($baseterm . '(?:feed/)?(feed|rdf|rss|rss2|atom)/?$', 'index.php?product_cat=' . $term_slug . '&feed=$matches[1]','top');

        }
    }
    if ($flash == true)
        flush_rewrite_rules(false);
}
add_filter( 'init', 'devvn_product_category_base_same_shop_base');
add_action( 'create_term', 'devvn_product_cat_same_shop_edit_success', 10, 2 );
function devvn_product_cat_same_shop_edit_success( $term_id, $taxonomy ) {
    devvn_product_category_base_same_shop_base(true);
}
 
Сверху Снизу