Dual release: portfolio plugin and theme

As theme developers, one of the types of themes we always want to tackle is a portfolio theme. At least I know that’s true for me. It’s long been on my to-do list.

Since portfolios aren’t built into WordPress, we’d need a custom post type and taxonomy to handle the required base elements of a portfolio. Sure, I could slap together 20 lines of code from a popular tutorial, throw it into my theme’s functions.php, and call it a day, but that’s not how post types work exactly.

Today, I’m simultaneously releasing a plugin and a theme for you creative people who want to share your work with the world: Custom Content Portfolio (plugin) and Chun (theme).

Chun WordPress theme

Screenshot of the Chun WordPress theme

Other than just creating a portfolio theme, I wanted to try out some newer techniques with HTML5 and CSS3. This entire theme is built with no images or JavaScript on the front end. It was pretty fun to play around with CSS transitions for some neat effects that I’ve only done in the past with jQuery.

This also means that IE8 and below are not supported at all with this theme. Technically, the official policy here is to support the latest two versions of Internet Explorer, which includes 9 and 10. This is just the first theme I’m intentionally not testing in 8.

Some other new bits of functionality I’m trying out within the WordPress theme customizer are:

  • Font selector: This allows you to choose from a set of pre-selected fonts to use with the theme. This also means that if a font doesn’t work for your language, there’s always another option (I know some people will like this).
  • Color selector: You won’t have total control over the design of the theme with this, but you’ll get to choose the base colors for the theme. This will give you the ability to add a personal touch to the design with a few clicks.

So, the Chun theme is a bit experimental in more ways than one. I went a little wild (at least wilder than usual) with theme features. I wanted to try some fun things, and I think these things came together into a nice package in the end.

You can view the demo and download the theme from the Chun theme page.

Custom Content Portfolio plugin

Screenshot of the portfolio items edit screen

Custom Content Portfolio is a base portfolio plugin for other developers to build from. bbPress does forums. BuddyPress does social networks. Custom Content Portfolio does portfolios. Of course, this is just version 0.1, so I kept the features to a minimum. I’d rather get feedback from users before throwing every feature imaginable into this thing.

The great thing about this plugin from a theme author’s perspective is that you don’t have to worry about the functionality. It’s already done for you. You can stick to designing themes.

Other than the Chun theme I’m releasing today, Adroa already supports this plugin out of the box. I’ll also be updating Picturesque to do the same in the near future. Very soon, you’ll have three portfolio themes to choose from. I can only hope that more theme developers hop on the bandwagon and make themes for this plugin too. Only an extra template or two is required along with some custom CSS.

For users, this plugin does a few things:

  • Gives you a new menu item called “Portfolio” in the admin.
  • Adds a new taxonomy (like tags) called “Portfolio,” which allows you to create an unlimited number of portfolios.
  • Creates a new post type (like posts) called “Portfolio Item,” which you can use to create individual items for your various portfolios.

It’s dead simple to use. There’s no configuration involved. You just plug and play.

You can download this plugin from the Custom Content Portfolio plugin page.

Enjoy the plugin+theme combo

This is just the beginning. I have other plans for theme and plugin combinations like this to handle some of the needs I see coming out of the WordPress community.

For now, enjoy putting together your portfolios.

16 Comments


  1. Justin,

    As you have probably noticed I change themes frequently. Although I am not currently using a theme offered on this website, I still have installed: Chun, Path, Picturesque, Seamless, Twenty Twelve, and Unique with all of their Child versions. On a frequent basis I preview all of these products as they evolve, in order to compare them to whatever I have enabled at the time.

    Your personal themes that I have preferred are Picturesque and Unique. In my opinion (everybody has one) their missing component was Responsive Design. Chun is a great step forward…Thanks for doing it (are you going to rename it?).
    All of that said, I have a few questions for you:

    If I enable your new plugin (Custom Content Portfolio), and continue with my habit of switching back & forth between themes, will my images have to be resized each time I switch?

    Will this plugin work in some of the Themes I already have installed, and not others (will it work with ANY theme from the WordPress Directory)?

    If I enable the plugin, but don’t create any Portfolios, will it interfere with my content while switching from theme to theme (particularly competitive Portfolio Themes).

    Are these dumb questions?


    1. If I enable your new plugin (Custom Content Portfolio), and continue with my habit of switching back & forth between themes, will my images have to be resized each time I switch?

      Image sizes are a theme-dependent feature. So, it’s likely you’ll need to resize images regardless of the plugin for things like thumbnails and so on. It really depends on the theme. Check out the Regenerate Thumbnails plugin though. It’s useful.

      Will this plugin work in some of the Themes I already have installed, and not others (will it work with ANY theme from the WordPress Directory)?

      The plugin should work with any theme ever made for WordPress. It’s not dependent on any theme. Whether the portfolios and portfolio items look good on the front end is a different story. But, it’s pretty easy to add some custom CSS and maybe a template or two to an existing theme to make it look better.

      If I enable the plugin, but don’t create any Portfolios, will it interfere with my content while switching from theme to theme (particularly competitive Portfolio Themes).

      I can’t say for certain about portfolio themes that have post types built into them. That’s bad development practice anyway. But, it shouldn’t intefere with any other content.

      Are these dumb questions?

      Nope. I assumed these questions will come up (and answered some in the plugin’s readme.txt file.

      The big thing is we need to stop thinking of content and design as being one thing. Each are separate entities. You should be able to keep your content while changing your design. But, some theme developers are not doing it this way, which is one reason for this plugin.


  2. There are only one “chun” that matters… making this the second “chun” that’s… well… acceptable i guess:


    1. I actually had a temporary name of “Chunk” for this theme because I had planned on using the Chunk Five font (my inspiration for the original design). I misspelled it, so the name “Chun” just kind of stuck.


  3. In a community of “mavericks”, I’m glad you’re there to be the standards sheriff. I appreciate your hard work in wrangling WordPress best practices.

    In five years from now, I hope we look back on the days when plugins were shoved into functions.php and laugh.


  4. I know this may seem like a dumb question, but what exactly do you mean by a “portfolio”? Could you describe it for us uninitiated? Thanks.


    1. A portfolio of work. This could be your Web site designs, photographs, artwork, or anything you create.

  5. vrob

    I like the portfolio plugin and impletmentation in chun, but I have to admit that I was hoping for a little jquery to load the different portfolio sections. Nav is a bit awkward as you have to wait for a page load if you want to browse the portfolio sections.


    1. Considering there’s potential to load 100s or even 1,000s of portfolio items, I’m not sure about using jQuery for something like that. I could see a potential Ajax solution for loading more posts, but if I done something like that, I’d do it for the entire theme.

      But, you’re not browsing “portfolio sections.” You’re browsing entirely separate portfolios.


  6. Hi there, You’ve done an incredible job. I’ll certainly digg it and personally suggest to my friends.
    I am sure they will be benefited from this site.


  7. I tried the theme and is surprised that one important feature is not mentioned in this post or theme description.

    The theme does not load jquery or major javascript except comment reply js.What I mean to say that it is fast.

    Great work.I am using it on my live site currently and want to thank you for creating this theme.

Comments are closed.