WEBphysiology Portfolio Plugin

  • Share
WEBphysiology Portfolio WordPress Plugin

WEBphysiology Portfolio

The WEBphysiology Portfolio plugin was built to provide a clean, current look in situations where an expanded list-style or grid style portfolio layout is appropriate. The plugin is implemented via a [shortcode that supports specifying one-or-more portfolio types, all portfolio-types or all but specifically excluded portfolio types. This is the first publicly released plugin from WEBphysiology and can be downloaded here or on the WordPress Plugin site.

The WEBphysiology Portfolio WordPress plugin utilizes a Custom Post Type as well as a Custom Taxonomy (which requires WordPress 3.0 or better). It provides a Settings page for specifying a number of customizable options. It also allows one to tweak or turn off the provided CSS in place of implementing one’s own styling.

The Portfolio entry screen is highly customized to include just the items that make up a Portfolio entry. Attributes that aren’t populated will not be displayed on the end user interface. Attaching an image to a Portfolio entry also has been made relatively painless and one may even utilize
<href=”https://shrinktheweb.com” title=”Shrink The Web Generates Web Page Thumbnails”>ShrinkTheWeb.com to generate web page thumbnails.

The end user interface can be adjusted using the available Option Settings in addition to your own CSS. It also incorporates the TimThumb.php code to custom scale the images displayed within the Portfolio. The benefit here is to decrease the page weight while maintaining an acceptable quality image, plus the fact that you only need to load one image for use in the list thumbnail and expanded view. The end user interface also utilizes FancyBox to present the full-sized image in a litebox/thickbox control or allows you the ability to direct the user to a different webpage when they click on a Portfolio image.


WEBphysiology Portfolio Admin Options Menu

Requirements: WordPress 3.0 or better, PHP 5.0 or better

To install the WEBphysiology Portfolio plugin simply download the ZIP file, extract it and place all of the files into the wp_contents/plugins directory of your WordPress site. Follow this by going to the Plugins admin area and activating the plugin. After activation a “Portfolio” options menu will appear under the “Settings” section of the WordPress administration area. You may adjust the options or leave them at their default values.

WEBphysiology Portfolio Admin Menu

Once activated, the WEBphysiology Portfolio plugin will create a new Portfolio menu section below the Posts section. Within the Portfolio menus one may edit or add a new Portfolio as well as manage Portfolio Types and Options.

Creating a WEBphysiology Portfolio Page

The WEBphysiology Portfolio is implemented utilizing a [shortcode]. There are a couple of options that may be specified with the shortcode to further control the display of the Portfolio on a given page.

Incorporating the WEBphysiology Portfolio Shortcode on a Page

The following are the allowed set of [webphysiology_portfolio] shortcode parameters:

portfolio_type : This string parameter will filter the portfolio items being displayed based upon the assigned Portfolio Type. Multiple Portfolio Types may be referenced, just separate them with commas. Preceding a Portfolio Type with a dash will signify to exclude any Portfolios with that type assigned. (default empty)

id : This string parameter allows for the ability to encapsulate the Portfolios returned by the shortcode within a <div> of the specified id. (default empty)

max_nav_spread : This numeric parameter determines the maximum number of actual numbers that are displayed within the page navigation buttons. (default 5)

thickbox : This boolean (true/false) parameter allows for the ability to override the Portfolio Options setting specifying the image click behavior. Setting the value to “true” will result in displaying any Portfolios, for this instance of the shortcode, within a thickbox where appropriate. Setting it to “false” has the opposite effect. (defaults to current Portfolio Options setting)

per_page : This numeric parameter allows for the ability to override the Portfolio Options setting specifying the number of Portfolios to display on a given page. This can be handy if you use more than one Portfolio shortcode on a given page and want to have both instances records overlap onto the same number of subsequent pages. (defaults to current Portfolio Options setting)

limit : This numeric parameter allows for the ability to limit the number of Portfolio items that are returned by the shortcode. This can be handy if you want to just show one or two portfolios of a certain type along with a link to a page with a full blown set of Portfolio records.

credit : This boolean (true/false) parameter allows for the ability to override the Portfolio Options setting specifying whether to display the plugin credit. This can be especially handy if you use the Portfolio shortcode more than once on a given page. Setting the value to “false” will result in not displaying the credit for that instance of the shortcode. Setting it to “true” will display the credit. (defaults to current Portfolio Options setting)

Example Use of the [webphysiology_portfolio] Shortcode

The following covers just a few of the variety of ways to specify the Portfolio shortcode:


Specifying just the Portfolio shortcode will result in all entered Portfolios being displayed.

[webphysiology_portfolio portfolio_type=red]

Specifying a single Portfolio Type parameter will result in a Portfolio listing that only contains Portfolios that have the specified Portfolio Type assigned. Important Note – make certain to specify the proper Portfolio Type slug value as WordPress may have altered what you had entered as the slug if it had already been used (e.g., as a Post Tag). For example, you may have entered “red” as your slug but WordPress may have appended a number, resulting in the slug actually being set to “red-1”.

[webphysiology_portfolio portfolio_type=red,white,blue]

Specifying more than one Portfolio Type will result in a Portfolio listing that contains Portfolios that have the specified Portfolio Types assigned.

[webphysiology_portfolio portfolio_type=-red]

Specifying a single Portfolio Type parameter with a dash before it will result in a Portfolio listing containing all Portfolios except for those with the specified Portfolio Type.

[webphysiology_portfolio portfolio_type=red,-white,blue,-yellow]

You may mix and match any number of Portfolio Types to include or exclude. Those beginning with a dash will be excluded while all those without would be included. In this example, Portfolios with a type of red and blue would be included where white and yellow would be excluded.

[webphysiology_portfolio max_nav_spread=3]

Specifying the max_nav_spread will affect the display of the navigation control. This control will exist anytime the number of Portfolios extends beyond the number that are displayed per page. The max_nav_spread option controls the width of this control. For example, if one were to specify 3, then the control, at it’s widest, would consist of 7 control buttons; first, previous, 1, 2, 3, next, last. The default behavior is an argument of 5.

[webphysiology_portfolio]enclosed text[/webphysiology_portfolio]

The Portfolio [shortcode] allows for the ability to enclose text between open/close shortcode tags. The result will be that the text enclosed between the opening and closing shortcode tags will be displayed above the Portfolio Listing. One also could simply place text before or after the [webphysiology_portfolio] shortcode. NOTE: If you include text between shortcode tags, you must do it for all [webphysiology_portfolio] shortcodes used on a given page.

Note: You may include more than one Portfolio shortcode on a given page. This may be handy if you want to break up your portfolio based upon a given type but not split them onto separate pages. For example, perhaps you are using the plugin to manage folks on a video production crew and you assign them a “Portfolio” type based upon their role. You then could display your Portfolio entries on one page by role as follows:

[webphysiology_portfolio portfolio_type=director]
[webphysiology_portfolio portfolio_type=screenwriter]
[webphysiology_portfolio portfolio_type=cameraman]

The one major thing to understand here, however, is that Portfolio navigation may break the look as the number of entries per page that you specify in the Portfolio options is tied directly to the use of a given shortcode. So, if you specify three items per page and you have one director, two screenwriters and five camermen, the results will be that page one lists all of the directors and screenwriters and the first three cameramen. Navigating to page two will show a “no records found error” for the directors and screenwriters and list the remaining two cameramen.

Managing Portfolios

Adding and editing Portfolio items is very easy as the form for this has been tailored to just display those items that need to be touched.

WEBphysiology Portfolio Edit Screen

The available Portfolio fields include the following:

Portfolio Title : Like a Post, this is the main title of the Portfolio item and should always be specified.

Portfolio Description : This is the main block of text that provides details about the Portfolio item. It is the same control that you would use to enter the contents of a Post article. You typically would always enter a value for the Portfolio description.

Portfolio Type : This field allows you to categorize your Portfolio items and acts much like a Post Category. The value entered here also may be used to control which Portfolio items are displayed within a Portfolio listing.

Date Created : The create date may be any string (e.g., 2009 or June 2010). If not specified, the Create Date line will not be displayed on the Portfolio item.

Client Name : If this Portfolio item is associated with a client, then this value may be supplied. If no value is entered, this data line will not be displayed with the Portfolio item.

Technical Details : If any technical details are available for the Portfolio item, they may be specified here. If no value is entered, this data line will not be displayed with the Portfolio item.

Portfolio Web Page URL : If a website or web page is associated with the Portfolio item, then specifying it will provide a link to that page. If no value is entered, this data line will not be displayed with the Portfolio item.

If you are wanting to display a video within the thickbox, YouTube and Vimeo are supported. To make this work just enter the URL for a video hosted on one of these sites. You also must have set the WEBphysiology Portfolio options to display the image in a thickbox. If you don’t, then a click will send you to YouTube or Vimeo to view the video. The required format for these URLs are as follows:

Youtube: https://www.youtube.com/watch?v=071KqJu7WVo
Vimeo: https://vimeo.com/16756306

If you specify one of these video formats, the thumbnail will be generated by the video service, so, you don’t have to add a thumbnail if you don’t wish to.

Portfolio Image URL : This URL defines the image that is displayed to the left of the Portfolio details. If no image URL is specified, a “blank” image will be displayed, as such, a Portfolio item should always include an image. The two exceptions where a thumbnail is displayed without specifying an image would be in the case of you using PagePeeker or ShrinkTheWeb, or if you enter a valid, supported video format in the “Portfolio Web Page URL” field.

The “upload image” button works like the standard image button on a Post. When you are in the details section of an uploaded image you may either copy the link URL and then paste it into this field or, if you use the Insert into Post link it will copy the URL into this field.

Portfolio Sort Order : This field defines the order that Portfolio items will be displayed in the Portfolio listing. The field will default to a negative value of the Portfolio’s Post ID, such that if no changes are made, the most recent Portfolio items will be displayed at the top of the list.

Portfolio List : The Portfolio List, like any post type in WordPress, may be searched to quickly find a particular Portfolio, should you have many. You also may click on the Sort Order or Type column headings to sort the list by these columns.

Managing Portfolio Types

The management of Portfolio Types is handled in the same manner as Tags. In fact, the form used is pretty much the same other than the page title.

WEBphysiology Portfolio - Portfolio Type Management

WEBphysiology Portfolio Option Settings

There are quite a number of options available for managing the behavior of the user interface as well as the activation/deactivation of the Portfolio plugin.

Portfolio Release Notes

On occasion some upgrades to the WEBphysiology Portfolio plugin will contain changes that may affect your existing use of the plugin. When these occur, special release notes are created and added to the options page. You may, otherwise, always check the Change Log on this page or in the plugin’s readme.txt file for full release change details.

Portfolio Display Settings

WEBphysiology Portfolio provides the ability to control what the visitor sees in your portfolio. Beginning with version 1.1.0, the ability to hide detail elements in the front end has been added. Previously this only occurred when no data was populated for a given attribute. Now you can capture data elements but hide them from the display. In addition, labeling of the fields has been added and UI actions have been enhanced.

Labeling & Data Display

The ability to adjust the labels is provided to further allow for the customization of your portfolio. The primary thing to keep in mind is the width that these labels can take up, so, you should strive to keep them short unless you adjust the CSS to format the labels and data differently.

Display portfolio title : A Portfolio Title should be assigned to all of your portfolio entries as it quickly defines what the portfolio item is. You may, however, hide the title from the website UI, if it doesn’t fit your design, by unchecking this check box.

Display portfolio description : A Portfolio Description is the content entered in the main text area of the Portfolio. It is the same as the content area for a Post or Page. If you’ve entered a description, but wish to hide it from the website UI, simply uncheck this check box.

Display portfolio description before Portfolio meta fields : If you would like any entered Portfolio Description text to be displayed above the Portfolio Meta Data (default) then check this box. Otherwise, if you would like the Portfolio Description to be displayed after the Portfolio Details, uncheck this check box.

Display portfolio type : A Portfolio Type should be assigned to all of your portfolio entries as it allows for controlling the data displayed on a given page. You may, however, hide this from the website UI by unchecking this check box.

Portfolio type label : Allows you to specify the label to display in your portfolio for the Portfolio Type data. The default is “Type”.

Display create date : If a create date has been added to a Portfolio, but you don’t want to display this in the Portfolio, then uncheck this check box. The default is to display the create date when it exists.

Date created label : Allows you to specify the label to display in your portfolio for the Date Created data. The default is “Created”.

Display client name : If a client name has been added to a Portfolio, but you don’t want to display this in the Portfolio, then uncheck this check box. The default is to display the client name when it exists.

Client name label : Allows you to specify the label to display in your portfolio for the Client Name data. The default is “For”.

Display portfolio web page : If a URL to the client’s website has been added to a Portfolio, but you don’t want to display this in the Portfolio, then uncheck this check box. The default is to display the site’s URL when it exists. Another benefit of this setting is when used in conjunction with the “Image Click Behavior” setting as you now can set this URL to anything, including a different page on your site, and have the action of clicking on the thumbnail navigate the user to the specified URL.

Portfolio web page label : Allows you to specify the label to display in your portfolio for the Portfolio Web Page URL data. The default is “Site”.

Display technical details : If technical details have been added to a Portfolio, but you don’t want to display them in the Portfolio, then uncheck this check box. The default is to display the technical details when they exists.

Technical details label : Allows you to specify the label to display in your portfolio for the Technical Details data. The default is “Tech”.

Label width : The width of the labels can be adjusted to accommodate changes to the labels themselves. The default width is 60 pixels. Only enter the numeric value for this setting.

Image Handling

Refer to the Thumbnail Generation Flowchart to get a bird’s eye view of the flow around the creation of the thumbnails based upon the Option settings in combination with the Portfolio settings.

Missing image URL : WEBphysiology Portfolio ships with an included image to place in your portfolio should you not have an image to associate with an entry. This image may not appeal to everyone, so, outside of stepping on it in the portfolio plugin directory, you now may specify the URL of your own, customized image. If this image is in the standard uploads directory you can specify the path beginning with the “/uploads/…” directory. Otherwise, specifying the complete URL path is recommended. Also note, if you keep the standard behavior of opening a litebox/thickbox, and you specify a custom image, the resulting behavior remains, that being that “missing images” do not open in the litebox, the thumbnail has no click action. However, if a Site URL has been specified, any missing image setting will result in the user being sent to the specified URL.

Allowed image sites : This setting (released in v1.1.5) allows one to use a link to an image that is not on the local domain. Where this may come in most handy is when you are developing locally but want to have the images referenced coming off your live resources. The way this works on the back end is that images that are not on the local domain are copied to the “Temp” folder within the WEBphysiology plugin directory. That is, they are cached locally and created automatically, or re-created if they become deleted. To use this feature you simply need to ensure that the domain is specified in the comma-separated list of domains. If you forget to do this, an error will be displayed on the portfolio screen notifying you that images for “said” domain are not allowed to be displayed and the missing image will take its place.

Thumbnail Generator : There are different methods for generating thumbnail images within your portfolio. Here is where you specify the method to utilize.

  • Use built-in thumbnail support : The standard method for including a thumbnail in your portfolio is to upload an image, which will populate the Portfolio record’s “Portfolio Image URL” field. The resulting thumbnail will be scaled to the width defined in the styling section of this plugin.
  • Use PagePeeker.com : A new feature added in version 1.4.0 is the ability to utilize PagePeeker.com to generate Website thumbnails. This service is easy to set up as it does not require an account unless you would like an unbranded thumbnail served up. If that is what you would like, then sign up for PagePeeker’s Custom Solution and enter your “Custom Account” code in the field provided. PagePeeker’s service does include inside pages as standard. Note, if you are serving up larger images within a litebox when a thumbnail is clicked, this does not work with PagePeeker. The result of a click will be to send the user to the URL used to generate the thumbnail. For portfolio records where you want to override having PagePeeker serve up a thumbnail, then just specify a Portfolio Image URL.
    WEBphysiology Portfolio Plugin PagePeeker Settings
  • Use ShrinkTheWeb.com : A new feature added in version 1.2.0 is the ability to utilize ShrinkTheWeb.com to generate Website thumbnails. You’ll need to set up an account with them and input your Access and Security key but then you can add new website portfolio items and not have to worry about taking screen shots. If you want the ability to display ShrinkTheWeb.com thumbnails in a thickbox, or specify inner website pages, you’ll need to subscribe to those services and, as necessary, check the Basic/PLUS Version checkbox. A Basic/Plus account will make for a more current view of the website as the thumbnails are updated periodically. This feature is used only if you have turned it on, you have assigned a website URL and you have not assigned a portfolio image URL. Handling things in this fashion allows you to specify an image in situations where you don’t want to utilize the one from ShrinkTheWeb.com but want others handled via that method.
    WEBphysiology Portfolio ShrinkTheWeb Settings

Built-In Thumbnail Settings : These options are utilized for thumbnail images that are generated by the WEBphysiology Portfolio plugin, as opposed to PageSeeker or ShrinkTheWeb. Even when using those services sometimes thumbnails are created by this plugin, for instance, when you specify an actual image on a Portfolio record to override the services thumbnail.

  • Crop Thumbnails : If you are using image files to generate your thumbnails you can have these images cropped during the thumbnail creation. This will allow for some control over the final image size, though the cropped image will be the width you’ve specified for images in your portfolio and then proportioned. As such, if you want uniformity between the sizes of the images in your portfolio you’ll want to start with similarly sized full-sized images.
  • Maximum Thumbnail Height : This setting only works when you specify to crop the thumbnails. It also only works with the built-in thumbnail generator, that is, it won’t work with PagePeeker or ShrinkTheWeb sourced thumbnails.

Clear Image Caches : Clicking this button will remove cached image files located in the plugin’s temp directory, the ShrinkTheWeb cache directory and the TimThumb cache directory.

User Interface Actions

Refer to the Thumbnail Click Behavior Flowchart to get a bird’s eye view of the navigation flow after a thumbnail click based upon Option settings in combination with Portfolio settings.

Image click behavior : The original release of WEBphysiology Portfolio limited the action taken when a thumbnail was clicked to popping the image corresponding to the thumbnail in a litebox/thickbox control. While this is likely the action that many folks will still utilize, you now may also change the behavior to have a click navigate the user to the URL specified in the Portfolio Web Page URL field. This URL could be the actual URL to the associated site or a URL on your own site that contains more details about the item.

Open links in a new tab : While the accepted web design standard is to open links within the current tab/window, there is debate. To satisfy those that prescribe to a different standard this setting will allow you to have any links open a new tab/window. It essentially adds “target=’_blank'” to the anchor tag.


Portfolio items per page : Defines how many Portfolio items (rows) are displayed on a given Portfolio page. The default is three.

Sort numerically : The sort field on a Portfolio will, by default, be assigned the negative value of the Portfolio’s ID, which will make more recent Portfolios float to the top. You may re-number these to re-order the Portfolios. You also may put alphanumeric values in the sort field and uncheck this box to have portfolios sort alphabetically by these non-numeric values. This works great if you are using the Portfolio for biographies or the like.

Portfolio Styling

WEBphysiology Portfolio Styling Options

Use Portfolio plugin CSS : If you prefer to control the styling without having to fight the plugin’s styling, simply turn off the inclusion of the plugin’s CSS. When you turn off this option, the WEBphysiology Portfolio plugin stylesheet will no longer be referenced and the dynamically embedded style section also will no longer be included. As such, you should first duplicate the default styling and then adjust it as needed. Refer to the Custom CSS URL topic below as well as the last paragraph of this section.

note: The “portfolios” ID will be deprecated in a later release. CSS for the class “webphysiology_portfolio” has been in version 1.1.6 to replace the ID CSS.

Use Grid Style layout : If you prefer to place your images into a grid layout you may do so with this setting. On the back end the portfolio items are placed within an unordered list and floated. The styling will heavily depend upon your images being consistently sized and you may also need to tweak the CSS more than you would have using the standard list-styled layout. You’ll also need to play a bit with the “image width” setting to get the number of columns just right.

Grid background color : If your grid ends up with an open cell or two on the end, this color will fill in that area. So, for example, if you have a 3 x 2 grid but only four portfolio items, the fifth and sixth cells will take on this background color. Setting it the same as the “odd” stripe background color seems to work well.

Include mobile styling for @media only screen and (min-device-width: 320px) and (max-device-width: 480px) : If your theme is responsive, and you need to have the width of your portfolio narrowed up when on a smaller device, then selecting this option will add additional styling to the portfolio page that will use the “overall mobile width” setting. If this doesn’t work well enough, then you can review the page source for what was added, turn this off and add your own styling rules to your theme’s CSS file.

Use plugin’s single portfolio template if theme version does not exist : The WEBphysiology Portfolio plugin was not built with the intention of displaying individual portfolios on a single page. However, for situations where this may occur (e.g., search results) this plugin does support the creation of a template for such display. If a custom single Portfolio template has not been created then this plugin does include a template that may, or likely, may not match your theme but is available. This setting controls whether it is used or not.

Portfolio List – overall width : This setting, specified in pixels, defines the full width of the Portfolio listing. The default is 660 pixels.
overall mobile width : This setting, specified in pixels, defines the full width of the Portfolio listing when the device’s screen width is a minimum of 320px and a max of 480px. The default is 320 pixels.

Portfolio List – image width : This setting will control the width of the Portfolio image. The image is constrained in a proportional manner, so, there is no need to define the height. The default width is 200 pixels. Note: This field will define the cell width when a grid formatted layout is utilized.

Color selection helper : This color picker has been included to make it easier to find the hex number for the color you would like to utilize on your Portfolio entry title’s, links and background coloring. Simply click on the circle to get into a color range and then use the center square to adjust the saturation. If you paste a hex value in the lower box you can start the process from a known color. When you have a color you want, simply copy the value from the field below the color picker and paste it into the appropriate styling area.

Portfolio title color : This setting controls the color of the Portfolio item’s title. The default is #004813, which is a shade of green.

Portfolio nav link color : This setting controls the color of the link elements within the navigation buttons. The default is #004813, which is a shade of green.

Portfolio odd stripe background color : This setting controls the background color of odd Portfolio rows. Making the odd and even row colors identical will result in no visual separation between Portfolio items. The default is #eeeeee, which is a very light grey.

Portfolio even stripe background color : This setting controls the background color of even numbered Portfolio rows. Making the odd and even row colors identical will result in no visual separation between Portfolio items. The default is #f5f5f5, which is an off white.

Custom CSS URL : You have an option to specify a URL for a stylesheet that you want used in conjunction with this plugin. This stylesheet would be where you could override or augment the portfolio styling without having to adjust your theme’s stylesheet. The referenced URL should be a complete path to a CSS file. It will be referenced AFTER the plugin’s stylesheet, however, it is before the dynamic styling applied as a result of the “Portfolio Styling” section of the plugin options. You have two choices if this positioning causes a problem. The first is to use the “!important” rule to override the natural cascading precedence of a selector, which is generally discouraged. The other is to turn off the styling provided by the plugin and utilize just your custom stylesheet. If you take the second approach you can grab the styling from the portfolio’s styleseheet, along with the embedded plugin styling, and initialize your stylesheet with these. You’ll need to do this before turning off the plugin’s styling. See below for useful links to grab the plugin’s styling.

Use legacy “even” / “odd” classes on portfolio items and “top” / “bottom” classes on nav elements : This setting supports earlier installations where styling was based on the noted classes. These classes have been replaced with more unique naming conventions to alleviate conflicts with theme’s that use the same classes and don’t target them specifically enough such that they were causing issues with the styling of the portfolio. New, and most current users of the WEBphysiology Portfolio plugin, should not check this option.

At the bottom of the Portfolio Styling section are two links. The first, Standard Portfolio CSS, will display a pop-up of the plugin’s default styling. The second, Currently saved Dynamic CSS, will display the styling that will be embedded within the page source when the portfolio page is displayed. You can combine these two to generate the complete styling being applied to your portfolio. This may be helpful if you’d like to detour to using just your styling. See Custom CSS URL above for details on referencing your own custom stylesheet.

Odds and Ends


Include Portfolio Tags in standard Tag Cloud widget : When checked, any Portfolio Tags will be included along with the standard Post tags. You may want to un-check this if you use the Portfolio Tag Cloud widget.

Don’t register jQuery v1.7.1 from Google : Allows you to utilize the standard jQuery libraries that are included within the WordPress install. This option, however, should not be used unless issues are encountered with other plugins that also are trying to register the Google served jQuery libraries and causing issues.

Don’t register Fancybox jQuery v1.3.4 : Allows you to turn off the registering of the Fancybox jQuery library. This has resolved some contentions with other plugins that also utilize this library or the thickbox PHP library. Some of these contentions were alleviated by coding changes in v1.4.0 of the WEBphysiology Portfolio plugin.

Use full paths on images and css/js files : We have received support tickets from some users who use a hosting provider that does not allow full path names for the Portfolio Image URLs and others where the hosting provider requires it. By default, the WEBphysiology Portfolio plugin will use a relative path to the image but, if you are not seeing images displayed in your portfolio, then try turning on this option to force full path names to your images.

Portfolio Permastruct Slug : Though this plugin was not specifically built to display individual portfolios on their own page, it can be accessed via searches or you may want to display it. Should you work this into the mix you may change the custom post type slug from the default, webphys_portfolio. Just be certain that what you set this to is unique across all your post types, categories and tags or you will have conflicts. The default value was set to be pretty unique to avoid any conflicts. If you are changing from the default slug after having had this plugin installed for awhile, be aware that the individual Portfolio URLs will change, which could break links already pointing to the original URL. This, however, may not be a big deal. Only you can tell. If you have problems right after setting this try going to “Settings/Permalinks” and clicking the <Save Changes> button.

Run in Debug Mode : On rare occasions it may be necessary to try and trace through the code as it builds out the portfolio page. In the past this debug output had to be turned on through the editor, now you can turn it on from within the Portfolio options. Note, this debug output will only be displayed for logged in Administrator level users.

Display WEBphysiology credit : Will display a credit for your favorite plugin just below the lower right of the list in a very graceful manner. The default is to show your love.

Portfolio Deactivation Settings

Delete Portfolio Option Settings : By default, inactivating the WEBphysiology Portfolio plugin will not delete the plugin’s option settings. It is recommended to only tick this checkbox if you will be deleting the plugin, or if you want to totally start from scratch. Using the can also be used to reset the plugin options.

Delete Portfolio Records (includes Portfolio Types) : By default, inactivating the WEBphysiology Portfolio plugin will not delete the Portfolio data and Portfolio Types. It is recommended to only tick this checkbox if you will be deleting the plugin, or if you want to totally start from scratch.

Portfolio Tag Cloud Widget

portfolio_tag_cloud_widgetIf you have templated your theme to display individual Portfolio records and want to include a Portfolio Tag Cloud, you can do so with the “Portfolio Tag Cloud” widget. There are two options available with this widget. The first is to specify a title for the widget area. The second is to override the default Tag Cloud behavior and display the tags in an evenly sized tag list.

Troubleshooting FAQ

Specifying a ‘portfolio_type’ in the shortcode is not working. Why?

Double-check that the code you are specifying is the correct Portfolio Type. For example, if you’ve used the same Portfolio Type as a Tag, chances are the slug on your portfolio type had a number appended, even though you didn’t type it in when you added it.

Sometimes when you add the shortcode in the visual editor, especially if you copy and paste, it will apply formatting to the shortcode entry. If this happens then the plugin is unable to parse out the various components and WILL NOT WORK. The easiest way to see if this is happening is to flip to HTML editor mode and see if there are tags around any of the elements within the shortcode (e.g., <strong>, <em>, <code>). While in the HTML editor, remove any open and close formatting tags that are found or remove the formatting while in the Visual editor screen.

Why aren’t my images displaying?

This could be due to a variety of issues but the main ones tend to be an invalid image URL, permission issues on the caching directory or script contentions. If the missing image picture is displayed, the likely issue is a bad image URL. If a small black box is displayed, this may be a permission issue. The easiest way to check for this is to copy the source of the image and paste it into the browser address field. If this is a permission issue, an error message alluding to this situation will be displayed.

How can I get support?

My intention, at a minimum, is to maintain this plugin such that it is defect free. If after reviewing the details and videos here you still aren’t finding the answer you’re looking for, use our support system to log a ticket.

Every other Portfolio item is not formatting properly

In the earlier incarnations of WEBphysiology Portfolio, the class value of “even” was used on even numbered portfolio items and “odd” on odd numbered portfolio items. While this is still there, but will be deprecated at some point in the future, new class values were added because it became apparent that a lot of themes have styling around “even” and “odd” classes. So, if you are having styling issues on alternating portfolio items, make adjustments to your CSS with the class values “webphysport_odd_stripe” and/or “webphysport_even_stripe”. For example,

.webphysport_even_stripe { border: none; }

The website URL I’ve specified is not being displayed as the ShrinkTheWeb.com generated thumbnail. Why?

If you are specifying an inside page within your URL, then you must specifically subscribe to that service on your ShrinkTheWeb.com account.

My thumbnail is not being displayed in a thickbox. Why?

There are a few issues that may cause this behavior. They are as follows:

  • Some other plugins may use the same code libraries as the WEBphysiology Portfolio plugin. To help our users out we have added two options that may allow you to resolve the issue. These new Options, located under the “Odds and Ends” section, are as follows:
    • Don’t register Fancybox jQuery v1.3.4 – Try checking this option first and see if it resolves the issue.
    • Don’t register jQuery v1.4.4 from Google – If turning off the registering of the Fancybox libraries doesn’t work, try disabling the registering of the Google served jQuery library. If this works you may want to see if you can un-tick the previous option as it is best to utilize these libraries for this plugin.

I get a “File Not Found” error when I try and install from WordPress plugin area. Why?

This happens on occasion. Running the install a second time typically results in a successful install.

The styling of my Portfolio is not reflecting the changes I made in the Portfolio options. Why?

The styling behavior of the WEBphysiology Portfolio can vary from theme to theme. The reason for this is that the theme’s styling can trump the Portfolio’s styling depending upon where the styling of one or the other falls within the styling hierarchy. If this is happening you’ll have to adjust your theme’s styling to allow for the portfolio’s styling to work or turn off the WEBphysiology Portfolio styling and hand it within your theme’s styling.

ShrinkTheWeb.com behavior has changed. What’s going on?

Part of the code change in version 1.4.6 of the WEBphysiology Portfolio plugin was to revert back the caching and linking of ShrinkTheWeb to pre-1.2.7 behavior. The behavior now is similar to the Plus version where the thumbnail image now is cached again and clicking will take you straight to the site, bypassing the middle confirmation page.

Change Log

March 23, 2013 : 1.4.8 download

  • added an option to turn off using the plugin’s Single portfolio template when one doesn’t exist for the theme
  • fixed an issue where an externally hosted missing image was throwing a bad path error
  • added the ability to turn on debug mode output from an Option setting
  • replaced deprecated image_resize function with new WP_Image_Editor class / functions

February 18, 2013 : 1.4.7 download

  • added the ability to sort the Portfolio admin listing by Portfolio Type and Sort Order
  • added the ability to specify a list styled Portfolio Tag Cloud
  • deprecated the has_shortcode function by renaming it to webphys_has_shortcode
  • added the ability to specify a stylesheet that will be referenced after the WEBphysiology Portfolio plugin’s stylesheet. Note, this still is before the embedded styling if the plugin styling is being used.
  • added links to generate a pop-up thickbox containing the styling from the plugin and plugin settings. Handy if you want to know what to adjust or what exists before turning off the plugin styling.

September 6, 2012 : 1.4.6 download

  • ShrinkTheWeb has changed their service such that free accounts can now use the process that allows for local caching instead of having to use stw_pagepix. This is how it use to be, so, updated code to all work like ShrinkTheWeb pro with regard to not using stw_pagepix and, instead, caching images locally.
  • changed “thickbox” class to “wpp-thickbox” to remove conflict with WP eCommerce plugin, who uses the same class
  • added the ability to reduce the portfolio width for mobile devices. currently basic implementation and is off by default.
  • added the ability to override the default custom post category, webphys_portfolio, with regard to the slug it uses
  • updated plugin’s compatible WordPress version to v3.4.2

July 21, 2012 : 1.4.5 download

  • updated to handle document root definition when running from a Windows server where $_SERVER[’DOCUMENT_ROOT’] is not available
  • updated to handle document root definition when running within an environment where the $_SERVER[’DOCUMENT_ROOT’] is mapped to a different directory
  • enhanced code that checks if image is on local server to handle instances where an image URL is specified without “www” and the site is running under “www”
  • corrected bad formed
    tag in Portfolio Type select list and also enhanced it to allow setting the type to None (clear it)
  • fixed a typo in the page navigation adjustment where << was not pushing to page 1

April 17, 2012 : 1.4.4 download

  • updated how page navigation URLs are built
  • solved an issue where sub-domains were not able to find a valid image due to path issues … appears to only occur with GoDaddy hosting

April 1, 2012 : 1.4.3 download

  • consolidated and re-used some file path and file existence checking code to deal with some anomalies in how the checking for files was occurring

March 25, 2012 : 1.4.2 download

  • found and corrected a defect that would clear the Portfolio Type on a portfolio and also resulted in the Portfolio Type count from being updated
  • changed Portfolio Type taxomony from “portfolio_type” to “webphys_portfolio_type” to further reduce contentions with other custom taxonomies
  • added deleting Portfolio Tags if the plugin is deactivated and the deletion of Portfolio Records is selected in the options
  • replaced the use of TimThumb with WordPress built-in image handling for generating thumbnails
  • added the ability to put a hard limit on the number of portfolios to return by using the “limit” shortcode paraemeter
  • added the ability to crop and restrict the height of built-in generated thumbnails
  • added code to the thumbnailing routine to push up to a CDN if using W3 Total Cache
  • enhanced cached thumbnail clearing by also clearing out cached thumbnails that are down within the uploads directory

January 15, 2012 : 1.4.1 download

  • removed un-used conditionally_add_scripts_and_styles function as there was another plugin, my-record-collection, that also had this function defined.
  • added custom Portfolio Tag taxonomy and added update code to convert any existing post tags to this custom Portfolio tag
  • added Portfolio Tag Cloud widget
  • by default any custom Portfolio tags are included in the standard Tag Cloud widget, but an option to override this behavior is available within the plugin options
  • added ability to create single-webphys-portfolio.php template for use when displaying a single Portfolio record
  • added ability to create archive-webphysiology_portfolio_tag.php template for use in displaying Portfolios associated with a given Portfolio tag
  • added ability to change thumbnail cache folder permissions to 0777 to deal with some instances where 0755 default permissions don’t work with timthumb.php, resulting in no image being displayed

December 27, 2011 : 1.4.0 download

  • added support for displaying a single portfolio post, alleviating issues with 404 screens displaying when a Portfolio record was accessed via a search results screen
  • added back the ability to preview a single portfolio record
  • changed the action that the has_shortcode function is called in to cover for single portfolio screen displaying and thickbox contentions
  • added PagePeeker service support for thumbnail generation
  • replaced some path code in place of the plugins_url function
  • added the “webphysiology_portfolio_use_full_path” option to allow for the ability to have images, and some css/js files, specify full pathnames. there seems to be instances where some hosts don’t like HTTP:// within the image pathnames and some cases where they require it
  • added code to handle image paths needing adjustment in a multisite install
  • updated inclusion of ShrinkTheWeb script to utilize wp_enqueue_script and specifically un-register any instances that were registered as “stw-pagepix”, which is how WordPress Portfolio Plugin registers it
  • added deregister of thickbox resources to try and avoid contention with other plugins, like Auto Thickbox Plus
  • added function for gathering plugin options and returning them within an array

September 15, 2011 : 1.3.2 download

  • in response to an issue with Thesis, changed the hook used to call function that sets css and scripts on pages with the webphysiology_shortcode
  • added support for Options page WEBphysiology social buttons
  • better isolated navigation controls by adding “webphysport_nav_top” and “webphysport_nav_bottom” classes. top and bottom classes will be deprecated in a later release.
  • added embedded portfolio CSS for new webphysport_odd_stripe and webphysport_even_stripe classes. odd and even classes will be deprecated in a later release.
  • moved the instantiation of the webphysiology shortcode to just the non-admin area of the plugin
  • enhanced the “has_shortcode” function to utilize a different method to obtain the current page’s content as using “the_content()” was causing issues with some theme’s page titling
  • since non-Pro STW cannot be sized like other images within the portfolio, updated ShrinkTheWeb code to get the largest image from STW that is
  • to clean up IE7 and below Portfolio meta data layout a new stylesheet was created that defined CSS for the div’s within the portfolio_meta classed div and then added negative bottom margin to these child div’s to pull them together

August 11, 2011 : 1.3.1 download

  • removed deprecated #portfolios ID from embedded stylesheet; was overlooked in version 1.2.7 when the stylesheet was updated
  • updated file_loader.js script to allow a user to insert media into the content area of the portfolio
  • adjusted code to try and further reduce the <head> overhead on pages when not in Admin
  • changed default “isAllowed” sites to not specify any original out-of-the-box sites and require users to enter the sites so they are fully in control
  • renamed “thumb/timthumb.php” and updated to the new 2.0 version
  • separated out functions and consolidated all code that deals with Admin areas. the functions are now in a separate function.php file
  • further targeted query adjustments to touch only WEBphysiology Portfolio queries
  • added a button for clearing all image caches (temp, stw/cache, timthumb/cache)
  • added second save and donate button to the top of the Portfolio Options admin page

July 29, 2011 : 1.3.0 download

  • deprecated the [portfolio] shortcode as it was replaced with [webphysiology_portfolio] in v1.2.4
  • added ability to place the Portfolio Description below the Portfolio Meta Data output
  • fixed issue where Portfolio counts in the Portfolio Type listing weren’t being updated
  • added CSS to handle positioning the Portfolio description below the meta data
  • updated code so that the admin css stylesheet is only called when on the WEBphysiology Portfolios Options page
  • removed width styling for the individual portfolio context menus on the portfolio listing
  • added additional Options header comments from the plugin authors
  • removed the “Post Tags” sub-menu from the Portfolio menu block
  • removed the “Post Tags” and “Portfolio Types” fields from within the Quick Edit area of the Portfolio Listing
  • added inclusion of a new stylesheet for use when on the edit screen of a Portfolio
  • added new CSS file: “css\portfolio_post.css”

May 24, 2011 : 1.2.9 download

  • corrected issue where new installs were not having all of the default options set
  • fixed issue where some of the release note links were not being displayed in admin
  • fixed issue where non-ShrinkTheWeb users were not having images displayed in a thickbox
  • added code to ensure that the image “temp” directory existed
  • added “Shortcode Values Help” to Portfolio Options Admin page
  • added some process flow charts for thumbnail image generation and click behavior to the Portfolio Options Admin page

April 30, 2011 : 1.2.8 download

  • corrected a change made in 1.2.7 where the thumbnail would not display when using a non-Pro version of ShrinkTheWeb and the image click behavior was set to open the Portfolio web page URL
  • added note to image click behavior option setting to let user know that a non-pro version of ShrinkTheWeb will always result in the image click opening the Portfolio web page URL

March 31, 2011 : 1.2.7 download

  • added a little error handling to the ShrinkTheWeb code to throw back any errors returned when trying to get a thumbnail from STW
  • changed navigation styling to use borders and not images
  • #portfolios styling ID now has been deprecated and replaced with class .webphysiology_portfolio
  • admin options page has had some styling updates and option placement shifts
  • pushed the fancybox jquery script down into the footer
  • added new option to allow disabling the registering of the Google served jQuery code as other plugins, like MailChimp, has some sort of conflict otherwise
  • added new option to allow disabling the registering of the Fancybox script as other plugins, like Fancybox for WordPress, use an earlier version and they “break” with newer versions – this is me trying to be a good neighbor
  • fixed an issue where $portfolio_open_empty was not being defined for non-grid styled portfolios
  • updates made to support the changes to ShrinkTheWeb.com that removes local caching of thumbnails, which also led to not being able to display the ShrinkTheWeb.com images within a thickbox
  • corrected admin message system as it wasn’t always displaying any crafted upgrade messages

March 2, 2011 : 1.2.6 download

  • fixed an issue where the update notes were not being displayed
  • tried to harden the code that updates the database when upgrading from a version earlier than 1.2.4

March 1, 2011 : 1.2.5 download

  • updated the image paths to use “/wp-content/…” instead of the whole path as some hosting companies won’t allow “http://www” as an URL args
  • enhanced plugin messaging system to be properly formatted, which also required updates to portfolio_admin.css
  • now include my own copy of farbtastic as opposed to using WP provided version
  • got the version notes displaying consistently in fancybox
  • updated fancybox scripts to version 1.3.4
  • updated Google served jQuery to version 1.4.4

February 24, 2011 : 1.2.4 download

  • added shortcode parameter “id” that allows for the ability to encapsulate a portfolio within a
    of a specified id
  • added shortcode parameter “per_page” that allows for the ability to override the options setting specifying the number of portfolios to display per page
  • added shortcode parameter “thickbox” that allows for the ability to override the options setting specifying the image click behavior
  • added shortcode parameter “credit” that allows for the ability to override the options setting specifying whether to display the plugin credit
  • found that some of the shortcode variables were not being cleared when a shortcode was used more than once on a given page – fixed
  • added support for thickbox pop-ups to display Youtube and Vimeo videos along with pulling back the thumbnail associated with them
  • fixed fancybox CSS file as the IE fixes had incorrect paths, which resulted in issues in IE and slowness in a site utilizing the jQuery plugin
  • moved plugin Options up within the Portfolio menu block and also moved the “Settings” link on the plugins page from the description area to under the plugin title
  • updated the custom post type from “Portfolio” to “webphys_portfolio” because v3.1 doesn’t like caps and also to avoid contention with other plugins
  • started transition of shortcode from [portfolio[ to [webphysiology_portfolio]
  • added important release notes to the Portfolio Options page

February 07, 2011 : 1.2.3 download

  • support for deeper page screenshot generation added for ShrinkTheWeb.com. This does require more than the basic subscription with them.
  • cleaned up some CSS validation errors
  • updated some PHP logic to utilize !empty v. !$x==”
  • updated post-id ID references to handle multiple [shortcodes] on one page as they were not necessarily unique in this instance
  • added an option that allows an admin to set the links to open in a new tab/window
  • added code to trap for autosave and quick edit saves such that the custom Portfolio save script does not execute and, in the case of the quick edit save, keep it from completing
  • removed the “preview” button from the Portfolio edit screen as there is no individual Portfolio view
  • removed the “view” option within the Portfolio admin listing as there is no individual Portfolio view
  • updated the Portfolio Listing column labels to use those set in the Portfolio options
  • updated Portfolio Listing to hide Portfolio Types as QuickEdit does not utilize a select list, which is problematic
  • changed the ShrinkTheWeb secret key input type to mask the value
  • added an environment check to ensure that the current host and WordPress version meets the minimum requirements of the WEBphysiology Portfolio plugin

NOTE: The “portfolios” ID will be deprecated from all CSS in a later release. CSS for the class “webphysiology_portfolio” has been in version 1.2.0 to replace the ID CSS.

January 14, 2011 : 1.2.2 download

  • removed the forcing of the sort field to be numeric and added an option to sort alphabetically (by turning off “sort numerically”).

January 13, 2011 : 1.2.1 download

  • made some changes to the navigation control, nav_pages(), as it wasn’t always accurately drawn
  • removed an errant character from a line of code
  • added note to Portfolio edit screen when ShrinkTheWeb is used to let the user know that entering an image URL will override the use of ShrinkTheWeb for that Portfolio

NOTE: The “portfolios” ID will be deprecated from all CSS in a later release. CSS for the class “webphysiology_portfolio” has been in version 1.2.0 to replace the ID CSS.

January 10, 2011 : 1.2.0 download

  • added support for ShrinkTheWeb.com
  • removed empty “temp” directory from the plugin package. replaced with code that will create it should it not exist
  • updated the portfolio_search_where() function to handle any amount of included and excluded portfolio types and in any order
  • updated nav control code to handle multiple [portfolio] shortcodes being used on one page
  • updated CSS to handle multiple [portfolio] shortcodes being used on one page

NOTE: The “portfolios” ID will be deprecated from all CSS in a later release. CSS for the class “webphysiology_portfolio” has been in version 1.2.0 to replace the ID CSS.

January 6, 2011 : 1.1.5 download

  • Updated nav_pages() method as it wasn’t working when pretty permalinks were not being utilized
  • Enhanced nav control method so that it doesn’t have to rebuild for the bottom nav, it just uses what was built for the top nav
  • Updated code to allow for portfolio images that are hosted on sites other than the current site

January 3, 2011 : 1.1.4 download

  • Fixed a bug where the plugin credit could not be turned off

December 31, 2010 : 1.1.3 download

  • Added the ability to hide the Portfolio Title and Description from the end user interface
  • Added the ability to have a grid formatted layout
  • Enhanced the UI styling tags a bit as well as the CSS
  • Cleaned up the Admin interface a bit around the display options
  • Verified on version 3.0.4 of WordPress

December 9, 2010 : 1.1.2 download

  • Added apply_filters() to data retrieved with get_the_content() as that method does not include this, unlike the standard the_content() method. This was preventing the use of shortcodes within the Portfolio description.

December 5, 2010 : 1.1.1 download

  • Bug fix – a form tag around the color selector was keeping the Portfolio Settings submit button from firing on Windows machines.

November 8, 2010 : 1.1.0 download

  • Added a color picker to the Admin styling area to make color selections quicker
  • Added the ability to change the detail data labels and their width
  • Added the ability to turn off the display of all detail data items should you want to store the values but not display them
  • Added the ability to navigate to the specified “site” URL when you click on the thumbnail as opposed to opening up a larger image in a litebox/thickbox control
  • Added the ability to specify a missing image URL as opposed to using the plugin provided image
  • Fixed potential issue where embedded STYLE was still being included when NOT using WEBphysiology Portfolio CSS

November 8, 2010 : 1.0.2 download

  • Added support for WEBphysiology 80% opacity within IE
  • CSS adjustments
  • Updated thumbnail retrieval to change the image URL passed to timthumb to exlude the path up through the wp_content directory

October 18, 2010 : 1.0.1 download

  • Initial release adjustments/patches

October 17, 2010 : 1.0.0 download

  • Initial release

WEBphysiology Portfolio Plugin – Version 1.3.2 Release Notifications


  1. As it would appear that many themes define a “top” and “bottom” classes, and because the top and bottom navigation buttons in this plugin also have these classes defined, we’ve added new classes, “webphysport_nav_top” and “webphysport_nav_bottom”, and updated our styling around these. The previous styling and inclusion of the “top” and “bottom” classes still remain, for backward compatibility, but WILL BE DEPRECATED in a future release. So, if you’ve created any CSS around the “top” or “bottom” classes specifically for this plugin, you should change them to use the “webphysport_nav_top” and “webphysport_nav_bottom” classes, respectively.
  2. As it would appear that many themes define a “odd” and “even” classes, and because the odd and even background striping in this plugin also have these classes defined, we’ve added new classes, “webphysport_odd_stripe” and “webphysport_odd_stripe”, and updated our styling around these. The previous styling and inclusion of the “odd” and “even” classes still remain, for backward compatibility, but WILL BE DEPRECATED in a future release. So, if you’ve created any CSS around the “odd” or “even” classes specifically for this plugin, you should change them to use the “webphysport_odd_stripe” and “webphysport_odd_stripe” classes, respectively.

WEBphysiology Portfolio Plugin – Version 1.3.1 Release Notifications

+ default Allowed Image Sites removed

  1. Due to a security issue with the TimThumb image resizing (PHP) plugin utilized in this WordPress plugin, this release was pushed out quickly on the heals of the v1.3.0 release. This release incorporates TimThumb 2.0.
  2. The default “Allowed Image Sites” have been stripped for security purposes. This means if you host any of your portfolio images on flickr.com, picasa.com, blogger.com, wordpress.com or img.youtube.com, you likely will need to add them back into the “Allowed Image Sites” field in Portfolio Options. You only should list those domains where you actually host images.

WEBphysiology Portfolio Plugin – Version 1.3.0 Release Notifications

Announced Shortcode Deprecation Enforced in this Release

  1. The support for the [Portfolio] shortcode has been removed in this release. The only supported shortcode for this plugin is [webphysiology_portfolio].

WEBphysiology Portfolio Plugin – Version 1.2.7 Release Notifications


  1. The “#portfolios” <div> ID wrapper has been removed from the stylesheet as it was replaced several versions back with the <div> “.webphysiology_portfolio” class.
  2. ShrinkTheWeb.com has changed their model for non-paying customers to not allow for local caching of thumbnails they generate. This also results in not being able to display these images in a thickbox. Non-Pro accounts also will generate a STW Preview Verification middle page when navigating to the underlying website. If you would like these features re-instated you will need to upgrade to a paid Pro level account. This also would give you the ability to generate website thumbnails for inner pages.

Lock to Account Enforcement also has been added.

Additional details are available at ShrinkTheWeb.com

  • Added Option settings to allow for not registering the Google served jQuery library or the more current Fancybox script. This is to assist in dealing with contentions with other plugins that register these scripts.
  • The [portfolio] shortcode will be deprecated in the near future. The shortcode that should be used is [webphysiology_portfolio].


WEBphysiology Portfolio Plugin – Version 1.2.4 Release Notifications


1) To proactively try and avoid future plugin contentions, the shortcode will be changing from [portfolio] to [webphysiology_portfolio]. The later is currently available. The former will go away in the near future, so, update your portfolio pages with the new code.

2) If you are doing custom CSS work on the portfolio, be aware that back in version 1.2.0 we noted that the standard CSS that comes with the plugin was having the ID “#portfolio” selector changed to the class “.webphysiology_portfolio” selector. The ID selector will be removed from the CSS in the next release. You will not be affected if you have not customized any backend CSS. If you have, just make certain you are not using “#portfolio”.

3) The WEBphysiology Portfolio settings have been moved out from under the Admin “Settings” menu and relabeled. The plugin configuration options are now labeled “Options” and are located under the Portfolio menu block.

1.2.4 Enhancements to be aware of:

1) The custom post type has been changed from “Portfolio” to “webphys_portfolio”. Reason #1 is that WP v3.1 has disallowed the use of uppercase characters in the custom post type name, which broke the plugin. “webphys_” also was added to proactively try and avoid any contentions with other plugins and code. When you upgraded to v1.2.4 of this plugin the Portfolio Post data was automagically updated to the new custom post type value “webphys_portfolio”.

2) Four new shortcode parameters have been added to allow for additional functionality:

id : this string parameter allows you to specify a <div> ID that will wrap the data returned by the shortcode. This will provide the ability to style a given instance of the shortcode differently from another instance.
per_page : this numeric parameter, if specified, will override the Option setting and allow you to, on a particular instance of the shortcode, specify how many portfolio items will be included per page for that instance of the shortcode.
thickbox : this boolean (true/false) parameter will let you override the Option setting, allowing you to open items in a thickbox or direct the click to the specified URL
credit : this boolean (true/false) parameter will let you override the Option setting, allowing you to only display the plugin credit where you want to. specific reason for this parm is to allow you, in instances where you have more than one [webphysiology_portfolio] shortcode on a page, to just display the credit on one instance.

3) YouTube and Vimeo are now supported within the Fancybox thickbox interface. If you enter a Portfolio Web Page URL for a video hosted on one of these sites, and you have set the WEBphysiology Portfolio options to display the image in a thickbox, then the video will be displayed in the thickbox as opposed to sending you to Vimeo/Youtube. The required format for these URLs are as follows:

Youtube: https://www.youtube.com/watch?v=071KqJu7WVo
Vimeo: https://vimeo.com/16756306

For a complete list of changes refer to the Readme.txt file in the WEBphysiology Portfolio plugin directory.

  • Share

202 Responses to WEBphysiology Portfolio Plugin

  1. Pingback: WordPress Plugins I Use and Highly Recommend | WEBphysiology

  2. sascha says:

    hi there
    i am very happy with the plugin but have one problem, that keeps me from using it. maybe you can help: i need to be able to insert a wpaudioplayer into every project. the code is like this: [audio:http://www.main-studios.de/wp-content/uploads/test.mp3|titles=test]
    unfortunately it wont work, instead is interpreted as plain text. in other sites/articles it works fine.
    is there a way to get this working?

  3. sascha says:

    wow! thanx, jeff for the quick support!
    will look for new version first thing tomorrow.
    and do the rating!

  4. sascha says:

    actually just updated and everything works just fine!

    • Jeff Lambert says:

      Glad I was able to fix it for you. Kind of a bug in WP if you ask me but happy that you’re happy. Enjoy! Let me know what your site is too as I’d like to see how you are using the plugin.

  5. dava says:

    I tried to install this plug in and here is what happened:

    Fatal error: Call to undefined function taxonomy_exists() in /home/content/91/6041791/html/wp-content/plugins/webphysiology-portfolio/portfolio-main.php on line 394

    Now, I can’t get to my site at all. That message comes up no matter how I try to get to my site. I am really worried. Please advise.


    • Jeff Lambert says:


      What version of WordPress are you running? This plugin requires version 3.0 or better as it utilizes the new custom post type and taxonomies.

      To get rid of it you’ll need to go into File Manager through your host’s front end and simply delete the “webphysiology-portfolio” folder from the plugins directory noted in the error.

      Let me know how it goes.

  6. dava says:

    Thanks! It worked. Guess it’s time to go ahead and upgrade to 3.0. Fantastic quick response, I sincerely appreciate it.

  7. MBoetger says:

    Is there a step-by-step tutorial on how this plugin works? Can’t seem to put the pieces together.

    • Jeff Lambert says:

      I’m actually working on these now. They should be out within the week. The online docs, however, should be pretty inclusive but also understand the benefit of video, which is why I’m working on that. If you sign up for my RSS, Facebook, Twitter and/or YouTube channels you will be notified when these are released.

  8. MBoetger says:

    online docs?

  9. Bruno says:

    Simply great!
    Small request: why not giving the users the opportunity to create the screenshots “on the fly” using a service like http://www.shrinktheweb.com/ or similars ones? They also provide a plugin to abilitate shortcodes, for example this simple page I made http://www.preggio.info/paese/sleeping/ (with tables!) has all the screenshots generated of the fly, and I only had to use a shortcode like [thumb]http://domain.com[/thumb] to generate them.
    In your case, inside the “portfolio details” box, you could give the option of using the provided “Portfolio Web Page URL” to generate the screenshot, OR upload any picture (as it is right now).
    So doing it could be a “real time” portfolio :-). Or a traditional upload of screenshots, like it is now.
    P.S. I obviously tried to populate the “Portfolio Image URL” with both [thumb]http://preggio.it[/thumb] and http://images.shrinktheweb.com/xino.php?stwembed=1&stwxmax=320&stwymax=240&stwaccesskeyid=XXXXXXXXXXXX&stwurl=http://www.preggio.it (so not using their plugin) but it didn’t work, I assume because of the thumbnail generator, pls see http://www.preggio.info/?page_id=1158&preview=true

    Grazie, Buon Anno a tutti!

    • Jeff Lambert says:

      Hello Bruno,
      Not a bad idea at all. I’ll take a look at their API code / plugin. I’m not certain of the timing as I just put some more time into this plugin. Did you have to sign up for an account to use their service (shrinktheweb) or could you just use their plugin or code?
      BTW – your page preview no longer existed but, yes, I’m sure it didn’t work since I build the thumbnail using timthumb which uses the image URL as a parameter.
      Happy New Year to you too!

  10. Bruno says:

    Oooopss.. sorry, you can find it here:
    And .. yes, you have to sign up to their service, they give you a “stwaccesskey” that you’ll use to generate the thumbnail with the URL sintax I’ve shown above. Or with their plugin, obviously.
    I’n not a programmer myself, but I believe that the additional options for you would simply be to ask for the “stwaccesskey” and then a drop-dwon to select the desired thumbnail size. From these infos (plus the website url, of course) you can generate the thumbnail to place in your list INSTEAD OF the uploaded image.
    Simple … or, at least, I believe so 🙂

    • Jeff Lambert says:

      Thank Bruno, I’ll take a look. It would require a change to the admin screen to capture the STW code, a changes to the Portfolio edit screen as well as changes to the code that generates the page, so, there’s a little bit of work. Then there is the overhead of SVN and documentation. But, I like the idea.

      If you Like my Facebook, follow my Twitter, subscribe to my RSS and/or subscribe to my newsletter, you’ll catch when updates are made to this plugin, amongst other news.


  11. PahaW says:

    Two questions:
    1) How can I add additional fields in the details of a portfolio (I need to add a field, but when I was finishing line with a code similar to the “tech” I no longer work portfolio).
    2) I use to show the links in the form of “default” (? p = 123). How do I use “nav_pages ()” if the links are “? paged =”.

    • Jeff Lambert says:

      1) So, if you are trying to add another field by essentially duplicating “tech” then just make certain you step through the whole script searching for every instance of that field and its variables, including the adding of a default value.
      2) Use the whole URL for the page (i.e., http://www.domain.com?page=n) in the portfolio URL field, not a relative path
      Good luck

  12. Adam Trickett says:

    I’ve installed the plugin, but when I attempt to add a new portfolio, the metabox panel Portfolio Details shown in your screen-shot is no where to be seen.

    Am I missing something?

    • Jeff Lambert says:

      The only thing that would affect that is whether you’ve activated the plugin after installing it. Did you activate it and it still isn’t showing up? If so, I’d try deactivating it, delete it and re-install and activate it. Let me know how it goes.

  13. PahaW says:

    1) I’m doing, by analogy with tech add the necessary lines (called “systemd” instead of tech), but nevertheless, as soon as I add lines such as tech (named “systemd” instead of tech) in the loop-portfolio.php script ceases to show portfolio in the admin (portfolio-main.php) everything works. At the base of the new element is added, wp_options, wp_post_meta.

    2) Look at line 1428 file portfolio-main.php as there is the formation of links. That is when I want to move to another page in the link appear? paged = 2 (page number),
    and when it lost the address of the page itself (ie: http://domain.ru/?page_id=420),
    I seems to be in nav_page () does not prescribe <li> <a href=”?paged=’. ($start-1).'”>, and <li> <a href=”?paged_id=”.$post-> ID. “& Paged = ‘. ($ Start-1).'”>. You do not forget about the global variable $ post.

    • Jeff Lambert says:

      Okay, now I understand you are talking about page navigation in #2.

      I’m working on a couple of other items at the moment but will try and get back to you within a day. If you want to send me your code (#1) that may help me to answer your question.

    • Jeff Lambert says:

      Alright, I see the issue you are speaking about in #2. I don’t use the default permalinks, so, didn’t catch that issue. I’ll see what is going on and fix that.

      For #1, I’m still fuzzy on the issue, so, you’ll need to shoot me your code and note the lines you’ve updated, particularly in loop-portfolio.php if that is where you think the issue is.

  14. PahaW says:

    # 1 The first problem was resolved by itself, even reinstall the plug-in (and even the activation and deactivation). Perhaps because of the cache was the problem, perhaps something that tambourine dance =)
    # 2 thanks will be waiting

    • Jeff Lambert says:

      Version 1.1.5 has been released but is still propagating out. Should be there within 30 min, probably sooner. This should take care of the page navigation issue. Thanks for letting me know about this and let me know how it goes. Glad #1 cleared up.

  15. PahaW says:

    Thank you very much, made the changes manually, as translated into Russian plugin.
    I have to you have a couple of suggestions:
    1) Make a multilanguage plugin, with translation into Russian can help;
    2) Make it possible to add custom fields, so as not to climb each time the code.

    • Jeff Lambert says:

      Thanks for the suggestions. The first was on the list. The second is now too. Mostly a resource issue but hopefully being able to update the labels will cover for the multi-language option for now. Hope this works out well for you. Share your URL when things are up.

  16. Rafael Santana says:

    Simple, efficient and objective. The easiest way to a page portfolio
    So getting a good result only with this plugin.
    Initially I had trouble implementing it, but the developer Jeff helped me and together we can solve the problem.
    See for yourself! Enjoy, It free!!!

  17. I know I may be a complete idiot but I have heard so much good about this plug-in but I can figure out everything except for adding the images! Holy cow…I am embarrassed to put that up here but…could you possibly help out?

    • Jeff Lambert says:

      No worries Trent and would appreciate your input if you can think of how to make this process more clear. Basically, you need to enter the image URL into the “Enter portfolio image URL” field. So, this is done by uploading an image as you would for a Post. You can use the button right in that area of the Portfolio entry form. The one thing that isn’t happening is the link does not always display on a newly uploaded image. No problem, just copy the Link URL from the uploaded image and then close the image screen and paste it into the field on the Portfolio. The first video tutorial should provide you with a visual look at this. If you’ve previously loaded an image the link does seem to show up.

      Best of luck and let me know if you still have any problems or have suggestions on how to improve upon the process.


  18. Trent Sanders says:

    aha! Thanks so much…that is why I was so confused…that is an extremely easy way to do that…

    My problem was I am trying to add a GALLERY and portfolio just doesn’t do that. I sincerely apologize for taking your time.

    And here I am going to ask another question…you have any GALLERY plugins available?

    Happy New Year.


  19. Paul Allen says:

    Hi Jeff, I just updated and now I see Linkedin and Twitter like buttons w/in the portfolio but I don’t see a way to hide them in Portfolio. Any suggestions? Thanks!


    • Jeff Lambert says:

      Paul, Those are coming from another plugin or your theme and not a result of the WEBphysiology Portfolio plugin. You’ll notice that they are on every page. Perhaps you can hide them on a page-by-page basis within the page editor?

  20. sascha says:

    hey jeff
    i just wanted to update the plugin but i get this error message:
    Parse error: syntax error, unexpected ‘&’, expecting T_VARIABLE or ‘$’ in /WWWROOT/156991/htdocs/wp-content/plugins/webphysiology-portfolio/portfolio-main.php on line 203

    worst of all it doesnt reactivate the plugin and all my previously uploaded content seems to be gone from the system.
    do you see a way out of this mess?
    help would be greatly appreciated!

    • Jeff Lambert says:

      I see the issue and have fixed it. Funny how one person can be touched and not everyone else. Anyway, I’ll push a fix within an hour. If you’d like to know how to manually correct it in the mean time let me know.

    • Jeff Lambert says:

      Thanks for letting me know about this as I may not have found it as in my environment I wasn’t getting this error.
      The fix is up. You’ll want version 1.2.1. Let me know how that works for you and sorry about the inconvenience.

  21. sascha says:

    hi jeff,

    thanx again for the great support (i already feel obliged to donate..)! the activation now worked fine with 1.2.1, but i still get an error message on the site where it should display the portfolio which reads like this:

    Parse error: syntax error, unexpected T_CLASS in /WWWROOT/156991/htdocs/wp-content/plugins/webphysiology-portfolio/scripts/stw/stw.php on line 21

    any suggestions?
    thx again!

    • Jeff Lambert says:

      This line of code is a Class declaration and I can’t see anything wrong with it.
      What OS does your server run on? Do you know what version of PHP you are running? You would need to be on PHP 5.

  22. Lee says:

    I just installed your oportfolio plugin. I love it it works real well.

    One thing I was wondering was if there is a simple way to have it sort by last name instead of by number.

    • Jeff Lambert says:

      Hello Lee,

      Unfortunately, the only sort ability is utilizing the sort order and, currently, this is a numeric field. That said, I’ll add it to my list of things to play with as there isn’t necessarily a reason that field has to be numeric. If you subscribe to my Facebook, Twitter, Newsletter or RSS feeds, I send out updates on changes implemented. So, if I remove the numeric restriction on the sort field, I’ll note this there.

      I’m glad you like the plugin. Shoot me a link once you have it set up and I don’t mind five star ratings. ;o)


    • Jeff Lambert says:


      Don’t tell anyone but I’m looking into this for you as it makes sense and think others may like it. The sorting would still use the sort field but you’d just put in an alpha value there (e.g., last name).


  23. Lee says:

    Thanks so much, I am actually setting this up for a church members list. That is why this would work so well for me. All the other listings for members and profiles want to work from the user part of wrodpress. These are people who will never actually log in it is more for the church to show the demographics of it’s actual onn site membership not those using the site.

    I will subscribe right now.

  24. PahaW says:

    Hi, Jeff!
    Please tell me what changes were made in the files webphysiology-portfolio \ loop-portfolio.php and webphysiology-portfolio \ portfolio-main.php.
    What was new pressure?
    Which lines have been changed?
    Which lines have been removed?
    It would be very important when updating my version (
    I changed your plugin by adding some of his lines, and translated into Russian, and changed the view of the portfolio by adding new tags and styles).
    My version is 1.1.5
    The text that is given in the readme.txt does not give a complete picture of your innovation.

    What is the service ShrinkTheWeb.com, I do not particularly clear (he makes a thumbs? Did standard tools is not enough to make the thumbs?)

  25. PahaW says:

    in the latest version of the opera lost their line in the configuration panel portfolio
    Here’s a screenshot

    • Jeff Lambert says:

      Not certain if I understand. No settings were removed but did see that some of the formatting was off. This should look better in v1.2.2. Let me know if this is not just a formatting issue.

  26. PahaW says:

    Jeff, there is a proposal to make the template display portfolio

    {Image} {text}

    so that the user himself could do the required form, using bbcode to display information

    • Jeff Lambert says:

      You are speaking of the end-user interface displaying just the image and description? You should be able to do that by turning off everything but the Portfolio Description. The image is always displayed.

  27. Pingback: WEBphysiology Portfolio WordPress Plugin Can Greatly Enhance Your Web Site | WEBphysiology

  28. PahaW says:

    Hi, Jeff!

    We do not understand each other.
    I have two questions offer to you.
    First. Do this template for advanced users, see the link.
    And secondly, I am interested in the technical side.

    Please tell me what changes were made in the files
    webphysiology-portfolio\loop-portfolio.php and webphysiology-portfolio\portfolio-main.php.
    1) What was new pressure?
    2) Which lines have been changed?
    3) Which lines have been removed?
    It would be very important when updating my version (I changed your plugin by adding some of his lines, and translated into Russian, and changed the view of the portfolio by adding new tags and styles).
    My version is 1.1.5
    The text that is given in the readme.txt does not give a complete picture of your innovation.
    4) What is the service ShrinkTheWeb.com, I do not particularly clear (he makes a thumbs? Did standard tools is not enough to make the thumbs?)

    Much to ask to reply with name and number answers, I do not always understand you. I do not speak English, sorry.

    • Jeff Lambert says:

      I’d agree that we have a slight language barrier but I’m trying.

      First. Do this template for advanced users, see the link: http://www.pictureshack.ru/images/83021.png

      I honestly am not certain what you want. If you want to change the output to match the image at your link, then you would need to alter loop-portfolio.php. In v1.2.2 these fields are all being built starting at line 161. If you do this you’ll want to branch my code into your own custom plugin as subsequent releases of WEBphysiology Portfolio will definitely overwrite your changes.

      Please tell me what changes were made in the files

      1. What was the new pressure?

      I make changes for many reasons. If I, or someone else, notices a defect I’ll correct them.
      If I see a better way of handling a routine, I’ll enhance my code.
      If someone suggests a feature that I feel is beneficial to the wider audience, I will sometimes implement these.

      2. Which lines have been changed?
      3. Which lines have been removed?

      Honestly, I do not track this type of detail when I’m coding. I’d be surprised if any developer goes to this level of detail when updating code. Previous versions are in SVN and also are available for download at http://refr.us/wpport. You’d have to compare both files between versions to see exactly what has changed. I know that there are quite a number of changes between version 1.1.5 and 1.2.2 as new fields were added, new features were added and defects were fixed.

      4) What is the service ShrinkTheWeb.com, I do not particularly clear (he makes a thumbs? Did standard tools is not enough to make the thumbs?)

      ShrinkTheWeb.com allows one to simply specify a URL in order to receive a thumbnail for that page. It’s certainly a legitimate service for many reasons, which is why I provided this feature.

      I initially created the WEBphysiology Portfolio plugin for my use but felt that it presented an opportunity to give back to the open source community that I’ve benefited from. However, this plugin will not be everything to everybody, so, I understand that folks may simply edit my plugin for their own purposes. This is more than fine and is allowed under the licensing. However, when one does this, they have now made the decision to manage their code on their own. The safest way to do this, and not be impacted with future releases of the original plugin, would be to duplicate the plugin and rename it. Then delete my plugin and utilize this new custom version.

      Hope these answers help.


  29. PahaW says:

    Hi Jeff, thank you for your work, and what you listen to users and programmers. I understand that the universal plug-in do not probably, but it can do the most good for the job.
    Thank you paints the points, it became easier to understand what was going on =))
    1) Here’s an example implementation of the template:

    2) changes were portfolio-main.php and loop-portfolio.php
    a) portfolio-main.php – (add additional fields)
    b) concluded that additional fields, change the style display (css file)
    Therefore, I ask to make the system of templates and a system to add additional fields, it is very important.
    Thank you! 😉

    • Jeff Lambert says:


      Thanks for your good suggestions. I’ll put them on the list. Thank you for the code you’d put together too. I’ll take a look at that.

      Right now I really have to get my focus back on my income producing work, so, I don’t know when I’ll be able to incorporate any additional suggestions but you have been heard.



  30. PahaW says:

    Error. In the browser Opera, Chrome does not close the field after clicking “Update”

  31. PahaW says:

    Question, sortable
    Maybe make a couple of tag type = “radio” for the withdrawal of sorting by date, sorting by ID, or other type of sorting is not always convenient to go to each file again to exhibit the desired type of sorting. And if I will be 100 portfolio, it will be time-consuming task.

  32. PahaW says:

    Expose sorting 1,2,3,4,5,6,7 and I have no portfolio change whatever the number is not written. ???

  33. rsconsult says:

    Is there way to change the spacing between the portfolio items (the rows) as well as the distance from the left side? I’m trying to center it a bit more on the page and give a little breathing room between items if it is possible.


  34. Stacy Taylor says:

    Having an issue with the interstitial window pop up as it seems to be launching two different loaders (I see two separate loading animated icons). You can see what I’m talking about on my portfolio page here: http://www.doyoubigthink.com/portfolio

    Click on any of the sites and there are two loaders and then the image loads just fine. However, when you click on the X to close the window, there is still a loading icon and the interstitial window is still there.

    Is this a bug with your plugin as I’ve disabled just about every other plugin I have running and no other plugin uses this loading icon.

  35. Stacy Taylor says:

    Um, well I feel silly. I had installed WP e-Commerce Plugin recently and hadn’t had a chance to use it but apparently this was the cause of the problem. I left the loading icon and window up, right clicked the loading icon and then viewed the path from where the icon was showing and it was in the WP e-Commerce Plugin.

    Just thought I’d update you so that you could possible make some changes/adjustments so that you can get rid of this conflict!

    BTW, FANTASTIC plugin you have and THANK you so much!

    • Jeff Lambert says:

      Hello Stacy,
      Thanks for the praise. I haven’t used e-Commerce as I hear it is pretty buggy. Are you sure that it doesn’t have a bug that is causing the issue as opposed to my plugin being the culprit? If I have an opportunity I’ll install e-Commerce and see if I can reproduce the issue and update my plugin to not be affected should someone be using both e-Commerce and my plugin. Thanks for letting me know about this.

  36. Wolfgang Hochleitner says:

    Hi Jeff,

    thanks so much for your efforts with this portfolio plugin. I really enjoy it since it is the only one that I found that allows to insert the portfolio via shortcodes. All the other plugins just create a portfolio page themselves.

    The only thing I’m really missing – and as far as I can tell from the comments that has already been suggested – is templating. It would be really nice to be able to create a custom template and therfore be able to determine the layout of a portfolio entry.
    Right now I helped myself by modifying loop-portfolio.php but that just bears the problem of being overwritten once the plugin receives an update.

    If you need examples – there are two similar plugins that offer templating. The one’s called “Connections” (http://wordpress.org/extend/plugins/connections/) and allows you to manage a staff list or similar person listings and the other one’s “Events Manager Extended” (http://wordpress.org/extend/plugins/events-manager-extended/) which allows you to create events and they are being displayed in a list.

    So you see the similarity here. Both plugins have template support so advanced users (with HTML and probably PHP knowledge) can just create their own person or event block with the exact HTML structure they desire.

    Thanks for the effort!

    • Jeff Lambert says:

      Hello Wolfgang,

      Thanks for your suggestion. I have been considering this and appreciate the examples and will check them out. At this point I’m likely to take the route of a “pro” paid version as I don’t really have much “free” time available, so, need to augment the effort a little bit. Register for our newsletter, twitter and/or facebook to stay in the loop. I’m also working on a showcase page, so, if you have a site where you are using this plugin and would like it included, just shoot me a note via our site’s contact page.


  37. Andrew Rigg says:

    Hi Jeff

    Love the plugin. Just a feature request… I’d love to see an extra field for “Location”.


  38. Kimberly says:

    Can I remove the border around the images on Portfolio (not using Shrink the Web, just uploaded)? It looks like a 1px solid black border .. can’t find it in coding either to change.

    • Jeff Lambert says:

      Hi Kimberly,

      You can add the following to your CSS to clear out the bordering effects. You may need to add “ !important” just before the semicolons depending upon where these definitions fall within the CSS hierarchy.

      .webphysiology_portfolio .portfolio_page_img img {
      background: transparent;
      border: none;


  39. Jonathan says:

    Just Updated WordPress – and I’ve lost all editing functionality as well as creating new portfolios. All I can do is add a title and description all the previous options seems to have vanished.

    • Jeff Lambert says:

      Jonathan – I caught this yesterday and spent the day trying to complete changes I was working on and put in a fix for this. Essentially, starting with v3.1 custom post types became case sensitive. The fix is about done but I need 3-4 hours to wrap it up and perform testing as the changes were pretty wide spread as I also decided to change things up to try and insulate any contentions with other plugins that would use the same custom post type as I came across one that had the same problem and was actually using “Portfolio” as the post type too. I’ll be tweeting and putting a post on FB when I push out the changes later today. Thanks for the heads up and sorry for the inconvenience.

  40. Ryan says:

    The images no longer show up. Please see http://www.nussdog.com/portfolio/

    I can’t figure out how to fix this nor do i see a plugin update.


  41. shegga says:

    Hi, any update on the fix?
    Thank you for the awesome plugin.
    Keep up the good work.

    • Jeff Lambert says:

      If you are speaking of the 3.1 patches plus some other changes I added, they are out there. v1.2.4 is what you want and I’d recommend reading the release notes available on the Options page and also on our website. Note: Options are now within the Portfolio menu block and not under Settings. Cheers

  42. shegga says:

    yes, I’m using WP 3.1 and 1.2.4 but the thumbnails are not showing. This happens after I upgrade to 3.1 and 1.2.4. I can still see the large image. Seems like tim thumb part is not working?
    If uninstall the plugin and reinstall will I loose all data previously put?
    Please help… Thanks.

    • Jeff Lambert says:

      So, I believe I found the problem today and it has to do with some hosting providers not allowing “http://www.” at the end of URLs (#4 http://www.elegantthemes.com/troubleshooting-timthumb.html). I hope to push out an updated plugin on Monday/Tuesday to address this issue. You won’t loose any data as long as you don’t check the delete options at the bottom of the Portfolio settings. I’ll tweet and/or send out a Facebook status update when the next release is rolled out.

  43. shegga says:

    Thanks for finding the problem. I did a test and it is exactly the same problem. Is this a fix that I can do myself? I’m kind of in a hurry… Thanks.

  44. Ilan says:

    Hi Jeff,

    It took me quite a long time until I found this great portfolio. Thanks for the good work.

    Quick question: I would like to create a web page with few thumbnails that will send the visitor to several categorized portfolios(i.e. Presentations, Illustrations…), is it possible?

    • Jeff Lambert says:

      Glad you found this plugin and that it is working for you.

      To build out the categorized portfolios you could do something like the following:

      1. Create the categorized Porfolio records (e.g., presentation, illustration)
      2. Create the categorized portfolio pages, assigning the portfolio_type to the specific portfolio category for that page (e.g., portfolio_type=illustration).
      3. Create an image for each of the categories (e.g., presentation, illustration)
      4. Create each of the portfolio category records, assigning them to a general category of maybe “Portfolios” and setting the URL for the “website” to the category page created in step 2. Assign the image you created from step 3.

      Think something along those lines will do what you are looking for. If you typically open your portfolio images in a thickbox, you can override this behavior with the portfolio shortcode “thickbox” parameter (e.g., thickbox=false).

      Good luck. If you would like to include your portfolio in the showcase on my site, http://refr.us/wpshow, just send me the link and a short description of your biz and how you have used the portfolio plugin.


  45. Ilan says:

    Hi Jeff,

    Thanks for the detailed explanation and I’m sorry I couldn’t follow? Any chance that you’ll add the explanation to your excellent video series?
    I had difficulties in understanding the terminology:
    Step 1- “Create the categorized Porfolio records”- I believe I need to create several Portfolio types
    Step 2 & 3- I assume I need to use the “Add Portfolio” menu- so far it the usual way
    Step 4- here I lost you, “Create each of the portfolio category records” – do you mean to create WordPress pages? and if so how do I assign them to the portfolio page? After all if I add the same shortcode it will only duplicate the portfolio?
    Sorry for the long and tedious letter.


    • Jeff Lambert says:

      Think this is my fault as I was using the term “Category” for “Portfolio Type”. As for a vid, these actually take awhile to produce, so, if I do get to something like this it will likely be a while. Let me try to explain this again:

      1. Create a Portfolio Type for each category (e.g., Presentation, Illustration) and one “general” Portfolio Type of “Portfolio”

      2. Create a Page for each of the category Portfolio Types (i.e., Presentation, Illustration) and a Page for the “general” Portfolio Type. Use the appropriate plugin shortcode for the given page. The pages and shortcodes would look something like the following:

      Illustration Portfolio Page
      Page Title: Illustration Portfolio
      shortcode = [webphysiology_portfolio portfolio_type=illustration thickbox=true]

      Presentation Portfolio Page
      Page Title: Presentation Portfolio
      shortcode = [webphysiology_portfolio portfolio_type=presentation thickbox=false]

      Categories Portfolio Page
      Page Title: Portfolios
      shortcode = [webphysiology_portfolio portfolio_type=portfolio thickbox=false]

      Note: since I don’t know how you will implement the on-click behavior I’ve simply overridden it within the shortcode.

      3. Create an appropriate image for each category of portfolios created in #1 less the “general” Portfolio Type (e.g., Presentation). You will upload these when you create the Portfolios for these.

      4. Create the Portfolio records for each of the specific Portfolio Items in the usual way, assigning them to the appropriate “category” Portfolio Type. For example:

      Portfolio Record 1
      Title = Pretty Flowers
      Portfolio Type = Illustrations
      Portfolio Image URL = http://www.mysite.com/wp-content/uploads/2011/03/pretty_flowers.png

      Portfolio Record 2
      Title = Meshing Gears
      Portfolio Type = Illustrations
      Portfolio Image URL = http://www.mysite.com/wp-content/uploads/2011/03/meshing_gears.png

      Portfolio Record 3
      Title = Trends in CRM
      Portfolio Type = Presentation
      Portfolio Image URL = http://www.mysite.com/wp-content/uploads/2011/03/crm_trending.png

      5. Now create a Portfolio record for each of the category Portfolio Types and assign them to the “general” Portfolio Type (e.g., Portfolio). Assign the appropriate category image you created in #3. Set the Website URL to the appropriate URL of the page created in #2. These Portfolios records would look something like this:

      General Portfolio Record 1
      Title = Illustrations
      Portfolio Type = Portfolio
      Portfolio Web Page URL = http://www.mysite.com/illustration-portfolio/
      Portfolio Image URL = http://www.mysite.com/wp-content/uploads/2011/03/illustration_category.png

      General Portfolio Record 2
      Title = Presentations
      Portfolio Type = Portfolio
      Portfolio Web Page URL = http://www.mysite.com/presentation-portfolio/
      Portfolio Image URL = http://www.mysite.com/wp-content/uploads/2011/03/presentation_category.png

      6. Create the menu item for the general Portfolio Page, “Portfolios”.

      Now the general Portfolio page should display the two category level Portfolio records and when you click on them you should get sent to the page that displays the individual Portfolios specific to the selected Portfolio category.

      Hope this does the trick!

  46. TimChase says:

    Hi Jeff
    Thanks and congratulations on a really great plugin. You’ve saved me a great deal of time and headaches!

    There is one thing I’d like to be able to do, but am not sure if it’s possible. Is there a way to display a thumbnail image (ie a cropped version) instead of a reduced version of the whole image in the portfolio grid? Obviously I want to be able to see the whole image when the Thickbox view opens. Thanks again

    • Jeff Lambert says:

      No, the images are complete image thumbnails and I do not do any kind of cropping. I only store the URL for one image, as opposed to a thumbnail display image and a full display image. I don’t see this as being an upgrade I would add to this plugin but will note it. Sorry

  47. Rafal says:

    I have a problem. The thickbox is not showing. I have the shortcode thickbox set to true. Still doesn’t work.
    Firebug is showing:

    jQuery(“a.thickbox”).fancybox is not a function
    ‘titleShow’ : false

    So… what’s wrong?

  48. Rafal says:

    Yes Java is on. And this is happening (thickbox not working) on IE, FF, Chrome (didn’t check Safari or Opera but I assume there will be the same problem)

    Page URL:

    • Jeff Lambert says:


      Okay, I believe I’ve had one person note this issue before but I didn’t get the follow-up needed to resolve it as I couldn’t reproduce it. My guess is that it is a plugin conflict. For instance, when I look at the page source of the link you shared, I see that my registering of jQuery 1.4.4 is occurring. This is replacing the WP instance for jQuery for efficiency purposes. With WP v3.1, the jQuery included with WP is also v1.4.4. However, as I scroll down through the header section of your page source I see another call to include jQuery from Google, this time version 1.4.2. The fact that this is showing up leads me to believe that it is not being properly instantiated as there are ways to ensure only one instance is called. Further to this, the jQuery code itself is using $() instead of the no-conflict jQuery(). If you can disable the plugin or function code that is generating the following and let me know what happens I can help you further:

      <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/
      <script type="text/javascript" src="http://dotcomdesign.pl/test_server/cuana/wp-content/themes/
      <script type="text/javascript" src="http://dotcomdesign.pl/test_server/cuana/wp-content/themes/


  49. Rafal says:

    Dear Jeff

    The scrollTo-min.js and scrollShow.js are controling the little thumbnail slide showe on the main page and – as it turned out – they’re ok. I just deleted the call to the 1.4.2 library and everything works just fine now. Sorry for taking your precious time – I could figure it out myself but as you see I needed your professional eye on that.

    Great plugin. Works perfect now. Keep up the good work.

    Best regards form Poland 🙂

    • Jeff Lambert says:

      Glad removing the second call to include jQuery did the trick and glad you like the plugin. Feel free to rate it over on wordpress.org. Glad all is now good in Poland. 🙂

      Cheers from California,

  50. John F says:

    Loved playing with this all day. Worked like a champ.
    Until I added my second portfolio type.
    I couldn’t get it to display only for that type.
    Double checked the shortcode, and the slugs (which both had “-1” appended), but it just wouldn’t display them separately.
    Tested other browsers etc. No luck.

    Turns out it seems to be having major issues with the Headway theme (especially their Excerpts+ leaf).

    Unfortunately that’s a deal breaker for me, because I use Headway for just about every site I manage.

    I’d send you some links for testing, but I’ve only been testing this out locally.