Intereting Posts
Перенаправление Допустимые постоянные ссылки на Ugly Permalinks меню отображения в виде таблицы использование функций администратора во внешнем интерфейсе Как включить активный контент в пользовательский тип сообщения? Получить полную страницу HTML для непубличной страницы WordPress Использовать the_content вне цикла Как перенаправить пользователей после отправки ответов на модерацию на bbpress? Множество опций, не выбранных после сохранения Ограничить пользовательский контент для конкретного пользователя Использование post_class для стилей сообщений indivdually Как удалить пользователя при выходе из системы и истечении срока действия сеанса? Перенаправить пользователя на вход, а затем на страницу, откуда они пришли Отображать собственный текст главной страницы на основе домена Безопасно ли / рекомендуется использовать функцию wp_enqueue_script вне файла functions.php? Как перенаправить большое количество URL-адресов?

есть ли функция multisite, имеющая функции posts?

Мне нужна функция, которая проверяет, есть ли в posttype «события» сообщения на всех сайтах мультисайта в сети, если false ничего не делает, если true возвращает cross_events (); функция.

Solutions Collecting From Web of "есть ли функция multisite, имеющая функции posts?"

Существует нет, но вы можете использовать switch_to_blog() для переключения на определенный сайт, а затем использовать обычную функцию WordPress, чтобы проверить, существует ли какое-либо сообщение в типе сообщения или нет.

Например

 add_action('wp_loaded', 'wpse167721_check_networkwide_events'); function wpse167721_check_networkwide_events(){ global $wpdb; $original_blog_id = get_current_blog_id(); // get the original blog id // get network sites $args = array( 'network_id' => $wpdb->siteid, 'public' => null, 'archived' => null, 'mature' => null, 'spam' => null, 'deleted' => null, 'limit' => 100, 'offset' => 0, ); $sites = wp_get_sites($args); foreach($sites as $site){ // switch to blog switch_to_blog($site['blog_id']); if(!wpse167721_is_event_exists()) continue; // skip current iteration and go to the next one // Event exists! do whatever you want to do } // lets switch to our original blog switch_to_blog($original_blog_id); } function wpse167721_is_event_exists(){ $args = array( 'post_type' => 'event', // change the cpt name here 'posts_per_page' => 1, 'fields' => 'ids' ); return count(get_posts($args)); } 

Внимание! Этот код будет запускаться для каждого блога в сети при каждой загрузке страницы (потому что он подключен к wp_loaded ). Если у вас есть большая сеть, тогда рассмотрите пакетную обработку.

код не проверен