Посты и наследование страниц для дочерних сайтов в сети WordPress

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

abc.com/ > Global Website abc.com/usa > USA Website abc.com/fra > France Website 

Я обнаруживаю страны через Geo Location API и насильственно перенаправляю их на сайт своей собственной страны. Каждая страна имеет свой собственный набор языков, например, у Франции будут английский и французский с французским языком по умолчанию. Я решил использовать PolyLang для языковых переводов. Он работает нормально.

 abc.com/fra/ > default french website abc.com/fra/en > english translation of the french website. 

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

Также есть раздел событий, который может иметь глобальные события, а также события на уровне страны / страны.

Я могу думать о следующих решениях и их недостатках

  1. Плагин 3WP Broadcast. Этот плагин передает страницу / сообщения другим сайтам по выбору. Кажется, это отличный выбор, но дублирует содержание, чего я избегаю. Моровер, я не уверен, как он будет работать с переводами PolyLang.

  2. Добавляя действие «template_redirect» или «wp», если субсайдер не может найти пул, и тот же самый slug доступен на глобальном сайте, он должен быть заполнен и избегать 404. Нам также необходимо перехватить или переопределить вызовы WP_Query для запуска того же запроса на глобальном сайте и верните результаты. О PolyLang, я не уверен, как это будет работать. Думаю, его можно разобраться. Этот подход является сложным и может закончиться не-где.

У кого-нибудь есть лучшее решение? Плагин или идея, которая может решить эту интересную тайну?

Я считаю, что это общий сценарий для многонациональной компании. Итак, должно быть жизнеспособное решение этого.

Solutions Collecting From Web of "Посты и наследование страниц для дочерних сайтов в сети WordPress"

R, простым решением является создание 2 пост-мета.

Первый – «ID блога». Второй – «Почтовый идентификатор»,

и вы используете

 $blog_id = get_post_custom_values('blog_id'); $post_id = get_post_custom_values('post_id'); if( !empty( $blog_id ) ) switch_to_blog( $blog_id ); $query = new WP_Query( array( 'p' => $post_id )); if( $query->have_posts() ){ while( $query->have_post() ){ $query->the_post(); } } restore_current_blog(); 

Справка:

  1. http://codex.wordpress.org/Function_Reference/switch_to_blog
  2. http://codex.wordpress.org/Class_Reference/WP_Query