I’ve answered this one quite a few times in the past couple of weeks and realized that I don’t have a posts specifically for this subject. It’s buried in other posts. 🙂
There are a few different ways to pull in these posts, and none of them are theme issues. They are done entirely with plugins. Of course, I have a couple of favorites, and your mileage may vary, depending on how you want to present the posts.
AHP Sitewide Recent posts – this plugin goes in the mu-plugins folder and has a template tag that you need to paste in your main blog’s theme file. Usually in the home.php, if there is one. This is good if you just want a brief list, maybe with an excerpt. As an added bonus, you can also show the users’ Gravatar. It can be easily adapted to use a local avatar if you use one of the many avatar plugins around.
This plugin will not show in the plugins list and does not create a menu in the backend. It’s purely one for adding code to your template.
Maybe you want a small box of recent posts, but are wary of messing around with code. Ada A Blog Recent Posts Widget does a similar thing, but in a widget. Then you can place it anywhere in your theme that is widgetized. You wil only see this plugin in your widgets area.
Both of these plugins step through the database and are just fine on smaller sites. If you have a larger site, lots of traffic, and need way more flexibility, then we get to my all-time fave, Sitewide Tags. The plugin name is a bit of a misnomer, as it was originally was for setting up sitewide tags, but the way it does so means it can be used for so much more. Donncha, the main dev for wordpressmu, developed this plugin for the community in what little spare time he has.
Basically, this plugin creates a separate tags blog. It makes a copy of each blog post on the entire system and puts it in this blog. From there, the visitor can search, pick tags, find common categories and more. The posts themselves link back to the originating blog.
With a small change to this plugin’s options, found under Site Admin -> Options, way at the bottom, you can direct it to use the main blog. The main blog will still function as a blog. We’ve used it this way on HomeschoolJournal. Then, we can use the single blog widget like Search and Recent posts to find global content – because it’s reproduced in one blog.
A couple of minor tweaks may also be desired. While sitewide tags pulls the posts, it does not pull the comments count or custom fields. Here’s a forum thread to help with the custom fields. And here’s a post to help with getting the sitewide comments.