There are lots of good things about WP. It is fairly easy to install and from the user point of view it looks nice for the most part. But if you take a peak under the hood at the PHP code that makes WP happen, you’ll likely be very disappointed.
I share some of the concern here. There’s no good templating language, although they at least moved away from the hideous idea of “let’s stick everything in index.php.”
I posted to the WP forum a few weeks ago about an API that would let you go around the presentation deficiencies. According to the responses, there is apparently no such API. I played around with it for about 30 minutes, and had a good one going. Something like:
$wp = new WordPress();
$posts = $wp->GetPosts('date', 'ASC', 10);
foreach($posts as $post)
It worked really well, and I may go back to it. The idea was that if you did this, then you could just push everything off to Smarty for presentation.
But, in the end, I share Joseph’s optimism for the project. As I wrote two years ago, projects rarely sink or swim on the perfection of the code. Successful apps (1) solve a problem, and (2) are pleasant experiences for the user. WordPress suceeds on both levels.