Интересная цель. URL фактически создается на основе слагаемой страницы, которая является единственной в своем роде ... поэтому нет простого способа соединить пару /users/
с /utilisateurs/
. Или, по крайней мере, не родной путь.
Лучшее, что вы можете сделать, это подключиться к методам перенаправления URL-адресов WordPress и выполнить поиск в настроенном вручную массиве английских => слагов французской страницы.
Прямо на макушке головы, generate_rewrite_rules
может быть хорошим хуком, на который стоит обратить внимание начинающим.
Другая возможность - подключиться к фильтру query_vars
и вручную заменить все слагы французской страницы их английскими эквивалентами. Тогда ваш французский URL должен запросить базу данных WordPress для той же самой страницы, что и английский URL. Вам просто нужно быть уверенным, что английский слаг присутствует в базе данных, иначе вы столкнетесь с проблемами.
Не проверено Пример
Хитрость заключается в том, чтобы подключиться к системе запросов WordPress и динамически заменять части запроса по мере продвижения. Допустим, вы начинаете с такого массива (у меня есть только один элемент, потому что я не говорю по-французски):
$translations = array(
'utilisateurs' => 'users'
);
Теперь нам нужна функция, которая будет принимать французскую строку и возвращать ее английский эквивалент:
function translate_slug( $french ) {
if( in_array( $french, array_keys( $translations ) ) {
return $translations[$french];
}
return $french
}
Далее мы подключаем фильтр query_vars
и заменяем наши переменные слагаемой страницы желаемыми английскими эквивалентами:
function filter_french_slugs() {
global $wp_query;
$wp_query->query_vars['pagename'] = translate_slug( $wp_query->query_vars['pagename'] );
$wp_query->query_vars['name'] = translate_slug( $wp_query->query_vars['name'] );
}
add_filter( 'pre_get_posts', 'filter_french_slugs' );
Это должно преобразовать вещи для вас, но, как я сказал выше, это пока не проверено на данный момент ... просто идея того, как вы могли бы это осуществить.