Я понимаю, что было несколько вопросов, которые касаются решения, которое я ищу, но я думаю, что я ищу что-то конкретное.
На самом деле это вопрос из двух частей:
1) Моя цель состоит в том, чтобы WordPress работал в сетевом (многосайтовом) режиме, и я пытаюсь найти способ по существу «сгруппировать» определенные сайты вместе. Я знаю о плагине "Multi-Network", но я спрашиваю, является ли это лучшим подходом для этого? Ключевым моментом здесь является предоставление отдельным пользователям возможности добавлять / редактировать сайты в своей подсети.
2) Это ключевой вопрос этого поста ... Я хотел бы знать лучший подход, который позволил бы мне по существу запрашивать посты из этой "подсети" сайтов. Так, например, если в этой подсети есть 10 сайтов, и каждый из них создал посты в пользовательском типе поста, называемом «новостью», то мне бы хотелось иметь возможность отображать, например, 10 последних опубликованных постов из этой коллекции из 10 места.
ПРИМЕЧАНИЕ. Мне нужна возможность создавать несколько подсетей, что, в свою очередь, означает, что в запросе последних опубликованных «новостей» могут отображаться только сообщения из тех, которые принадлежат к соответствующей группе.
Наконец - я понимаю, что существуют решения для подобных вещей, но я ищу лучший подход в обоих случаях, который требует НАИМЕНЕЕ объем загрузки / запросов к базе данных. Я также очень хотел бы сделать это с помощью кода в моем файле functions.php, а не устанавливать плагины, которые создают дополнительный раздув.
Я очень открыт для любых предложений и ценю любой ответ.
источник
У меня была аналогичная проблема. Мне нужно было получить список постов на всех сайтах сети, отсортированный по комментариям (чтобы показать наиболее популярные посты). Это функция, которую я использовал.
Основой является то, что он сначала получает список всех идентификаторов блогов в вашей сети. Затем он создает большой одиночный запрос (используя UNION для объединения всех строк и не требующий уродливых соединений), который получает результат, содержащий столбцы blog_id, ID и comment_count. Используя это, я затем использую get_blog_post (), чтобы получить подробную информацию о каждом из сообщений.
Есть несколько строк отладки, которые вы можете использовать в разных точках, чтобы увидеть, что происходит.
}
источник
Вам определенно нужны многосайтовые сетевые плагины. На данный момент есть три варианта: два платных, один бесплатный.
Оттуда вы можете использовать что-то вроде плагина sitewide tags для отправки сообщений в основной блог в каждой сети.
Ничто из этого не может (или не должно быть) сделано из файла функций темы.
источник
создать пользовательскую поисковую систему google.com/cse, указав все сайты, которые вы хотите найти
встроить его на свой сайт
источник