WordPress のマルチブログから記事を持ってくる関数を作成。
こちらを参考にさせて頂きました。ありがとうございます。
http://blog.cgfm.jp/garyu/archives/2223
$showpostsで表示数を設定可能。
function get_posts_from_all($showposts, $denyBlogs = array()) { global $wpdb; // current blog id $mysiteid = $GLOBALS['blog_id']; // get child blog ids $blogList = $wpdb->get_results(" SELECT blog_id FROM $wpdb->blogs ORDER BY blog_id" ); // post count $pcount = 0; $should_get_amount = $showposts * count($blogList); foreach ($blogList as $blog) { $blog_id = $blog->blog_id; if (in_array($blog_id, $denyBlogs)) continue; // skip denied // change to target blog switch_to_blog($blog->blog_id); // get blog site and url $siteurl = get_site_url(); $blog_name = get_option('blogname'); // amount of post should get $should_get_amount = $should_get_amount - $pcount; $my_posts = get_posts("showposts=$should_get_amount&post_status=publish"); if (have_posts()) { // insert values. Use timestams as the key. foreach ($my_posts as $post) { if($pcount < $showposts): $pcount++; setup_postdata($post); $get_post_time = $post->post_date; $unix_time = strtotime($get_post_time) . ':' . $blog_id . '-' . $post->ID; $entryAry[$unix_time]['quid'] = $post->guid; $entryAry[$unix_time]['ID'] = $post->ID; $entryAry[$unix_time]['title'] = $post->post_title; $entryAry[$unix_time]['date'] = date('Y/m/d', strtotime($post->post_date)); $entryAry[$unix_time]['siteurl'] = $siteurl; $entryAry[$unix_time]['blogname'] = $blog_name; $entryAry[$unix_time]['blog_id'] = $blog_id; $entryAry[$unix_time]['categories'] = get_the_category($post->ID); $categories_link = ''; $categories = get_categories(); foreach ($categories as $category) { $categories_link .= '