«Согласование» или «Связывание» двух страниц WordPress: пользовательские поля?

Я помогаю с пользовательским многоязычным сайтом. У нас есть одна страница на английском, а затем эквивалентная страница на французском языке. У меня есть ссылка «ПЕРЕКЛЮЧАТЕЛЬ ЯЗЫКА» в главном контейнере (рядом с панировочными сухарями), который приведет вас на английскую домашнюю страницу, если на любой французской странице, и наоборот.

Помимо использования плагина, как я могу сделать эту ссылку более динамичной, указав ее на эквивалентную страницу , будь то французский или Engligh? Например, когда пользователь находится на странице «События», l чернила указывают на страницу «Evènements», но когда на странице «Фандрайзинг» она указывает на страницу «Лева де фон».

Вот код, который я использую сейчас для переключения языков, используя пользовательские поля, чтобы предоставить всем страницам Engligh имя «MenuName» и значение «English». Затем это служит либо breadcrumbs.php, либо моим новым breadcrumbs-en.php, который имеет соответствующую ссылку на него. Я не думаю, что это лучший способ сделать это, поскольку он зависит от сухарей.

<?php if (get_post_meta($post->ID,'MenuName', true)) { get_template_part('includes/breadcrumbs-en','page'); } else { get_template_part('includes/breadcrumbs','page'); } ?> 

Поэтому я больше ищу для теории связывания двух страниц, по-моему (я думаю) о назначении настраиваемых значений полей для каждой страницы (?)

Существует плагин с именем Multilingual Press, который делает то, что вы описали.

В качестве легкого решения вы можете создать сетевую таблицу для хранения отношений и метабокса для всех сообщений, где вы можете искать и назначать сообщения с других страниц для обновления сетевой таблицы.

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

Вы можете использовать поле «Отношения» для дополнительных пользовательских полей. Добавьте поле на каждую страницу и выберите «эквивалентную страницу» (либо на английском, либо на французском языке) из простого раскрывающегося поля.