Intereting Posts
Проверьте, имеет ли цикл какие-либо категории? Таможенные единицы типа пользовательских сообщений – значения, не отображаемые на страницах категорий или тегов Простая и настраиваемая форма контакта с возможностью отправки копии отправителю WordPress 4.4+ разрывает расширение Walker Как мне обойти «Извините, этот тип файла запрещен по соображениям безопасности»? Как добавить фильтр для вывода всех виджета Как добавить сообщения в пользовательские меню? Как изменить? Lang = cn в / cn / Отображение различных изображений в зависимости от текущего дня Stumped – Ajax Response Возвращает 0 Запрос пользовательской метавыставки с добавлением Как связать плагин с темой или наоборот Крючок в родительской теме Функция меню Получение пользовательских полей типа post без сообщения Ссылка на автора сообщения, но исключить администратора (на single.php)

Локализовать базы URL-адресов

Я управляю неанглийским блогом. Мне нравится, что WordPress переведен на испанский язык, и в настоящее время я использую переведенную на английский язык версию WordPress.

Единственное, что я хотел бы изменить, это структура URL для моего блога. Например, вместо sitio.com/category/gatos , я бы хотел изменить URL-адрес на sitio.com/categoria/gatos . Я знаю, что вы можете установить базу категорий и базу тегов в настройках / Permalinks, но я хотел бы знать, как это сделать в коде. Кроме того, я хочу перевести search/ в busqueda/ и page/ to pagina/ .

Я хочу перевести все это на испанский.

  • category_base
  • author_base
  • pagination_base
  • feed_base
  • search_base
  • comments_base

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

Я прочитал WordPress Codex для WP_Rewrite и экспериментировал с add_rewrite_rule , но я все еще застрял. Кто-нибудь знает, где еще я мог бы смотреть?

Обновить:

С помощью этой функции ваша форма поиска все равно может использовать name="s" , но пользователь будет перенаправлен в соответствующее место при отправке.

 function redirectSearch() { // Make sure you redirect to whatever your search_base is. if(!empty($_GET['s'])){ wp_redirect(home_url('/busqueda/').urlencode(get_query_var('s'))); } } add_action('template_redirect', 'redirectSearch'); 

Это должно охватывать все:

 function wpa_rewite_translate(){ global $wp_rewrite; $wp_rewrite->pagination_base = 'pagina'; $wp_rewrite->author_base = 'autor'; $wp_rewrite->comments_base = 'comentarios'; $wp_rewrite->feed_base = 'alimentar'; $wp_rewrite->search_base = 'busqueda'; $wp_rewrite->set_category_base( 'categoria/' ); $wp_rewrite->set_tag_base( 'etiqueta/' ); } add_action( 'init', 'wpa_rewite_translate' ); 

Не стесняйтесь смеяться над моими переводами, ха-ха.

Кроме того, чтобы сбросить правила перезаписи, когда ваша тема активирована, добавьте следующее:

 function wpa_flush_rewite(){ flush_rewrite_rules(); } add_action( 'after_switch_theme', 'wpa_flush_rewite' );