Themes List: WordPress Plugin

If you’re a WordPress theme designer, this little plugin I put together might help you. Do you have a central page that lists all of your themes? No WordPress theme designer should do without that page. I’ve been using this for a while now and have finally decided to release it to the public.

Plugin Information:

  • Description: Uses custom fields to list your WordPress themes with thumbnail, description, demo, and download links on a WordPress Page.
  • License: GPL
  • Requirements: Exec-PHP Plugin or some other plugin that allows you to put PHP code into your Wordpress Pages.
  • Currently not available. (In the process of updating.)


  • Version 1.1: Fixed the demo link problem. It should work fine now.
  • Version 1.1.1: Put up a temporary fix (at least until the next major update) on the loop catching the page the themes are listed on.


  • Lists your WordPress themes in an organized manner on a WordPress Page.
  • Allows you to upload a thumbnail, image, or screenshot to display.
  • Displays a title, description, download link, and demo link.
  • Easily customizable with CSS.
  • Control over how many of the newest themes are shown.

Need To Know:

  • Currently only works if your themes are on posts (not pages).
  • The readme.txt file explains how to use this plugin.
  • Know how to upload images to WordPress.
  • Read up on the basics of using custom fields because you'll have to file some information into custom fields for this to work.

Screenshot of the Plugin in Action:

See the WordPress plugin, Themes List, customized with CSS

Future Versions:

I have a few ideas about making this work a little better, but it will take a lot of time and effort to pull it all together.

  • Condense the code a little. The plugin file is just over 5kb. There are some areas that I'm certain can be shortened.
  • More listing options for the user. Right now, you can only control how many posts are shown. I'd like to allow control over newest to oldest, alphabetical, etc.
  • XHTML options. Currently, everything is already set by div and p. I'd like the user to have more formatting options. Since you can do just about anything with CSS, I'm not sure how much I want to do with this.
  • Add support for designers who put their themes on pages instead of posts. (Idea from BoltClock.)
  • Any ideas? Post a comment.


I’m no PHP programmer, at least not yet anyway, but I do have a few ideas every now and then and continue to use custom scripts for little things I want to accomplish, tweaks to how WordPress works. As a WordPress theme designer, I’ve always felt it was important to have a page that displayed your themes. And, that’s exactly what I’ve had for a while on my WordPress Themes page.

I never felt that anyone else really needed the code because there’s always some plugin available to do something that I probably spent hours sweating over. As far as I know, there’s no plugin to do this, and someone is actually requesting it at Weblog Tools Collection’s Wishlist for October. So, the Themes List plugin for WordPress was born.

This is my second official plugin for WordPress. My first was a simple plugin to list subpages with descriptions, which I have a few ideas on updating that actually stemmed from working on this project.

I’ve been working a lot with custom fields lately, and they are certainly a powerful tool in WordPress. I don’t see why there’s not more documentation on them. Well, maybe I should be the one to document all that stuff. My idea for listing my themes came after working a little with custom fields on my Reading page to list books that I’ve reviewed.

I’m getting a little off-subject now. The Themes List plugin is easy to use, plus it lets you play around with custom fields a little bit. Not that you have to do any of the work with pulling those fields out of the database. That’s all done for you. It’s easily customizable with CSS.

I’m not sure how much use you other theme designers might have for this because you probably have your own method for displaying themes, but try it out if you like. I’m willing to help out as much as possible, maybe even work on some of the solutions for future versions. If you have any ideas on how to make this plugin better, don’t hesitate to leave a comment. If you have trouble, of course, leave a comment.