Вопрос или проблема
Я хочу, чтобы этот 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». Ниже приведен детальный процесс, который вам нужно выполнить.
Пошаговое руководство
-
Измените слаг в уже зарегистрированной таксономии:
Вам нужно получить текущие аргументы для таксономии «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
. -
Обновите правила перезаписи:
Чтобы изменения вступили в силу, вам нужно обновить настройки перезаписи URL. Это можно сделать из администраторской панели WordPress. Перейдите в меню «Настройки» -> «Постоянные ссылки» и просто нажмите кнопку «Сохранить изменения». Это приведет к обновлению перезаписи URL в вашей базе данных. -
Проверка настроек на сайте:
После выполнения этих шагов и обновления правил перезаписи вам следует проверить, что ваши термины доступны по новому адресу. Для этого просто перейдите по адресуmydomain.com/chambers/chant
и убедитесь, что он работает корректно.
Дополнительные советы
- Проверьте наличие конфликта с другими плагинами или таксономиями: Если у вас установлены другие плагины или таксономии, убедитесь, что новый слаг «chambers» не конфликтует с ними.
- Почистите кеш: Если на вашем сайте включено кеширование, обновите кеш, чтобы увидеть изменения на фронтенде.
- SEO-оптимизация: Убедитесь, что новый слаг подходит для ваших SEO-целей. «Chambers» может быть более подходящим термином в зависимости от содержания вашего сайта.
Заключение
Изменение слага пользовательской таксономии — это достаточно просто, если следовать вышеописанным шагам. Это поможет улучшить пользовательский опыт и соответствовать общей стратегии SEO для вашего сайта. Если у вас возникнут дополнительные вопросы или поломки, всегда можно обратиться к документации WordPress или к сообществу разработчиков для получения помощи.