nmatling
@nmatling
Web

Как сделать синхронизацию публикаций в Wordpress multisite?

Здраствуйте добрые люди! Подскажите пожалуйста, как сделать синхронизацию публикаций между сайтами сети мультисайт на вордпресс, а также общие роли пользователей.
Мне надо чтоб на одном сайте отображались записи с остальных сайтов, а также при присвоении костомной роли, пользоателю присваивалась такая же роль и на другом сайте. Как такое сделать?
  • Вопрос задан
  • 98 просмотров
Решения вопроса 1
artzolin
@artzolin Куратор тега WordPress
php, WordPress разработка сайтов artzolin.ru
Функция switch_to_blog() позволяет переключается на указанный блог в системе мультисайтов. После переключения, любые запросы wp_query(), get_terms(), get_users() будут работать в рамках базы данных, на которую вы переключились

// переключаемся на блог 1
switch_to_blog( 1 );

// задаем нужные нам критерии выборки данных из БД
$args = array(
	'posts_per_page' => 5,
	'post_type' => 'post',
	'orderby' => 'comment_count'
);

$query = new WP_Query( $args );

// Цикл
if ( $query->have_posts() ) {
	while ( $query->have_posts() ) {
		$query->the_post();
		echo '<h2>' . get_the_title() . '</h2>';
	}
} else {
	// Постов не найдено
}
// Возвращаем оригинальные данные поста. Сбрасываем $post.
wp_reset_postdata();

// возвращемся к текущему блогу
restore_current_blog();


Так же функцию можно использовать на хуках типа profile_update или save_post, чтобы сделать какие-то изменения на другом сайте в системе мультисайтов
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы