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

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

Mosstudent

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

Smilewich

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

qwer

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

qwer

Специалист
Местный

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

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

Smilewich

Новичок
Что-то подсказывает, что возможно у вас на страницах могли остаться абсолютные пути. Вот у вас было так: 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

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

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

qwer

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

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

qwer

Специалист
Местный
Там тоже самое, его я тоже использовал, менял ссылку на категорию в поле, а она возвращалась обратно

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

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

tuxfighter

Гуру
Местный
Там тоже самое, его я тоже использовал, менял ссылку на категорию в поле, а она возвращалась обратно
Все, победил проблему, выставив в «Произвольное» /%category%/%postname%

https://ru.wordpress.org/support/topic/формирование-адреса-страниц/#post-244708
 

Smilewich

Новичок

Вложения

  • 1.png
    1.png
    27.6 KB · Просмотры: 89
  • 2.png
    2.png
    24.5 KB · Просмотры: 68
  • 3.png
    3.png
    21.7 KB · Просмотры: 79

Smilewich

Новичок
http://okner.ru.xsph.ru/catalog/ - Вот здесь есть категории, в них есть товары. При смене в постоянных ссылках "База категорий товара" с "/catalog/category" на "/catalog" возникает 404 ошибка
 

Zoten

Форумчанин
Думаю это решит проблему, если хотите сделать единую базу (например "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);
}
 
Сверху Снизу