My Portfolio Plus for WordPress

About the Plugin

My Portfolio Plus is a plugin designed for WordPress 3.x that enables a Web Developer/Designer to create a portfolio for their work in a very easy way that doesn’t rely on outdated methods such as custom fields and proprietary editors.

Extraordinarily Simple Management

Using the latest technologies offered by the newest version of WordPress, you can add a Project as you would normally add a Post or Page. The Project Edit Page is especially easy to use, as you give the Project a title as you would a standard WordPress Post along with some content to describe the work undertaken.

What is unique about this plugin is that included in the editor is a series of fields to collect information regarding that project. Currently the plugin collects the URL of the site, the Client Name and the Date the project was completed.

Admin Interface

Below are some screen shots to showcase the familiarity of the user interface to existing WordPress users.

Automatic Thumbnails

Some say a picture is worth 1,000 words and this plugin helps you say those words with no extra effort. Using the power of Shrink The Web (Free Account Needed)  and the URL of the site that you have already entered, My Portfolio Plus will automatically retrieve a generated thumbnail of the site in question and by default will be displayed on the Projects listing page for all to see.

Live Site Preview

Thumbnails are great but your hard work deserves to be seen as it was intended at full size. That is why by utilising the power of colorbox, My Portfolio Plus enables the end user to click a site thumbnail and view it within a gorgeous in-place frame without ever leaving your portfolio page.

Filter by Platform

Using the powerful new taxonomy features of WordPress 3, I have added the ability to group projects by the platform used to develop them. For instance you could define that a project was completed using PHP, WordPress & jQuery, another using .NET & Moo Tools and finally a site using PHP, Zend Framework & Scriptaculous.

While this may seem pedantic at first, the default project list template included with the plugin comes complete with a sidebar that will list all of the platforms you have defined, in the form of a tag cloud. Clicking on one of these platforms will filter the projects list to show only the projects completed using that platform, this information is available through a URL too. You can link to all of your completed WordPress projects by simply sending the link: http://your-site-url/projects/platform/wordpress/ to a potential client.

Speed Up Your Portfolio Management

Remember, this is all available by simply providing the Name of a Website you have worked on and the URL at which it is available. Depending on the size of your project description you can add a completely new project in under 30 seconds.

Say Thanks

I wrote this plugin to power my own portfolio and thought I would contribute back to the wonderful WordPress development community. If however you like the plugin and wish to make a donation to show appreciation for my work then you can do so by using the following button:

Getting Started

How to Download

You can obtain the plugin from the official WordPress Plugin site, or by searching for the plugin from within the WordPress Admin area.
Download Here


  1. Unzip the plugin archive
  2. Upload the entire folder MyPortfolioPlus to your plugins folder (/wp-content/plugins/)
  3. Ensure your wordpress uploads directory exists and is writable (/wp-content/uploads/)
  4. Activate the plugin through the ‘Plugins’ menu in WordPress
  5. A new Projects Admin Menu should appear below Comments
  6. Go to Projects -> Options to configure your preferences
  7. If you want to utilise Shrink the Web thumbnails, you must enter your API credentials on this page.
  8. Add a Link to http://your-site-url/projects in the main site navigation


  • Only PHP 5+ is supported
  • PHP Safe Mode is not supported
  • WordPress 3.x + only

Customising the Layout


To make installation as easy as possible, I included a default set of templates based on the default WordPress 3.0 Twenty Ten theme. These however will not work (well) with every theme on the market and so I have included the ability to override these files. To achieve this you simply need to copy any one of the three view files from the MyPortfolioPlus/views folder and place it in a new directory located within your chosen theme, named ‘portfolio’. When rendering the page, the plugin will first check for the existence of a template file in the user them, before falling back on the plugin defaults.


If you wished to change the layout of the Single Project template, you first need to copy the file /wp-content/plugins/MyPortfolioPlus/views/single-project.php to /wp-content/themes/your-theme/portfolio/single-project.php. You can then make any changes you wish to this layout without worrying about future updates to the plugin overriding your changes. Repeat this process for each of the views you wish to customise.

Available Information

To begin with only a few fields are available to describe each project, I am activley looking to expand this list and if you have any suggestions then please leave a comment. The current available variables are:

  • $project->getURL()
  • $project->getClient()
  • $project->getDate()
  • $project->getImage()
This entry was posted in Plugin, Wordpress. Bookmark the permalink.

81 Responses to My Portfolio Plus for WordPress

  1. Pingback: MyPortfolio Plus Plugin | Wordpress Plugins

  2. Pingback: Create WordPress Web Developer/Designer Portfolio Website

  3. Ben says:

    Is there a working demo we can see?

    • sbohan says:

      The Projects section of this site is powered by this plugin, I do not have a demo site set up though where this is installed.

  4. Stacy Dee says:

    How can you not have a demo of this thing? Seriously, if you want people to use this plugin you really should have a demo so they know what they are downloading.

    • sbohan says:

      Hi Stacy, I’ve been a wordpress user for about three years and in that time I have downloaded many many plugins and installed them on a countless number of sites. I have not once needed a demo to see if the plugin is what I am looking for. It’s so easy to install and remove plugins that I find that a plugin demo is more a case of installing it and making your mind up.
      This has been the process I have used for many years and I have never noticed a plugin developer advertising a demo site, however this could because I have not looked for one. If you or anyone can inform me that demo sites are the convention when releasing a plugin, then I will set one up.
      As far as I am concerned you can see what you are getting by using the front end Portfolio section of this site and from the Screenshots available on this page and the WordPress Extend page. You are really not going to get more from this plugin that what you see there.

  5. Boubacar says:

    I will try too used it on my website

  6. Martin G. says:

    As far as I see, the Plugin just works when Sluggish Pages are Supported.

    As I know my host doesnt Support this Type of URLS and so the actual state is that i must use the Old style “?page_id=xxx” Urls, and there does tha Addon actual not Work.

    Any way to bring this to work?

    • sbohan says:

      Version 1.0.5 should be online soon, this will support default URL’s. Thanks for bringing this to my attention it was a slight oversight by myself as to why it wouldn’t work! To work with default URL’s you simple need to go to the page /?page_id=projects. Hope this helps you.

      • Martin G. says:

        /?page_id=projects does not work: WP searches since 3.0 only for the ID in Numbers, Words are not accepted due some Securiy Problems that are comming with alowing direct words, such as SQL injections.

        • sbohan says:

          It worked for me when i tested it. I am not looking for the actual page using any database function, I am just doing a simple equality check on it against the string ‘project’ in the template choice script. You can try it and get back to me If you want.

  7. Khalid says:


    I have a small problem. I activated the plugin on my site, but got this error immediately after I activated –

    Warning: mkdir() [function.mkdir]: No such file or directory in /home/emagine/ on line 28

    I logged into my FTP server and checked for the directory (/uploads/webimages/) that was supposed to be created, but it wasn’t there – so I created it myself and assigned it with read & write access. Can you help me figure this out since I am testing this on my demo site prior to installing it on my live site?


    • sbohan says:

      It’s not /uploads/webimages, the plugin expects to find it within the default WordPress uploads directory /wp-content/uploads/webimages. Note that this will not usually be from the root of the hard drive but from the root of the WordPress installation.

      • Khalid says:


        I guess I should have been clearer. I was referring to the wp-content/uploads/webimages folder. I have made the WordPress uploads folder completely writable so if that was the problem it should be resolved. I have re-uploaded the plugin thinking that maybe it may not have uploaded correctly but I get the same error when I activate it again. Please help me understand why I get this error message -

        Warning: mkdir() [function.mkdir]: Permission denied in /home/emagine/ on line 28

        myPortfolio Plus Errors

        Thumbnail Directory is not writeable. This directory should be created automatically when the plugin is activated. Try re-activating the plugin, and then check if your thumbnail directory is writable ‘uploads/webimages’

        • sbohan says:

          It’s not the uploads folder that needs to be writable, but the webimages folder. This is so the Shrink The Web image cache can be stored in a central location. Can you confirm that that folder is indeed writeable to the webserver user account? If you are running a unix server could you give me the full line print out of running ls -l in the uploads directory? The check I have in place to ensure that directory is writeable actually attempts to write a file to the directory, to ensure that it is certainly writeable.

  8. djd says:

    Hey the plugin is installed properly and the projects get added properly but the only problem is it doesnt get listed for me as it gets listed in your site.
    I have the copied the template of projects page into the template directory.
    What seems to be the problem can you please help me?

    • sbohan says:

      You don’t need to copy the template by default, only if you want to make changes to it. If this is the case then place a copy of the template file within a folder named ‘portfolio’ in your theme.

  9. djd says:

    Hey iam sorry i should have played a little bit before coming and asking for help.
    I seemed to have fixed the problem.
    The problem is that if we dont add date and client name to projects it does not get considered.

  10. djd says:

    Iam commenting for the third time.
    This is embarrassing :(
    But it would be great if there was projects name included on the projects page.
    Hopefully wont go on a commenting spree from here
    Thank you

  11. the instructions say to “8.Add a Link to http://your-site-url/projects in the main site navigation” But I dont want it under the main site nav, I want it under my development section. Do I have to have it at the url above or could I have it say.. like this.. ???

  12. Thanks for the plugin. It looks great.
    But unfortunately, the main projects page is not working (404) while each project page is ok.

    Any ideas ?


    • sbohan says:

      Try visiting the permalinks page in your WordPress admin, this will flush the permalinks structure and pick up the projects page.

  13. Nile says:

    sbohan, would it be possible to change the main folio permalink from to a custom one like Thanks.

    • sbohan says:

      It is possible if you would like to update the source code yourself, I will make this a configurable option in the next release.

  14. Freyah says:

    Hi sbohan, I uninstalled the plugin and reinstalled it. But the projects page won’t show up anymore. Specificaly, it doesn’t show the individual projects as a gallery anymore. But going to projects/projectname still lets me see the individual projects. Can I ask for help. Thanks

  15. OK, so I have a couple of things I need to resolve here, like how to get multiple pics and entries into one page, and what that link is, to link from the home page.

    But you have exactly what I need here (when I have sorted this issues out anyway lol)

    I cannot believe how many negative comments there are on here, if you guys do not like it, look elsewhere, it did not cost you anything, I am just grateful that someone has tried to build what I was looking for!

    Thanks again.

    • sbohan says:

      Thanks for the kind works, I personally don’t mind the negative comments. As long as it’s not personal then people can say what they like, I only made the available for people to use. It’s inevitable that it will not be as useful for some as it will be for others.

      As for your change requests, how would you like the multiple entries to be grouped? You could use the Platform custom taxonomy to do this and modify that theme template to display all details.

  16. CJ says:

    I’ve downloaded the plugin and I’m trying to get it up and working. I’m not seeing a way to make it actually display – is there a shortcode I missed or something? I added a link to and I get a 404 error. I wanted to name my display page “portfolio”, but when I go to, I get an empty page, even though I have six items in my portfolio. I already have a “Portfolio” page, so is there a way to make the portfolio actually display?

    • sbohan says:

      Have you tried visiting the permalinks page in the wordpress admin. You don’t need to do anything else, just visit the page to flush the permalinks.

      • I have the same problem – the page is not accessible from /projects. I get a 404 error. I’ve visited the WP Admin Permalinks page several times, no effect.

        However, I can access it from, but only the title is displayed. Am I missing a template file in my theme or something?

        • We need this site live today, so I’ll have to look for an alternative for now. But great work – your plugin looks well designed and shows much promise!

        • sbohan says:

          Hi Paul,

          Thanks for your time before in helping me further understand this issue. I will be releasing a new version of the plugin soon that utilises the WP_Rewrite methods to better manage how I am loading the projects page. I’ll update the plugin with this functionality ASAP.

  17. Emily Scott says:

    I too am having the same 404 error that the previous poster CJ has. This is a great plug-in and I see that it clearly work on your site. I did visit the permalinks page to “flush” it out, but it did not work for me.

    Is there anything else that I am missing. I can provide a direct link to the page if you would like to contact me directly.

    Thanks for any help.

  18. Robnauticus says:

    Hello I am also having the same issue as Emily and CJ and a few others above…

    Here is my permalinks setup /%category%/%postname%
    I get a 404 when I navigate to /projects

    I have successfully navigated using the /?page_id=projects method. I thought there would be another way. This also will not work because the plugin is using /projects as the link to navigate back to the projects page from clicking on a specific project.

    Your plugin is great, I can’t wait to get it going!


    • sbohan says:

      Hi Robnauticus,

      This may be a long shot but try creating a blank wordpress page with the slug defined as /projects. I’m not sure if this will work and am even less sure as to why it would work but it is worth a try! Let me know how you get on and I’ll try my best to help you get it working

  19. Pingback: Más sobre taxonomías y tipos de contenido personalizados: plugins para los tipos de contenido | La Bitácora del Tigre

  20. Dan says:

    I have installed the plugin and really like it so far. I’m having a problem though when I click on the thumbnail. I get a page not found error instead of the full size image. In the address bar, the url of the site is put after the pagename of the thumbnail. Any ideas?

    • sbohan says:

      Hi Dan, I tried to look on your site for an example of the problem you are having but could not find the plugin installation. If you would like any further help please get in touch and I will do my best.

  21. Nichole says:

    Hello sbohan,

    I am receiving error messages when trying to activate the plugin:

    Plugin could not be activated because it triggered a fatal error.

    Parse error: syntax error, unexpected T_CONST, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or ‘}’ in /homepages/36/d341764907/htdocs/wp-content/plugins/my-portfolio-plus/MyPortfolioPlus.php on line 17

    I have looked for the error, but I have a hard time seeing things that are right in front of my face, really. Also, I received an error message for line 60 at one point, though I believe I fixed that problem.

    Help would be greatly appreciated.


  22. hoff says:


    I used your plugin. But the thumbnails arn’t updated? why not.. the image i used is old and added another one with a different link. But i keeps having the same image? and am I able to put a thumbnail in that is just a JPG not a whole website? thnx allot hope to hear from you!

    • sbohan says:

      It’s probably because the image is cached and so the system will not update the thumbnail. The thumbnail cache is in the wp-uploads folder, to ensure you are pulling an image directly from the web-service try manually clearing the cache from here.

  23. Kristin Call says:

    GORGEOUS plugin! I’m only having one issue with it, I can’t get the iframe to work with colorbox. I tried to install colorbox as a plugin, but obviously i’m missing something. How do these two programs work together?

    Kristin Call

    • sbohan says:

      Hi Kristin,
      Thanks to the commenter Paul for this fix to this, the next version of the plugin will fix this but for now you can change it yourself. In the plugin folder under the js/ folder edit the jquery file to match this one.
      Hope this helps!

  24. Kristin Call says:

    ok! We’re making progress. :) The iframe “faked” like it was opening, and then went straight to the actual url…

    • sbohan says:

      I was looking into it but it appears the plugin isn’t there anymore. I really have no idea as to why that was happening, I think it may be some form of colorbox incompatibility with another plugin as the only functionality of mine was to place the id tag with the url! Sorry it didn’t work out!

  25. Hoff says:


    The image is still not showing up? I cleared the cache folder…

    What to do now?

  26. Groos says:

    i love you guys, people who are commited to provide us with great interactive elements and not to forget support for our websites as most of us not being a script genious or what so ever so for that i say thank you. Back to my point cuz i did remember you saying something like making portfolio elements for other purposes than websites; i love it and i can’t wait sir so please what’s the status? My gf is a singer/songwriter and i wish i could boost the interactivity of her website with a portfolio element based on audio and sure with the support of images, video and text areas. Please sir think about it and share me your thought. gby

    • sbohan says:

      Hi, I really want to update the plugin with these features ASAP but I’m a bit busy for the forseable future. I will get back to you as soon as these features go live.

  27. Dustin says:

    Great Plugin!! Do you have a short code for this to insert into a page/post, or a php template code I can use to insert into template files?

    Thanks Again

  28. freedose says:

    Hi bro,

    i submited 14 projects on admin page.
    But only 10 projects display on my website?

    how to display all my project?

    • sbohan says:

      In the template file for projects change the figure 10 to however many you want on that one page. Or use the comment below to implement paging.

  29. I am using this great Plug-in on one of the websites and am really loving it. Thank you very much for this nice Plug-in. I did find pagination missing in this file and could not find any documentation to get it done.
    I have worked on this and have modified to projects.php to have pagination with Next and Previous Link. The code is being provided here as it might prove helpful to someone else.
    'posts_per_page' => 6,
    'meta_key' => 'sugar-date',
    'orderby' => 'meta_value',
    'order' => 'DESC',
    'paged' => $paged ) );

    <!-- <a href="getURL(); ?>" target="_blank">getURL(); ?> -->
    <!-- getClient(); ?> -->
    <a href="">
    <img src="getImage(); ?>" />

    Thanks again for sharing this nice plugin.

  30. Sorry don’t know why the complete code does not get through .. here it is given again.

    'posts_per_page' => 6,
    'meta_key' => 'sugar-date',
    'orderby' => 'meta_value',
    'order' => 'DESC',
    'paged' => $paged ) );

    <a href="">
    <img src="getImage(); ?>" />


  31. 13 says:

    Hey, great work on this plugin. I love the idea of having individual pages for individual images/posts.

    I have one question though that’ll help me decide if I can use this.

    Do you have tagging enabled at all so that people can find a specific project page by searching?


  32. 13 says:

    OK, so I managed to get posts to show up by searching, which is great.

    Right now I’m trying to implement Lightbox (or something similar) on the individual project pages, so I guess adding some javascript to the single-page.php may work? I also need to see some tags or related posts in a column on the individual page, so maybe I can download a plugin from elsewhere and use that code for the single-pape.php again.

    Let me know your thoughts. Thanks again.

  33. 13 says:

    Sorry, last thing. Is there a way to have more than one “Projects” page? I’d like to separate the portfolio into 4 different pages, with the main page showing the latest portfolio work.

  34. Kimberly says:

    Same problem as someone listed before:

    I’m not seeing a way to make it actually display – is there a shortcode I missed or something?
    I wanted to name my display page “Portfolio”, but when I go to, I get an empty page, even though I have six items in my portfolio.

    I already have a “Portfolio” page, so is there a way to make this portfolio plugin actually display?”

  35. GingerWench says:

    For some reason, the title of my projects page is showing as “Nothing Found for Projects”. The page itself displays correctly, but the title I designated in the settings, “Design Portfolio” is not carrying over… I’ve included my projects page link as my website above.

    I’ve saved my permalinks and then saved the plugin settings again with no change. How can I get this dynamic page to display the correct title?

  36. GingerWench says:

    Hi there! Sorry to comment twice, but I used the ?page_id=projects url to direct to the projects page, and the title is at least showing as my main site title. For SEO purposes, I would prefer it to read “Web Design Portfolio”, as I’ve entered in the settings. Help? lol

    Also… is there a way we can change the order that the projects appear on the projects page? It’s not alphabetical, and it’s not displayed in the order in which I entered them. How can I set the order?

    Thanks in advance for any help with this. (I spend so much time on client sites, I hardly get the chance to update my own. I hadn’t updated my design portfolio in over a year, so even though it’s not perfect yet, at least it’s up and running lol, thanks for that!)

  37. Colin says:

    I would also like to implement paging, could you postup the full code for the file that needs amending as I can’t work out from the above where the code is to be inserted.

  38. Colin says:


    If anyone has managed to get paging working successfully could thay post up the full page code, I am having difficulty working out what to do from Tanveers post.
    Additionally, how do I get the colorbox stuff to work correctly, should I install a plugin into wordpress first?



  39. Tanmoy says:

    In my case http://…/project/crareer-clarity/ is working but http://…/project/ or http://…/projects returns an error page. I’m using /%postname%/ as permalink structure.

  40. Robert says:

    Issue: Shrink the Web can not capture website screen shot. Project page shows the “Awaiting Image”.
    Setup: Win08R2, WP 3.1, Genesis Theme

    Great Plugin and it is working, however, there is a quirk happening that is outside your plugin’s control but with the Shrink the Web application. I have a DotNetNuke website that uses an MVC framework and my routes are controller/page. Shrink the Web application can not create a screen shot of my website for my project page. I have tried all urls including the full url to the default.aspx page, but it still does not capture the shot.

    Feature Request: Add a text box/button for a picture upload/Link in the “Project Details” section to add your own Screen Shot Image in case Shrink the Web can not capture. If this image exists, it will replace the Shrink to Web image.


  41. AWB says:

    I got the page /projects/ to work by creating a page called Projects. In the Permalinks, I use /%postname%/

    It works fine, except the header and widgets, etc that are on my site are not showing up. You can see that here:

    Thanks, great plugin, I just need to figure the last part out.

  42. Nenna says:

    Okay, maybe I’m just not getting it. I usually don’t have problems. I’m using a theme that creates front page links based on pages. I’ve tried creating a page with the permalink /project and /projects and neither works. Based on the project link structure and my custom link structure, the /project should work, but when I go to /project I get a blank page. But my project shows if I go to project/gadget. I really really like this plug-in and think it’s a great way to show off designs as well as template demo sites. Any help would be great!

  43. Heidi says:

    I have been getting notices from shrink the web on some changes they are implementing. Here is a link to the latest:

    I don’t fully understand it and was wondering if there is something we need to do with our free account or it it done at your end through the plugin?

    Thank you,

  44. Bob says:

    I thought you would want to know that when this plugin is activate, the WordPress custom menu functions no longer work. You can no longer slide around and re-arrange menus. Disable plugin and menus work again.


    • sbohan says:

      Thanks for reporting this Bob, i’ve not updated this for a long time. It is likely that this is due to a recent WordPress upgrade. I will take a look into this when I get chance. It is likely a jQuery change.

  45. Bob says:

    I got the plugin working by creating a blank page with the slugname “projects”, otherwise I get a 404.

    HOWEVER, now it also tries to show the ret of the “page” contents below the portfolio. Thoughts?


Leave a Reply

Your email address will not be published. Required fields are marked *


You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">