Попытка объединить несколько запросов WordPress

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

Я использую код ниже, основываясь на том, что я нашел на форумах WordPress . По существу, предполагается объединить два запроса, захватить идентификаторы сообщений, а затем подготовить данные сообщения.

 <?php $post_types = get_post_types('events',''); $featuredEvents = get_posts(array( 'post_type' => $post_types, 'post_status' => 'publish', 'showposts' => 5, 'meta_key' => '_ecmb_featured_event', 'meta_value' => 'on' )); $featuredNews = get_posts(array( 'post_type' => $post_types, 'post_status' => 'publish', 'showposts' => 5, 'meta_query' => array( array( 'key' => '_thumbnail_id', 'compare' => 'EXISTS' ) ) )); $mergedPosts = array_merge( $featuredEvents, $featuredNews ); $postIDs = array(); foreach( $mergedPosts as $item ) { $postIDs[] = $item->ID; } $uniquePosts = array_unique($postIDs); $posts = get_posts(array( 'post__in' => $uniquePosts, 'post_type' => $post_types, 'post_status' => 'publish', )); foreach( $posts as $post ) : setup_postdata($post); ?> <?php $post_types = get_post_types('events','post'); $featuredEvents = get_posts(array( 'post_type' => $post_types, 'post_status' => 'publish', 'showposts' => 5, 'meta_key' => '_ecmb_featured_event', 'meta_value' => 'on' )); $featuredNews = get_posts(array( 'post_type' => $post_types, 'post_status' => 'publish', 'showposts' => 5, 'meta_query' => array( array( 'key' => '_thumbnail_id', 'compare' => 'EXISTS' ) ) )); $mergedPosts = array_merge( $featuredEvents, $featuredNews ); $postIDs = array(); foreach( $mergedPosts as $item ) { $postIDs[] = $item->ID; } $uniquePosts = array_unique($postIDs); $posts = get_posts(array( 'post__in' => $uniquePosts, 'post_type' => $post_types, 'post_status' => 'publish', )); foreach( $posts as $post ) : setup_postdata($post); ?> <?php if( get_post_type() == 'events' ) { ?> this is featured event <?php } elseif (get_post_type() == 'post') { ?> this is a featured post <?php } endforeach; wp_reset_query(); ?> 

Проблема в том, что это возвращает 1) только типы post post, и 2) он выдает следующую ошибку для каждого типа post post:

Warning: Invalid argument supplied for foreach() in /MYDIR/wp-includes/functions.php on line 2688

Кто-нибудь будет достаточно любезен, чтобы указать мне в правильном направлении?