Feature
Post

Category
Interviews

Shaun Andrews

Fresh off the press comes our latest interview, this time with Shaun Andrews, designer and XHTML & CSS Genius, and time tracking master. A little late, but who can blame him when you have a look at all the sites he’s involved with!

Devlounge: Hello Shaun, how are you? Thanks for taking the time to answer a few for us, I’ve had some things I’ve been burning to ask

Shaun Andrews: I’m doing great. Thanks for the opportunity!

Shaun Andrews Himself...Along with the Molehill Test Monkey (Not Really)

DL: Alright, let’s get started. Mind introducing yourself for those who may not yet have seen Tick or your personal blog?

SA: Well, my name is Shaun Andrews. I’m a 24 year old web designer from a smallish city named Binghamton in upstate New York. I’ve been working on the web for a few years now and for the last 9 months I’ve been making a living as a contractor doing design and XHTML/CSS coding. Some of recent projects that I’ve been involved with are: Tick, the Molehill, Scrapblog, Pluggd, the DrumArchives, and XHTMLGenius. Of course I’m also tweaking and posting at shaunandrews.com, my little corner of the web.

DL: On the subject of Tick, we first previewed the application in mid July, and recently Tick opened to the public. Where did the original idea for Tick come from, and what made you want to put together an application like this?

SA: First off, thanks for the great write up. The Molehill team has poured many hours of sweat, blood and tears into building Tick. We’re very happy to see others finding it useful. The original idea for Tick came out of our own need to accurately track project and task budgets and keep our teams up to date on the project status. We searched the web for a solution, and although we found some great time trackers, none of them gave the feedback our teams needed to really work towards a budget. Many people make the assumption that Tick is simply another time tracker. While it is true that Tick tracks time, Tick was built with the goal of helping people hit their budgets and, as a result, have profitable projects. So we only track time to the extent that it helps achieve that goal.

While it is true that Tick tracks time, Tick was built with the goal of helping people hit their budgets and, as a result, have profitable projects.

For us, the big idea behind Tick came out of the realization that for a services company, time is your inventory. We began thinking about how companies that produce physical product track, price and sell their products. This realization changed the way we ran our business, thought about time, and back to your original question, drove the development of Tick. We have written a little more about this on the Tick website (http://www.tickspot.com/why/). If you work in the service industry, I think it’s worth checking out.

DL: By the way, how did that public launch go?

SA: The public launch was a huge success. It’s still early, but so far all of our expectations have been exceeded. Our preview period was immensely successful, with thousands of subscriptions created, and hundreds of encouraging emails. It’s great to see that Tick is providing a real solution to a real problem that a lot of people are struggling with. At the same time, we had more than a few people that would prefer a heavy time tracking application, which as we stated before isn’t our goal. This really helped us hone in on the folks that stand to best profit from Tick.

DL: Our preview article generated a pretty good amount of buzz surrounding Tick and I’m sure you’ve seen plenty of positive comments. It’s inevitable however that a few people will have negative things to say about the product. How do these negative comments effect the team as you work to complete and launch an application?

Shaun Andrews - Tick Spot

SA: Tick isn’t build for everyone. Tick was specifically designed for people who work in the service industry and struggle with hitting budgets. We knew going into this project that some people wouldn’t get it, but more importantly we know a lot of people were in need of it. Even though Tick is still young, we’re delighted at the level of passion our users have. Most of the criticism that product has received has been in comparison to time tracking or project management solutions. For the most part this doesn’t affect us much, as we understand that the reviewer/commenter may not understand the pain that Tick relieves. We’re not interested in going feature-to-feature with other products or compromising the foundation that Tick was built upon.

DL: Let’s talk personal: How’d you get into design & development?

SA: It’s strange really. I’ve always been into computers, but never specifically web design. I actually went to school for Computer Aided Drafting/Design, and then continued and received a masters in Mechanical Engineering with a minor in Mathematics. I spent a lot of time with math and physics throughout college, and I loved every minute of it. Somewhere along the way I began to realized that being a mechanical engineer just wasn’t for me.

Shaun Andrews - His Personal Blog

I think I made my first website while I was in high school. It was a personal website with links to sites I thought were “cool”. I made it with Netscape’s built in WYSIWYG editor, and I only toyed with basic HTML. All throughout high school I played with HTML as a hobby. In college I began using the Macromedia studio (Fireworks and Dreamweaver 3 mainly) to create websites for bands and school organizations. Sometime during my junior year of college I discovered CSS. Since then I’ve been addicted. I got my first professional web job before I graduated from college. I moved to Miami, FL to begin working at Alienware Corp. as a web editor. After getting my feet wet I then moved onto to a much bigger role as part of a small web team for a branding agency name Propeller in downtown Miami. After leaving Miami for Jacksonville, I made the choice to start my own business and have been self-employed ever since.

DL: What are you hobbies and interests away from the desk?

Music. I’ve been playing drums for well over 10 years now and guitar for about 5 years now. It’s a safe bet that if I’m not online, I’m sitting at my kit or playing guitar.

DL: Let’s talk about your newest venture, XHTMLGenius. First off, killer domain name, I can see that going for thousands in the future ;). What made you decide to give it a shot, and how do you hope it will pan out (max clients per week, future plans, etc)?

It’s a safe bet that if I’m not online, I’m sitting at my kit or playing guitar.

SA: Yea, XHTMLGenius is a pretty cool domain name, but I don’t see myself selling it anytime in the near future. I also own CSSGenius.com and WordPressGenius.com. There are plans to launch those other two sites as companions when time permits.

The site came about during some down time between projects. I was looking for a way to bring in small projects to fill those gaps of down time. I saw a few sites popping up offering similar services and I knew that I could compete. I kept the site very simple and gave myself a budget of 5 hours - I really thought it would be wasted time, an experiment at best. I spread the word through Google AdSense and some forums and before I knew if I had a few jobs lined up.

The site has been a huge success and has paid for itself many times over. The great thing about XHTMLGenius is that there’s no negotiating or squabbling. The scope, price and timeline are all set up front. The client pays and I deliver. It’s simple and it’s been working great!

DL: Any things you want to get out while you have the chance?

SA: You can expect a redesign of shaunandrews.com in the coming weeks and some code updates to Tick in the near future.

XHTMLGenius has been getting a lot of love lately, and you can expect to see some other Genius sites in the future as well.

DL: As always, thanks for chatting with me. Looking forward to more of your projects in the future, and of course, we’ll be talking about them before anyone else.

SA: Thanks for the opportunity and keep up the great work with Devlounge!

Feature
Post

Category
General

sIFR 3 Beta 1 Released

Just in time for Christmas comes the release of sIFR 3, the javascript, flash, and css solution to outputting smoother text using flash. Previous versions of sIFR were frowned upon by most designers because they increased loading times on pages greatly, but this new beta has supposedly eliminated that by using on-demand loading to load the text - not loading the text after everything else which was the case prior to version three.

You can read more about the update and grab it for yourself here.

Feature
Post

Category
Friday Focus

Friday Focus #10

The tenth addition of Friday Focus is finally here (whew, what a milestone!). Enough talk and more focus!

Sites of the Week

First and foremost this week is Digg. Earlier this week the internet’s favorite vote-for-news portal got a significant face lift and looks a hell lot better. My favorite is how the navigation “stacks” upon itself. It’s pretty sweet.

Digg - The Redesign for FF

Next is artypapers. The design is extremely simple and calming, something you need during the holiday season. I love the pastel like color scheme as well.

Artypapers - Simple pastel colors are nice

Finally there is welkam, a company that designs and builds exhibitions in Japan and the US. I liked the flow of the site and I felt it got the message of what they do across very effectively.

Welkam - What a cool way of spelling welcome

Digg Weekly

Design: 50 Beautiful CSS-Based designs of ‘06
A list of 50 top css designs rated by Smashing Magazine. Sites are broken down into different categories. And what do you know, the list even features someone familiar! ;)

Programming: How to test HTML emails
If you’ve ever wanted to design a newsletter, you know it can be a complete pain in the ass because every mail client is different. This fresh article from Campaign Monitor explains ways to test html emails before sending out those mass emails.

Application of the Week

CSS Submit is a recently launched application that, for a buck, will submit your site to dozens of css galleries automatically, with you only needing to enter in information once. If traffics what you’re looking for as well as recognition, or if you’re simple too lazy busy to submit your url to multiple sites yourself, give this a try.

Feature
Post

Category
General

Paul lets you win a year of (gs) hosting

Our buddy Paul is running a holiday contest where the winner will receive a years worth of hosting from Mediatemple on their new (gs) servers. There isn’t much time to enter, as the contest ends on Christmas Eve, December 24th. The requirements are fairly simple, all you have to do is subscribe to his feed and leave some insight on your favorite article from his blog during the past year. Be sure to give it an enter, it could make for a nice Christmas present!

Feature
Post

Category
Homepage News

Devlounge Year in Review

This past year was a long one for us, and we went threw many changes a long the way. As we near the end of 2006 and the beginning of 2007, we reflect on how Devlounge started and got to the point we’re at today, as well as what you can expect from us in the future. Not only that, but we also want your thoughts on how we can improve Devlounge in the upcoming year.

Devlounge - Design Progess in 2006

The beginning

It was almost a year ago when Prash first came to me with the need to start a new project. We contemplated for a while what field we should try to enter, and thought about various options for different projects we had in mind. In the end we settled on building a designer and developer resource filled with a collection of articles and interviews written in-house and by guest contributors.

It was in January that we purchased the domain you’ve all come to know as devlounge.net. With a “coming soon” splash and newsletter signup form up for a few months (very web 2.0ish) we worked on the first Devlounge release, which officially went live in April 2006.

Our very first article was a guest contributed article by Paul Stamatiou on April 3rd. The article was a modification of one of his own previously published on his blog, but it provided the spark that would lead to an overall very successful year in Devlounge land.

The Year

In the six months we’ve been around, we expanded fairly rapidly and built up a strong collection of articles. I can’t thank my staff team enough, which, only about a month ago, went through a significant revamp adding some talented individuals who are sure to provide some great articles in the year to come.

We also went through 3 different redesigns in the short 6 month period, and many of the changes came fairly quickly. Only a month after Devlounge 1 was released, an updated version hit screens everywhere, eventually giving way to the design you see here now which took over in September / October. Work is never done though, as I’ve been tweaking things here and there week in and week out, hoping to improve usability and organization with every change / update.

But it wasn’t just about giving you something to read, but also giving you something to play with. Over 2006 we released a total of 3 Wordpress themes; Prebuilt, Wave, and Iceburgg, all of which can be picked up here. Staff members also did their share, which Ronalfy releasing Custom Reading Width, a unique script that you’ll only find here.

The Year Ahead

We have a lot of plans for 2007, but much of it depends upon you, the readers. We want to know what you want to see more of, less of, and just general things we can do to make Devlounge a better place. Please leave your thoughts in the comments are reading this article, because all your feedback would be greatly appreciated!

Some of the things we already have planned:

More Interviews - While our articles database grew fairly well, we really lacked in the interviews category. We really plan on stepping this up in 2007, so designers beware - you could be getting interview invites in your inbox from us. We already have a few planned for the first few months of ‘07, and we’ll try to get as many as we can out each month throughout the year.

More Code Related Topics - We also intend to find a few more staff members to up the contributions to the code related topics such as php, ruby on rails, and javascript. We’ll try to have this straightened out within the next month so we can really expand our article coverage in 2007.

Contests that Work - Believe it or not, we did a few contests this past year, but with not much no success. That will all change in ‘07. We’ll start with small scale prices that have high values, such as advertising here on Devlounge, Mint licenses, flickr pro accounts, etc, and than hopefully we’ll expand to much more valuable prize packs. If you have any ideas about what kind of contests you’d like to see, let us know below.

More for the community - And as always, you can expect an array of new articles and community givebacks, including more wordpress themes, psds, fonts, etc.

Now it’s your turn

Leave your feedback below. It really helps!

Feature
Post

Category
General

Worst Website of the Year?

I recently came across a forum post asking the question, “What’s the worst website of 2006?”

An interesting follow-on post was written that discussed the number of links in the example website given in the post (When it comes to links, less is more).

So I ask the Devlounge readers this question: what is your personal favorite for worst website of the year?

Feature
Post

Category
Jobs

Gamma Computers Site Redesign

Gamma Computers is looking for a site redesign to bring their site up to par with the products they sell.

Site Url: www.gamma.co.nz

Description from employer: Our current website is located @ www.gamma.co.nz & we’re looking to start from scratch / majorly revamp it for the new year.

We basically just need a design which we can then ourselves implement. So we’re just after an entire working layout really.

Contact Joe for more information.

Feature
Post

Category
General

What Back to the Future Can Teach About The Web

There are a lot of things we do without understanding them. Upon watching one of my favorite movie series this past weekend in Back to the Future, I realized a lot could be attributed to the knowledge of both the past, present, and future.

Synapses

Before understanding the spiel I’m about to go on, you first have to know what I’m taking about by comparing things to Back to the Future (I’ll abbreviate it B2TF throughout the rest of the article).

Back to the Future is a movie that was first released in 1985, and it followed the story of a teenager (Marty) and a scientist (Doc Brown) who invented a time machine using a car to travel back and forward in time. The series, which spanned across 3 films, brought them back in time, then to the future, back in time again, and finally back in time one more time before returning to the “present day”.

Back to the Future

With every time they went back in time, their actions would greatly effect the outcome of events that would happen in the future. For example, the character Marty almost prevents his parents from meeting when he goes back in time, which would mean if he returned to the “present”, he wouldn’t exist.

Applying this to the web

So where does all this fit into in terms of design and development. Devlounge, along with many others, write articles suggesting that you to do things a certain way, like use xhtml instead of tables, or not blog about certain things, etc and etc. But you can not simply read articles and expect that if you make changes you will be caught up with what is the “standard” way to do things today. You have to understand why we do things a certain way, and why things have changed - not just in the past 15 years but the last year itself.

You first have to understand that things require thought. Unless you are some living-the-high-life celebrity, going out and getting married for just a few hours with some person you met only hours before is not the most practical and smartest of decisions. Just because we tell you to use divs and css instead of tables doesn’t mean that you should. You have to analyze the differences so you understand why what was once the “right way” no longer is.

Better accessibility, improved cross-browser compatibility, easier to understand code, faster loading times. Just a few advantages over using tables. So why then were shitty tables used in the first place? In the time when tables were the only solutions, browsers lacked advanced css support, and the list of alternative browsers to Internet Explorer was very limited. So, everyone used tables, no matter how complex the site was, and even if the developer understood the powers of css, simply because there wasn’t enough support for it across the net as a whole. Once support started becoming available, people started putting it to use, eventually leading to where we are today.

Actions also play a big part of the direction the web takes, just like they did in B2TF. Without knowledgeable, push-the-limit pioneers who tackled css and divs head on and built better browsers, tables might still have been the best practice for coding.

Some people remain stuck in the past, and refuse to accept the fact that times have changed. In a recent Q&A with Mr. Bill Gates himself, Molly Holzschlag asked him questions related to Microsoft’s commitment (or lack thereof) to web standards, and Gates continued to try and reiterate the fact that Microsoft helped implement the web all along and provided the basis for what people would eventually build off of. But the fact that Microsoft had the opportunity to put themselves ahead of the curve but simply let it pass and go ignored proved that they were not attempting to stay up to date, but would rather stay trapped in the past.

So next time you go to use Ajax to flip between pages of a site, don’t just do it because its the “modern” way of changing pages, but make sure you have an understanding at why its a good solution, and why it was never used before. Or when you are designing a site for your most recent client, don’t simply use gradients and big fonts just because they’re popular, but have a deeper understanding to exactly why it’s so popular today compared to 5 years ago.

Sometimes it’s best to use your own time machine - logic - to look at the past and compare it to the present, and imagine just how things will evolve in the next 5 years.

Feature
Post

Category
Strategy

Things You Should Avoid Blogging About

This is my entry for the WLTC Blogging Essay Competition. Please help me out and rate my entry.

When writing for a blog, there are what seems an endless amount of topics to choose from. Bloggers write about design, cars, blogging, technology, gadgets, and more. However, there comes a time when bloggers are running on empty and can’t decide what to write about. During those lull-in-blogging moments, certain bloggers may be tempted to write about topics as useless as making a grilled-cheese sandwich.

Throughout my limited exposure in the blogging world, I have come across topics that seem as taboo as yelling “bomb” in a movie theater. Within this essay, I will discuss the topics that bloggers should avoid writing about at all costs. These topics consist of cats, lack of blogging, commenting, future in-laws, and a day-to-day micro-view of life.

Nobody Cares About My Stupid Cat

If you’ve been reading blogs for a while, one of the topics that repeatedly gets on people’s nerves is that of cats. In fact, it’s a running joke among some bloggers.

Don’t get me wrong. There are some good uses of cat topics. For example, why not talk about how when the cat decided to lick the 9-volt battery you left around? Alternatively, why not discuss how to make that favorite Chinese cuisine? For the PETA folks, I’m not suggesting that someone write about being cruel to a cat. I’m only suggesting that those topics would be the only way to make a cat post entertaining.

Just for the record, I own a black cat. She’s so cute. Every morning when I wake up, she’s right there lying next to me and it’s so — err, nevermind.

I’m Too Busy To Blog. So What?

Imagine calling someone and going straight to voicemail. Now imagine this voicemail saying, “I’m sorry I can’t come to the phone. In fact, I’m too busy right now to even call anybody. If you leave a voicemail, I might get back to you if I’m not busy enough. I’ll try to keep this to a minimum. Thanks! Bye.”

By the time you’ve reached the end of the voicemail, you’re probably thinking, “Why not just say, ‘Leave a message’?”

There’s no real point to those “I can’t blog ’cause I’m too busy” posts other than giving a cop-out for not keeping up with your blog. People come to your blog to read your content, not your excuses for not producing your content. There are millions of other blogs out there. If yours goes straight to voicemail, the reader will just call someone else.

If you’re too busy to blog, do something about it. ProBlogger has some great advise on what to do if you foresee yourself being too busy.

Nobody Is Commenting! Poor Me.

Imagine calling that same person’s phone and hearing, “Thank you for calling. Don’t hang up! Please leave a voicemail. Please? If you don’t leave a voicemail, I’ll never know why you called. C’mon, please leave that voicemail.”

Does the above voicemail scream of desperation? I certainly think so.

Blogging about people not commenting — or begging people to comment — is nothing short of saying to your readers that you need attention.

I understand the need for comments. Comments reinforce the writing and add to the content. Comments motivate the blogger to post more. However, complaining about having no comments is not going to persuade people to comment. If a reader wants to comment on a post, then that reader will leave a comment. Forcing or persuading someone to comment will rarely help the situation.

Once again, ProBlogger offers some great tips on how to get readers to comment more. Suspiciously absent from the tips is the one about complaining about lack of comments. Maybe the guys at ProBlogger know something I don’t know?

I Hate My Future In-Laws

There are some things people forget when writing blog posts: people might actually read them. Airing your dirty laundry is good in some situations, and disastrous in others.

When writing that negative topic about those closest to you, think about the potential ramifications if that person (or a friend of that person) reads the post. If you happen to blog about hating your future in-laws and they read it, think about how quickly your fiancé (or fiancée) will call off the wedding.

Chances are, if you write about those dear to you, then there’s people you know personally that read your blog. People love to gossip, and there will be nothing to stop them from passing along some “useful” information to those you’ve written about. I’ve seen it happen a lot of times, especially on those infamous MySpace blogs.

When airing your dirty laundry, do the newspaper test. If your blog entry showed up on the front page of every newspaper, would you be okay with it?

My Hourly Diary

There are some blogs out there that can be potential cures for insomniacs. In fact, some blogs should have a warning that says, “Do not operate heavy machinery after reading some of my blog posts.”

The blogs I speak of are the diary-type blogs where the blogger goes into near microscopic detail of the person’s life. You’ve seen them. Hopefully you abandoned the blog before any long-term damage took place.

These diary-type blogs are okay, but sometimes there is simply too much detail. Imagine reading a daily post such as this:

“I woke up this morning. My cat wouldn’t stop meowing. I put on some pants and went to the restroom. Felt better. I brushed my teeth. I need new toothpaste. Have to go to work. Nobody’s commenting on my blog. I wonder why? Will write more later. Bye.”

I can imagine this comment on a post like that, “I woke up too! Sweet! We have something in common.”

I hope that you’ve gathered that there is a point when you give your readers too much information.

Conclusion

Blogging is a great way to get your thoughts out. Blogging is also great for providing information, critiquing, and starting online friendships.

However, there are some topics that should be avoided at all costs. For one, nobody really cares about your cat. People could care less about you being too busy, or the lack of comments on your blog. Also, airing dirty laundry about those closest to you is rarely a good thing. The last thing mentioned was giving readers too much information regarding your personal life.

Please choose carefully what you blog about. The sanity of your readers is at stake.

This is my entry for the WLTC Blogging Essay Competition. Please help me out and rate my entry.

Feature
Post

Category
Code

Custom Archive Queries for WordPress

The queries have been updated for WordPress 2.1.

I've been working on my archives page on my personal blog for some time now, and I thought I'd share some custom MySQL queries in order to allow for some custom archives tweaking in your WordPress blog. I have three pages set up, with one showing dates, one showing categories, and one showing all of the entries. All three code snippets require a custom WordPress page, which is outside the scope of this article.

An additional query has been added that shows all of the categories, but has all the posts within that category shown as well.

Showing the Dates

I wanted to have a page that listed all of the dates on my blog. However, I also wanted the number of posts to be included in the link. This cannot be achieved using the standard get_archives template tag from the WordPress Codex. A custom query was needed. Shown below is the code I used followed by a brief description.

PHP:
  1. <ul class="archive-list">
  2.                             <?php
  3. $months = $wpdb->get_results("SELECT DISTINCT MONTH( post_date ) AS month , YEAR( post_date ) AS year, COUNT( id ) as post_count FROM $wpdb->posts WHERE post_status = 'publish' and post_date <= now( ) and post_type = 'post' GROUP BY month , year ORDER BY post_date DESC");
  4. foreach($months as $month) : ?>
  5. <li><a href="<?php bloginfo('url') ?>/<?php echo $month->year; ?>/<?php echo date("m", mktime(0, 0, 0, $month->month, 1, $month->year)) ?>"><?php echo date("F", mktime(0, 0, 0, $month->month, 1, $month->year)) ?> <?php echo $month->year ?> - <span class="archive-list-small"><?php echo $month->post_count; if ($month->post_count> 1 ) { echo " posts"; } else { echo " post"; }?></span></a></li>
  6. <?php endforeach; ?>
  7.                             </ul>

The query grabs the month and year from a post's date. The query then groups the results by month and year, and counts the number of ID matches for that time period.

After the query has been run, I embed the post count inside the link for the date. If you plan on using the above snippet, you may need to change a few things depending on how your permalink structure is setup. You can see the result in the screenshot below:

All Dates WordPress Archives Screenshot

Showing the Categories

The next thing I wanted to have on my archives page was a page showing the categories I wanted with the number of posts embedded within the link (much like the dates example above). Shown below is the code I used followed by a brief description.

PHP:
  1. <ul class="archive-list">
  2.                    <?php
  3.                         $query = "SELECT cat_ID, cat_name, category_count, category_nicename FROM $wpdb->categories WHERE cat_ID NOT IN ( 10, 1, 22, 23 ) AND category_parent =0 ORDER BY cat_name ASC";
  4.                         if ( $cats = $wpdb->get_results($query) ) {
  5.                         foreach ($cats as $cat) {
  6.                         ?>
  7.                             <li><a href="<?php bloginfo('url') ?>/category/<?php echo $cat->category_nicename; ?>/"><?php echo $cat->cat_name; ?> - <span class="archive-list-small"><?php echo $cat->category_count; ?> posts</span></a></li>
  8.                             <?php
  9.                             }
  10.                         } ?>
  11.                         </ul>

The query grabs all the parent categories and excludes certain ones by the category ID number. Once again, you may need to change the link structure to match your permalink structure. Shown below is a screenshot of the result:

Categories WordPress Archives Screenshot

Showing All Entries

I wanted an archive page to display every entry in my blog, but I wanted a little more control than what wp_get_archives('type=postbypost') gave me. Shown below is the code I used to retrieve all of my entries:

PHP:
  1. <ul class="archive-list">
  2.                    <?php
  3.                         $query = "SELECT post_title, MONTH( post_date ) AS month ,  YEAR( post_date ) AS year, DAY( post_date ) AS day , id FROM $wpdb->posts WHERE post_status = 'publish' AND post_date <= now( ) and post_type = 'post' ORDER BY post_date DESC";
  4.                         if ( $posts = $wpdb->get_results($query) ) {
  5.                         foreach ($posts as $post) {
  6.                                        
  7.                         ?>
  8.                         <li><a href="<?php echo get_permalink($post->id)?>"><?php echo $post->post_title ?> - <span class="archive-list-small"><?php echo date("F jS, Y",mktime(0, 0, 0, $post->month, $post->day, $post->year)) ?></span></a></li>
  9.                         <?php
  10.                         }
  11.                         }
  12.                         ?>                       
  13.   </ul>

The query grabs all posts (including the date) and orders them by the post date. I wanted to embed the date within the link so that people would know when I posted a particular entry. Shown below is a screenshot of the result:

All Entries WordPress Archives Screenshot

Showing Categories and Posts

One of our readers requested a query that allowed the display of categories, but also the posts within that category. We at Devlounge try to serve are readers as much as possible, so I have some up with a solution. Shown below is the code.

PHP:
  1. <?php
  2.                         $query = "select c.cat_ID, c.cat_name, c.category_nicename, c.category_count, p.ID, p.post_title, p.post_date, MONTH( p.post_date ) AS month ,  YEAR( p.post_date ) AS year, DAY( p.post_date ) AS day from $wpdb->post2cat pc, $wpdb->categories c, $wpdb->posts p where  c.cat_ID NOT IN (1) and c.category_parent = 0 and pc.category_id = c.cat_ID and pc.post_id = p.ID and p.post_status = 'publish' AND p.post_date <= now( ) order by c.cat_name asc, p.post_date desc";
  3.                         $oldCat = "";
  4.                         $currentCat = "";
  5.                         if ( $cat_posts = $wpdb->get_results($query) ) {
  6.                         foreach ($cat_posts as $cat_post) {
  7.                             $currentCat = $cat_post->category_nicename;
  8.                             if ($currentCat != $oldCat && $oldCat != "") { echo "</ul>"; }
  9.                             if ($currentCat != $oldCat) {
  10.                             ?>
  11.                             <h4><a href="<?php bloginfo('url') ?>/category/<?php echo $cat_post->category_nicename; ?>/"><?php echo $cat_post->cat_name; ?> - <span class="archive-list-small"><?php echo $cat_post->category_count; ?> posts</span></a></h4>
  12.                             <ul>
  13.                             <?php
  14.                             } ?>
  15.                             <li><a href="<?php echo get_permalink($cat_post->ID)?>"><?php echo $cat_post->post_title ?> - <span class="archive-list-small"><?php echo date("F jS, Y",mktime(0, 0, 0, $cat_post->month, $cat_post->day, $cat_post->year)) ?></span></a></li>
  16.                             <?php
  17.                             $oldCat = $cat_post->category_nicename;
  18.                             }   //end foreach
  19.                         }   
  20.                        
  21.                         ?>
  22.                         </ul>

The query grabs all categories and posts. The code then displays the category in an H4 tag and lists all of the posts the category contains beneath it. As the reader requested, the posts are organized by date. Below is an "un-styled" screenshot of the result:

Categories and Posts WordPress Archives Screenshot

There are two things to note about this query. The "c.cat_ID NOT IN (1, 2, etc...)" can be taken out of the query if there aren't any category IDs to exclude. The "c.category_parent = 0" can also be taken out if you wish to show all categories and not just parent categories.

Hopefully you can use the above queries as a launching pad for your own WordPress archives page. If you need any assistance, please leave a comment.