Решения для перепоста категорий в многосайтовые блоги?
Я провел поиск по этой теме, но не смог найти решение этого конкретного вопроса, связанного с мультисайтом wordpress.
В настоящее время у меня есть сеть wordpress, где domain.com это наш основной сайт, а затем каждый сайт был локализован с помощью доменов с кодом страны, а также конкретных страновых сервисов.
Например: Основной domain.com - Австралия domain.com.au - Великобритания domain.co.uk и т.д.
В серверной части он настроен как подкаталоги, domain.com, domain.com/au и т.д.
Что я хочу сделать, так это настроить категории на главном сайте, например:
Галерея - Австралия - Великобритания и т.д.
Когда я ставлю галочку в поле "Австралия", он автоматически перепечатывает все сообщения из подкатегории "Австралия" в соответствующие категории настройки/установки?
Есть ли плагин/решение для этого qeury? Прочитал много статей, но они предназначались только для установки на одном сайте.
1 answers
add_filter( 'the_posts', 'wpse138563_add_posts' );
function wpse138563_add_posts( $posts ) {
if( ! is_multisite() ) {
// if we're not using Multisite, bail
return;
}
if( is_main_site() ) {
// if we're in the root site, bail
return;
}
$country = get_bloginfo( 'name' );
// This assumes that the categories in your main site
// have the same names as the country sites do
if( $query->is_main_query() ) {
// alter the main query
switch_to_blog( BLOG_ID_CURRENT_SITE );
$category = get_cat_ID( $country );
// get the posts with the appropriate category
$args = array(
'category' => $category,
);
$more_posts = get_posts( $args );
$posts = array_merge( $posts, $more_posts );
restore_current_blog();
}
return $posts;
}
Непроверенный. Надеюсь, это сработает или, по крайней мере, послужит вам отправной точкой.
Предостережение: Категории на вашем корневом сайте должны иметь то же имя, что и имена сайтов ваших дочерних сайтов, чтобы это работало. т.Е., чтобы сообщение появилось на сайте с именем "Австралия", ваша категория на domain.com
должна быть названа "Австралия".