Перепишите/Измените слаг пользовательской таксономии

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

Я хочу, чтобы этот URL: =>
mydomain.com/genre/chant

был переписан как =>
mydomain.com/chambers/chant.

Я хочу, чтобы пользователи имели доступ к mydomain.com/chambers/chant вместо mydomain.com/genre/chant.

genre – это пользовательская таксономия для пользовательского типа записи tracks. Эта пользовательская таксономия зарегистрирована в теме. Я хочу изменить ее URL-идентификатор с genre на chambers в своем плагине. Как мне это сделать?

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

add_rewrite_rule('^chambers/?','index.php?post_type=tracks&taxonomy=genre','top');

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

function wp_modify_taxonomy() {

    // получить аргументы уже зарегистрированной таксономии
    $custom_category_args = get_taxonomy( 'genre' );

    // внести изменения в аргументы
    $custom_category_args->rewrite['slug'] = 'chambers';
    $custom_category_args->rewrite['with_front'] = false;

    // повторно зарегистрировать таксономию
    register_taxonomy( 'genre', 'chambers', (array) $custom_category_args );
}
add_action( 'init', 'wp_modify_taxonomy', 11 );

.

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

Чтобы изменить слаг (slug) пользовательской таксономии в WordPress, вам нужно произвести несколько шагов, чтобы сделать это корректно и эффективно. В вашем случае вы хотите изменить слаг с «genre» на «chambers» для пользовательской таксономии, зарегистрированной для типа записи «tracks». Ниже приведен детальный процесс, который вам нужно выполнить.

Пошаговое руководство

  1. Измените слаг в уже зарегистрированной таксономии:
    Вам нужно получить текущие аргументы для таксономии «genre», изменить слаг на желаемый и заново зарегистрировать эту таксономию. Это можно сделать с помощью следующего кода:

    function wp_modify_taxonomy() {
       // Получаем существующие аргументы зарегистрированной таксономии
       $custom_category_args = get_taxonomy('genre');
    
       // Обновляем слаг и убираем префикс
       $custom_category_args->rewrite['slug'] = 'chambers';
       $custom_category_args->rewrite['with_front'] = false;
    
       // Пере-регистрируем таксономию
       register_taxonomy('genre', 'tracks', (array) $custom_category_args);
    }
    add_action('init', 'wp_modify_taxonomy', 11);

    После этого, когда вы будете создавать или редактировать термины в вашей таксономии, они будут отображаться по новому адресу mydomain.com/chambers/chant.

  2. Обновите правила перезаписи:
    Чтобы изменения вступили в силу, вам нужно обновить настройки перезаписи URL. Это можно сделать из администраторской панели WordPress. Перейдите в меню «Настройки» -> «Постоянные ссылки» и просто нажмите кнопку «Сохранить изменения». Это приведет к обновлению перезаписи URL в вашей базе данных.

  3. Проверка настроек на сайте:
    После выполнения этих шагов и обновления правил перезаписи вам следует проверить, что ваши термины доступны по новому адресу. Для этого просто перейдите по адресу mydomain.com/chambers/chant и убедитесь, что он работает корректно.

Дополнительные советы

  • Проверьте наличие конфликта с другими плагинами или таксономиями: Если у вас установлены другие плагины или таксономии, убедитесь, что новый слаг «chambers» не конфликтует с ними.
  • Почистите кеш: Если на вашем сайте включено кеширование, обновите кеш, чтобы увидеть изменения на фронтенде.
  • SEO-оптимизация: Убедитесь, что новый слаг подходит для ваших SEO-целей. «Chambers» может быть более подходящим термином в зависимости от содержания вашего сайта.

Заключение

Изменение слага пользовательской таксономии — это достаточно просто, если следовать вышеописанным шагам. Это поможет улучшить пользовательский опыт и соответствовать общей стратегии SEO для вашего сайта. Если у вас возникнут дополнительные вопросы или поломки, всегда можно обратиться к документации WordPress или к сообществу разработчиков для получения помощи.

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

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