Идентификатор продукта WooCommerce в качестве постоянной ссылки

Вопрос или проблема

В настоящее время пермалинки продуктов WooCommerce выглядят как ‘/product/shoes-3’, ‘/product/cup-12’ и т.д.

Как изменить пермалинки продуктов, чтобы они выглядели только как /p/product_ID, например ‘/p/1122’, без использования каких-либо плагинов?

Оказывается, есть хороший плагин, который легко это делает. ‘Permalinks Customizer’ https://wordpress.org/plugins/permalinks-customizer/

.

Ответ или решение

Чтобы изменить структуру постоянных ссылок для продуктов в WooCommerce на формат, отражающий ID продукта (например, /p/1122), без использования плагинов, следует внести изменения в код вашего сайта. Ниже представлена пошаговая инструкция для достижения желаемого результата.

Шаг 1: Создание резервной копии

Перед тем как вносить изменения в код, обязательно создайте резервную копию вашего сайта и базы данных. Это позволит вам вернуть сайт в рабочее состояние в случае возникновения ошибок.

Шаг 2: Изменение структуры постоянных ссылок

  1. Откройте файл functions.php вашей темы. Это можно сделать через панель администратора WordPress:

    • Перейдите в Внешний вид > Редактор тем.
    • Найдите файл functions.php в правой колонке.
  2. Добавьте следующий код в файл:

    add_filter('post_type_link', 'custom_product_permalink', 10, 2);
    function custom_product_permalink($permalink, $post) {
       if ($post->post_type === 'product') {
           return home_url('/p/' . $post->ID);
       }
       return $permalink;
    }
    
    add_action('init', 'custom_rewrite_rules');
    function custom_rewrite_rules() {
       add_rewrite_rule('^p/([0-9]+)/?$', 'index.php?product=$matches[1]', 'top');
    }
    
    add_filter('post_type_link', 'custom_product_permalink', 10, 2);
    function custom_product_permalink($permalink, $post) {
       if ($post->post_type === 'product') {
           return home_url('/p/' . $post->ID);
       }
       return $permalink;
    }

    Этот код изменяет структуру постоянной ссылки для продуктов на формат /p/ID и также создает правило для обработки новых адресов.

Шаг 3: Обновление постоянных ссылок

После добавления кода необходимо обновить структуру постоянных ссылок:

  1. Перейдите в админку WordPress.
  2. Нажмите на Настройки > Постоянные ссылки.
  3. Нажмите кнопку "Сохранить изменения" без изменения текущей структуры.

Это необходимо для того, чтобы WordPress распознал новые правила перезаписи.

Шаг 4: Проверка изменений

Теперь вы можете проверить, правильно ли работают новые постоянные ссылки:

  • Перейдите к продукту на вашем сайте, и проверьте, отображается ли ссылка в формате /p/ID.

Важно!

  • Если у вас включен кеш на сайте, возможно, потребуется очистить его, чтобы изменения вступили в силу.
  • Учтите, что использование такого формата может негативно повлиять на SEO, так как поисковые системы могут не распознавать содержание страниц по их ID. Рекомендуется также адаптировать структуру внутренних ссылок и убедиться, что новые ссылки индексируются корректно.

Заключение

Следуя указанным шагам, вы сможете изменить постоянные ссылки продуктов в WooCommerce на уникальный формат без необходимости установки дополнительных плагинов. Это решение не только позволяет вам лучше контролировать структуру URL, но и повышает общее удобство использования вашего интернет-магазина для пользователей.

Оцените материал
Добавить комментарий

Капча загружается...