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=”http://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: http://www.youtube.com/watch?v=071KqJu7WVo
Vimeo: http://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: http://www.youtube.com/watch?v=071KqJu7WVo
Vimeo: http://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. Lana says:

    I have problems with displaying portfolio web page. It doesn’t open the URL of the site I added to portfolio, instead, it keeps the url of my page + url of the site.

    For example



    • Jeff Lambert says:


      It would appear this is working now, yes? If you are speaking of the ShrinkTheWeb verify screen, then that is a result of not using the Pro version. If things are still not working you can open a ticket via the support area of this site.


  2. mike says:

    hello there jeff am get some bugs with my theme!

    first bug is in my admin cp:

    am using 2 type of Porfirio, one comes with my theme and the other its users so my theme one portfolio admin cp link is not showing up

    titlt for it: Porfirio
    link for it: /edit.php?post_type=work

    second bug is in my css:

    is calling for .top but is using my theme css not uses!!


    i want to talk to u about Translation
    if u need any Translation my girlfriend does all type of languages her site is down at the moment but ill get it up soon..


    thanks for that helpful plugin..

    • Jeff Lambert says:

      Hello Mike,

      I guess I’m not certain what I can do for you here. I’m aware of some formatting issues with my theme but more around spacing and borders within Admin but not with items not displaying….

      If CSS prioritization is an issue you can try adding “!important” to elements within your CSS to pop them up in the priority.

      If I decide to invest more effort into this plugin, and add in some translation, I’ll be certain to ping you.


  3. mike says:

    am trying to remove the background behind the number navbar here is a image it:


    • Jeff Lambert says:

      This has to do with your theme’s CSS. If you use a tool like Firebug in Firefox you will be able to see the styles that are being utilized for a given element. While this is outside of my plugin, you can try adding the following to your stylesheet to change this behavior:

      .portfolio_nav.top {background:none; border:none; height:25px; padding:0;}



  4. mike says:

    ok thanks jeff but here is what i did to fix this

    replace this:
    // Display page navigation when applicable
    nav_pages($loop, $currpageurl, “top”);
    with that:

    // Display page navigation when applicable
    nav_pages($loop, $currpageurl, “topz”);

    is this ok?

  5. mike says:

    thank you so much, i hope we can work together if you ever needed any design feel free to contact me,

    its my way of saying thank you for the professional plugin and welcome support..

    IM: maddog.online@live.com
    skype: mad-x-dog

  6. Jeff G says:


    Great Plugin!

    Having trouble creating seperate categories of products for each portfolio type.
    I am trying to list products of which there are a bout 10 categories. I tried setting up seperate types as the categories, then wanted to list the first 7 of category 1 followed by the next 6 from category 2. It seems as though when I use short code for Type 1, then follow it with type 2, it simply displays all portfolios on the page.
    please see here for example:

    Is there a better way to do this so I can accomplish my goal?


    Jeff G

    • Jeff Lambert says:


      This should work. I’d verify that you have the Portfolio Type correct as sometimes WP will tack on extra characters if that Post Type has been used previously. If you are still having issues then open a ticket on my site, http://webphysiology.com/helpdesk/, and provide a temporary Admin login and I’ll take a look within a day.

      Jeff L

  7. Suzanne says:

    Hi Jeff,

    For some graphic design jobs I did, I want to add a gallery into portfolio items. When I try to do so, nothing happens.

    Is this a bug or should I do this differently for portfolio-items than regular pages?

    Thanks for you anwser.


    • Jeff Lambert says:


      So, if I understand this correctly, within a given Portfolio record that you create with our plugin, you want to add a gallery? How are you trying to do this? I’ve never tried this. Feel free to open a support ticket via our site’s “Support” area.



  8. Suzanne says:

    Hi Jeff,

    That is exactly what I want to do. Just like in this showcase: http://games.fh-hagenberg.at/games/featured-games.

    The problem is that nothing happens when I click Insert Gallery in the Gallery tab in the Media screen of WP.

    I tried entrering a support ticket, but got no confirmation.

    Kind regards,

    • Jeff Lambert says:


      I’m not certain if this will be doable as the plugin was not built with this in mind. The support ticket confirmation should have been on screen. I did receive the ticket and responded with some suggestions.


  9. Suzanne says:

    Hi Jeff,

    Thanks for looking into it. The guys from Hagenberg Games seem to have intergraded a gallery into their portfolio. I wonder how they did that.


    • Jeff Lambert says:


      It looks like they’ve used the NextGen gallery within the description area of the Portfolio item. I’m guessing that’s a shortcode too but haven’t used it before. If you use Firebug, or a similar browser add-on, you’ll get a glimpse at how they’ve formatted things.


  10. Mo says:

    Hi Jeff,

    Great plugin, creating a portfolio site and it works a treat. Loving the overriding customizations shortcodes in particular although i’m wondering if you have plans to add a thumbnail pixel size override. Something like:

    [webphysiology_portfolio thumb_size=100]

    Can this currently be done?

  11. Suzanne says:

    Hey Jeff,

    Using NextGen gallery together with Fancybox for WordPress does the trick.


  12. Suzanne says:

    Hi Jeff,

    Is there an easy way to get the description to show up after the portfolio details?


    • Jeff Lambert says:

      You could try and do this with CSS. You might try something like the following:

      .portfolio_meta { margin-top: -190px; }
      .portfolio_description { margin-top: 90px; }

      Your settings may vary but think it will work. Outside of this it is really changing plugin code to reorder the creation of the


      Good luck,

  13. Suzanne says:

    Hey Jeff,

    Thanks, but this won’t work for me, because some portfolio’s have a description, others don’t. So doing it like this is going to make thinks rather messy. Well, never mind. My portfiolio lookes great anyway.

    Would be nice for the next version to make this an option. What also would be a nice feature is to be able to sort the portfolio on creation date. But, since it’s a free text field, this is problably not going to happen.

    Anyways, thanks for all the help. I’ll send you a link to my website as soon as it’s finished.


    • Jeff Lambert says:

      Ah, you are right. Should have thought it through a bit more. Not only would you need description, but it would have to be the same height for all portfolios. While I had thought about adding this flexibility, I’m not certain where I would get the time as it is a little bit involved. I do have future aspirations to make a premium version, but will have to see when that will happen. This seems like a good feature for that. The other option would be for you to update my plugin code, keep a note of what you changed, and just update my plugin again should an update come out.

      As far as sorting, if you don’t populate the Sort field it is populated with the negative value of the Post ID, which would be to put the last entry at the top of your portfolio. If you’d like it to be the oldest first, just remove the dash from in front of the Sort number. Otherwise the Sort field can take any value, numeric or alpha, and will sort accordingly.

      Yes, please send me your link when you’re done and I’ll certainly add you to the showcase.



  14. mike says:

    thanks Jeff for the lovely update…


    to get text instead of > and <>
    look for — in — ” portfolio-main ”
    // now build out the navigation page control elements

    replace the ever thing in the call with


    $nav = ”;
    if ($before == 1) {
    $nav .= ‘&amp;amp;amp;amp;amp;lt;a href=&amp;amp;amp;amp;amp;quot;’ . $paged . ($start – 1) . ‘&amp;amp;amp;amp;amp;quot; rel=&amp;amp;amp;amp;amp;quot;nofollow&amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;gt;Prov&amp;amp;amp;amp;amp;lt;/a&amp;amp;amp;amp;amp;gt;’;
    } elseif ($before == 2) {
    $nav .= ‘&amp;amp;amp;amp;amp;lt;a href=&amp;amp;amp;amp;amp;quot;’ . $paged . ‘1&amp;amp;amp;amp;amp;quot; rel=&amp;amp;amp;amp;amp;quot;nofollow&amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;gt;Start&amp;amp;amp;amp;amp;lt;/a&amp;amp;amp;amp;amp;gt;’;
    $nav .= ‘&amp;amp;amp;amp;amp;lt;a href=&amp;amp;amp;amp;amp;quot;’ . $paged . ($start – 1) . ‘&amp;amp;amp;amp;amp;quot; rel=&amp;amp;amp;amp;amp;quot;nofollow&amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;gt;Prov&amp;amp;amp;amp;amp;lt;/a&amp;amp;amp;amp;amp;gt;’;
    for ($i=$start;$i&amp;amp;amp;amp;amp;amp;lt;=($start+$for-1);$i++) {
    if ($curpage!=$i) {
    $nav .= &amp;amp;amp;amp;amp;amp;#039;&amp;amp;amp;amp;amp;amp;lt;a href=&amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;#039; . $paged . $i .&amp;amp;amp;amp;amp;amp;#039;&amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;#039;;
    } else {
    $nav .= &amp;amp;amp;amp;amp;amp;#039;&amp;amp;amp;amp;amp;lt;a href=&amp;amp;amp;amp;amp;quot;’ . $paged . $i .’&amp;amp;amp;amp;amp;quot; rel=&amp;amp;amp;amp;amp;quot;nofollow&amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;gt;’ . $i . ‘&amp;amp;amp;amp;amp;lt;/a&amp;amp;amp;amp;amp;gt;’;
    if ($after == 1) {
    $nav .= ‘&amp;amp;amp;amp;amp;lt;a href=&amp;amp;amp;amp;amp;quot;http://webphysiology.com/plugins/webphysiology-portfolio-plugin/comment-page-3/#comment-13041&amp;amp;amp;amp;amp;quot; rel=&amp;amp;amp;amp;amp;quot;nofollow&amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;gt;Next&amp;amp;amp;amp;amp;lt;/a&amp;amp;amp;amp;amp;gt;’;
    } elseif ($after == 2) {
    $nav .= ‘&amp;amp;amp;amp;amp;lt;a href=&amp;amp;amp;amp;amp;quot;http://webphysiology.com/plugins/webphysiology-portfolio-plugin/comment-page-3/#comment-13041&amp;amp;amp;amp;amp;quot; rel=&amp;amp;amp;amp;amp;quot;nofollow&amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;gt;Next&amp;amp;amp;amp;amp;lt;/a&amp;amp;amp;amp;amp;gt;’;
    $nav .= ‘&amp;amp;amp;amp;amp;lt;a href=&amp;amp;amp;amp;amp;quot;’ . $paged . $pages . ‘&amp;amp;amp;amp;amp;quot; rel=&amp;amp;amp;amp;amp;quot;nofollow&amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;gt;Last&amp;amp;amp;amp;amp;lt;/a&amp;amp;amp;amp;amp;gt;’;
    $nav .= ”;

    $portfolio_output .= ” . $nav . ”;

    if ($class == &amp;amp;amp;amp;amp;quot;top&amp;amp;amp;amp;amp;quot;) {
    $navcontrol = $nav;


    return $portfolio_output;


    if u need any help am going to keep on eye on that post..

  15. MIKE says:

    thanks jeff,

    but i have a problem with the plugin and my theme
    and i think the way i can fix it is renaming ur plugin title to “Web Portfolio” instead of “Portfolio” but i want to do it the right way!

    here is a image to show u the title i want to rename:

    here is what i need to do this:

    all the files names that am going to be editing and how many calls

    like for Exp:-
    look — in — ” portfolio-main ”
    // now build out the navigation page control elements


    • Jeff Lambert says:


      I’m not certain why the menu labels would cause a problem since the labels you see are within the definition of the Custom Post Type, which is “webphys_portfolio”. It’s easy enough to change those by updating the portfolio_main.php code as follows: http://screencast.com/t/YI9XoPMvnns

      You also would have to update the Custom Taxomony, “portfolio_type”, to update that menu name: http://screencast.com/t/lG1IIxDQr5n

      I don’t think the custom taxonomy is a problem either since it is associated with the Custom Post Type.

      The result of these two changes can be seen here: http://screencast.com/t/dV1G9waE

      But, as mentioned, these are labels and shouldn’t affect anything. Keep in mind, any changes you make would get stepped on in a later release.


  16. MIKE says:

    my theme it comes with a plugin with the same label title and is not showing up buc of it..!

    • Jeff Lambert says:

      I suppose it’s possible but that seems like a defect in WordPress. Are you using the plugin in your theme? If not, can you disable it? If not you may be able to remove it with some code placed in the the functions.php file. You might check with the theme or framework publisher to see what they have to say.

      Best of luck,

  17. MIKE says:

    u see my theme plugin is for my slider i cant remove it but what am going to try is rename it now that i have a pic of how it looks like.

  18. MIKE says:

    here is what i found in my functions.php file i need help renaming it!

    and do u think am going to need to play with other files beside functions.php?

    // Portfolio
    add_action(‘init’, ‘inde_portfolio’);

    function inde_portfolio() {
    $labels = array(
    ‘name’ => _x(‘Portfolio’, ‘taxonomy general name’),
    ‘singular_name’ => _x(‘Work’, ‘taxonomy singular name’),
    ‘add_new’ => _x(‘Add Work’, ‘Event Work’),
    ‘add_new_item’ => __(‘Add New Work’),
    ‘edit_item’ => __(‘Edit Work’),
    ‘new_item’ => __(‘New Work’),
    ‘view_item’ => __(‘View Work Details’),
    ‘search_items’ => __(‘Search Portfolio Work’),
    ‘not_found’ => __(‘No portfolio works were found with that criteria’),
    ‘not_found_in_trash’ => __(‘No portfolio works found in the Trash with that criteria’),
    ‘view’ => __(‘View Item’)

    $args = array(
    ‘labels’ => $labels,
    ‘description’ => ‘This is the holding location for all portfolio items’,
    ‘public’ => true,
    ‘publicly_queryable’ => true,
    ‘exclude_from_search’ => true,
    ‘show_ui’ => true,
    ‘rewrite’ => true,
    ‘hierarchical’ => true,
    ‘menu_position’ => 25,
    ‘supports’ => array(‘title’, ‘editor’, ‘thumbnail’, ‘custom-fields’, ‘revisions’, ‘comments’)


    $labels = array(
    ‘name’ => _x( ‘Web Techniques’, ‘taxonomy general name’ ),
    ‘singular_name’ => _x( ‘Web Technique’, ‘taxonomy singular name’ ),
    ‘search_items’ => __( ‘Search Web Techniques’ ),
    ‘popular_items’ => __( ‘Popular Web Techniques’ ),
    ‘all_items’ => __( ‘All Web Techniques’ ),
    ‘parent_item’ => __( ‘Parent Web Techniques’ ),
    ‘parent_item_colon’ => __( ‘Parent Web Techniques:’ ),
    ‘edit_item’ => __( ‘Edit Web Technique’ ),
    ‘update_item’ => __( ‘Update Web Technique’ ),
    ‘add_new_item’ => __( ‘Add New Web Technique’ ),
    ‘new_item_name’ => __( ‘New Web Technique Name’ )

    register_taxonomy(‘web-techniques’,array(‘work’), array(
    ‘hierarchical’ => true,
    ‘labels’ => $labels,
    ‘show_ui’ => true,
    ‘query_var’ => true,
    ‘rewrite’ => array( ‘slug’ => ‘web-techniques’ )

    $labels = array(
    ‘name’ => _x( ‘Categories’, ‘taxonomy general name’ ),
    ‘singular_name’ => _x( ‘Category’, ‘taxonomy singular name’ ),
    ‘search_items’ => __( ‘Search Categories’ ),
    ‘popular_items’ => __( ‘Popular Categories’ ),
    ‘all_items’ => __( ‘All Categories’ ),
    ‘parent_item’ => __( ‘Parent Categories’ ),
    ‘parent_item_colon’ => __( ‘Parent Categories:’ ),
    ‘edit_item’ => __( ‘Edit Category’ ),
    ‘update_item’ => __( ‘Update Category’ ),
    ‘add_new_item’ => __( ‘Add New Category’ ),
    ‘new_item_name’ => __( ‘New Category Name’ )

    register_taxonomy(‘portfolio-categories’,array(‘work’), array(
    ‘hierarchical’ => true,
    ‘labels’ => $labels,
    ‘show_ui’ => true,
    ‘query_var’ => true,
    ‘rewrite’ => array( ‘slug’ => ‘portfolio-categories’ )

    • Jeff Lambert says:


      This is really where I start charging as that’s how I make my living. I don’t know as you’d find code other places but, given that this is in the functions.php file, I’m thinking not. The only line that stick out is

      function inde_portfolio() {
      $labels = array(
      ‘name’ => _x(‘Portfolio’, ‘taxonomy general name’),

      Try changing that to

      function inde_portfolio() {
      $labels = array(
      ‘name’ => _x(‘Work Portfolio’, ‘taxonomy general name’),

      Good luck!


  19. Felix says:


    I would really like to use your plugin but I am facing a major problem : I uploaded an image to a portfolio but it wouldn’t get displayed.
    Any help would be greatly appreciated. Thanks a lot

  20. Shawn says:

    Great little plugin here. Thanks. Just a few friendly observations that I respectfully submit…1.) Consider making the “type” table header a sortable header on the Portfolio’s list view page. 2.) It is a little weird to me to create a “Portfolio” for each “Project” I’d like to list. Perhaps just terminology here…but my understanding is that Portfolio’s contain “work(s)” making this relationship a 1:many. currently, your plugin appears to list Portfolio’s/Work in a 1:1 relationship?

    • Jeff Lambert says:


      I’ll have to see if I have any control over the sorting of columns in a WordPress Post listing. I don’t know as I do. Fortunately there is the ability to search.

      As for the one-to-many, the Portfolios are a Custom Post Type, so, it’s not anything I would have control over without creating my own tables and methods outside of WP. I think you are perhaps utilizing it in a fashion different than it was intended and see your point the way you describe it. The way I designed it I think is appropriate for what I was intending and haven’t had anyone else comment on it. These are all Portfolio records and one is using Portfolio Type to categorize them. It’s an attribute of a Portfolio. It’s really not much different than a Post having a category but I do appreciate your input.



  21. Chris says:

    Thanks for this great plugin. It works great, and with very little changes, looks great on my blog.

    I have run into a rather odd issue. If I try to edit the page where I have the short code, the editor loads the page, but with information from the earliest portfolio entry. Also, the page slug has changed from what I want it to be (ie. /portfolio) to “/?webphys_portfolio=portfolio_entry_title”.

    I’ve tried everything from removing the portfolio entry, but then it just shows the next entry, to removing the page totally, and creating a new one.

    The only way I’ve been able to edit the page is via PHPmyAdmin.

    • Jeff Lambert says:


      The URL you note looks more like a URL to an actual Portfolio record as opposed to a page URL. This, obviously, should not be happening. If you want to enter a ticket on this site and provide a temporary Admin login and the page you are working on, portfolio I assume, I can take a quick look.



  22. Chris says:

    Hi Jeff,

    Thank for looking into this. Ticket number is #853540.

    Thanks again.

  23. Julian says:

    Hi Jeff, I also sent a ticket! Could you take a look at my issue too? No javascript is working on my page with this plugin

    • Jeff Lambert says:

      Julian – The ticket was the right way to go and I’ve answered that.

      For others who might have this issue, here is the response: You do have the jQuery javascript libraries called out but the css is missing. Without the jQuery CSS this won’t work.

  24. Pingback: New Home Page | Bradley Davis | Bradley Davis' Blog

  25. lucbord says:

    great piece of software, i have only a question. I have a wp multisite and for the image it says always “file not found – check your image URLs” what’s the problem? the path of the images? any idea?

    than you!

  26. lucbord says:


    this is the site, I’m sure the problem is the path, if i change it with the path of blog.dir/etc it works….

    thanks for any suggestion

    • Jeff Lambert says:

      Meaning that you aren’t putting in the fully qualified URL into the Portfolio field? If not, you definitely want to. If you mean you alter it from the UI then there have been issues in the past where the code behind the scenes would have problems with full paths being specified because some hosts don’t like “http” references in certain calls. I removed what I could some time ago and didn’t have any reports of problems until about a week ago.. So, the next release has a new option to allow this setting to be toggled on or off within the options. If this is the problem you are having you can simply comment out line 2403 in the functions.php file. This screen shot shows you the specific line: http://screencast.com/t/ElvRVrryORKU Or, if you’d rather, you can simply grab the latest copy of that file from here: http://plugins.svn.wordpress.org/webphysiology-portfolio/trunk/

      Cheers, Jeff

  27. lucbord says:

    No, first of all sorry for my bad english, but


    this don’t work, ( also with your suggestions above )


    this work perfectly!

    this is what i mean…

    • Jeff Lambert says:

      Thanks for the additional info. Seems like that should work but, as you note, if I flip it in Firebug, which is post script, it isn’t. I’ll look at this more when I work on this again and will open a ticket as a reminder. Thanks for bringing this to my attention.

  28. Pingback: New Portfolio plugin added | Rake Consulting – website development and maintenance

  29. Hi,

    Thanks for the update plugin. I am an user of this plugin. I am using this plugin for my WebingNet.com site and response good.

    Thanks lot.

  30. Janet says:

    I am using your plugin for a client and wanted to add a Facebook/Twitter share function to each post, but when I did its not finding the post page. http://www.tristarpi.454creative.net/about/tristar-in-the-news

    Is there a way I can edit the permalinks?


  31. Janet says:

    Sorry, I should clarify… the Facebook/Twitter plugin only appears when I tell it to add to all pages, not posts. But it’s still trying to find that Portfolio Page and is not finding it.

    Thanks for your fantastic plugin by the way!

    • Jeff Lambert says:

      Janet – I’m glad you like the plugin. The issue is that there is no “Portfolio” page specific to a portfolio entry. The plugin was designed to display the Porfolios only in a list or grid and not to have a “detailed” screen. So, your social buttons are likely trying to generate a link to what would be this page. I think the best you can do is just put the like/twitter buttons on the actual Portfolio page and not on each individual portfolio item.

  32. Janet says:

    Thanks for the quick response Jeff!

  33. Vlad says:

    Hi, I do not see why a navigation page.
    what could be the problem?

  34. Gabi says:

    Hi Jeff,

    I’m rebuilding this site (santafestone.com) in WordPress and I’m looking for a good way to do the portfolio. There are multiple categories which should go on individual pages (standing stones, fountains, benches and 1 or 2 new ones). Would your portfolio be a good solution? We would like to find a solution where we can keep the current design.


    • Jeff Lambert says:


      My plugin may work fine for you. The main difference is what you have now appears to be jQuery based where mine, if you limited it to one image per page, would post to a new page when you navigate.

      As far as splitting items up by type, this is not a problem. The Portfolio record is assigned to a Portfolio Type. You can specify, within the shortcode, the type to limit the results to. You also could potentially split these up on one page with multiple, filtered shortcodes.

      Hope this helps.



  35. Gabi says:

    Thanks, Jeff. I’m a WP beginner and this sounds complicated but I will give it a try. May I ask for your support if I get stuck?

    Thank you very much

    • Jeff Lambert says:

      I’m happy to help provided those requesting it have done their homework by reviewing the docs first. It shouldn’t be too difficult. I’d recommend creating a page for your portfolio and then just added 2-3 items spread across a couple of Portfolio types.

      Good luck,

  36. Gabi says:

    Thanks so much – that’s what I will do. I’m just getting started so it might be a couple days…

    Thank you

  37. SiGa says:

    Great plugin, just what I was searching for! I´m testing it on a responsive layout and for now I especially love the fact that it can easily be adapted, using the grid layout.
    Any chances that the quicksand JQuery plugin could be integrated to sort the items “on the fly”? Just dreaming… 😉
    So many thanks for sharing, highly appreciated!

  38. Jon says:

    This plugin goes way beyond what I needed it to do and More! Not only was I impressed with how easy it is to develop and manage an image based portfolio, but what really set Webphysiology apart was the support. We were having major issues with our website, that we thought was a simple user error in installation, but after contacting Webphysiology about their plugin’s functionality, they were able to figure out the overall code glitch and get us back on track agin. Our portfolio looks great thanks to Webphysiology and Jeff’s commitment to providing the best possible support. Thanks again! Definitely a recommended a plugin!!

  39. Pingback: WordPress Plugins from A to Z Episode 51 -- Website Portfolio Plugin plus

  40. Flori says:

    My site is not ive yet so it’s a bit of a mess. My question is, how do I resize the thick box? If you go to my portfolio page and click on the image it appears very small in the thickbox, how do I get it to appear bigger? Thanks for any help.

    • Jeff Lambert says:

      Hi Flori,

      The thickbox basically will grow as big as it can to fit the screen but not any larger than the size of the image it is displaying. My guess is that the images you specify on the portfolio record are the size you are seeing displayed. Use images that are the size you want at full size and the plugin will re-size them for the thumbnails.



  41. Flori says:


    Thanks so much. I was thinking that might be the case after looking around a bit today. I will redo all my photos and see if it looks any better. The other issue I am having is with the layout my text is misaligned. Is this a css issue?

    • Jeff Lambert says:

      Obviously I would suggest testing with one image but am pretty certain that’s the issue.

      CSS is difficult to deal with due to 1) different themes having competing styling, 2) my initial design not isolating my styling enough to deal with that and now being in a position where I have to not break existing users’ instances. I have some thoughts. If you can share a URL I can take a look and suggest changes. If you could use the support link off our http://webphysiology.com site for that I’d appreciate it.


  42. Flori says:


    Just submitted support ticket. Thank you. I am looking forward to any suggestion to fixing this minor issue. I have looked at hundreds of plugins and you guys imo have the best one. I am excited to get this working properly so I can finish my site redo!

    • Jeff Lambert says:

      Hello Florina,

      You should have seen my response to your ticket shortly after you posted it but for others needing a fix, and don’t see this under the “Troubleshooting” section above, here’s some commentary.

      Issue: Every other portfolio item is having text shifted down or being treated different than the odd portfolio items.

      Cause: Unfortunately, when WEBphysiology Portfolio was first released we didn’t isolate a couple classes a bit more to keep them from being impacted by other plugins and themes. This also would be true of those plugins and themes as they are impacting other elements that can become a WordPress powered site. For this we’ll take the blame for not wearing protection.

      Solution: The main issue seems to be that a lot of themes, or maybe it’s just one popular theme (never looked that close) have a CSS statement that places a border around or on one side of an element with the class “even”. Why there is such a wide net cast for such a generic class and the related styling I’m not sure. Several releases ago we added two new classes and a warning that we’d be deprecating the old classes. The replacements are “webphysport_odd_stripe” for “odd” and “webphysport_even_stripe” for “even”. We’ve left the old classes in the stylesheet for a time to help avoid impacting existing users. Soon, though, these old classes will be deprecated. 9 times out of 10, adding the following statement to the bottom of your theme’s stylesheet will remedy the issue:

      .webphysport_even_stripe { border: none; }

      Sorry for this miss and hope folks are finding value in this plugin.


  43. Hank says:

    I want this to work but I cannot understand the steps to make a portfolio. I have installed it and created two portfolios using Add Portfolio. I pasted this in each portfolio {webphysiology_portfolio} (I used [ and ] instead).

    I have no step by step instructions to continue. Please tell me how to add content, the whole procedure in a step by step way?

    Is there video instruction available?
    I’m sure it is simple to grasp. I use many WordPress Plugins. Each has clear simple steps, screenshots and often site previews.

    Please give me the basic steps of how to add content, how to place it in a post so I can get this working for me.


    • Jeff Lambert says:

      Hank – The “webphysiology_portfolio” shortcode does not go in the actual portfolio items that you are creating but in the page where you want to display these. So, create the portfolio records, like it sounds you’ve done, then create a new page to display your portfolio items and put the shortcode in the body of the page. Should you need more details there is documentation and links to videos on our WEBphysiology Portfolio plugin webpage.

  44. Hank says:

    You showcase is exactly what I want. Thanks for the very clear showcase. I still don’t know how to proceed.

  45. Mark says:

    There is some line-height issues on the backend

    Labeling & Data Display

    for the checkbox.

    A widget will also be great displaying the latest portfolio and have a setting how many thumbnails to show

    • Jeff Lambert says:

      Hello Mark,

      Thanks for the heads up. I’d already seen the Admin line-height issue that came along with 3.3 and that is fixed in the code I’ll be releasing soon. I’ll make note of the desire for a widget. Right now I’ve put a fair amount of time into some recent changes and won’t be updating it again for a bit. The next release contains a single-portfolio page to cover for 404 pages being displayed when a user clicks a portfolio item from search results. Also, PagePeeker.com will be added as another automatic thumbnail service.


  46. Hank says:

    I’ve had great results in creating portfolios. I made 2 posts, each of different portfolio types.
    Although I’m displaying summaries of the posts on my homepage, I want to include a feature image on the homepage. But I don’t want the feature image on the post too.
    How can I have a post or page of just portfolios without displaying a feature image on that post or page whilst concurrently displaying a feature image and blurb on the homepage for that post or page?

    • Jeff Lambert says:

      Hank, this would require changes to your theme files or the creation of a WordPress template. This is outside the context of this plugin. If you need to hire a professional WordPress developer I can do this for you. It’s likely less than an hour’s work. If you are comfortable creating a WordPress Child Theme and working in PHP you can do this yourself too. You can search the WordPress codex for details on creating a child theme and creating templates.

  47. Wael Tawfik says:

    Hi I installed the plugin & I think it is great.
    At first it worked fine, but then all the thumbnails went black.
    I re-installed it & it worked, but not the text is not wrapping properly & it continue out of the frame.

    Thanks for a great plugin, please advise how to fix the text.

  48. Aramon says:

    Sorry, I use Google translator.

    I have now (category) types: shops, graphics, website.

    This is a page (A) where the only type of store ID, site (B) ID-type graphics, etc. ..?

    thank you

  49. Sean says:


    This plugin is just what I’m looking for, have set everything up how I want it to look and it’s fantastic!

    One slight issue, is there any way I can display multiple images? Ideally, I’d like there to be one thumbnail (as is currently) – when you click the thumbnail and the box popup is displayed, you can click on the box area to switch between a couple of pics.

    Many thanks,

    • Jeff Lambert says:

      Hello Sean,

      The WEBphysiology Portfolio plugin doesn’t support that type of feature as you are really talking about a gallery. About the closest you could get would be to put thumbnail images within the content area of the portfolio item and then use something like Auto Thickbox to have the ability to nav through them. Something like the multi-image sample in my sandbox area: http://nononsense.blogwip.com/portfolios/ . The current navigation, after clicking one of the four images, is to hover over the left or right edge to see the nav arrow.

      Glad this plugin is otherwise working well for you.



  50. Guido Barbacci says:

    Hello Jeff, great plugin, I’ve an issue when use multipage support, if I click a page number different from 1 I get the error “404”.
    I start from page: http://www.guidobarbacci.com/wordpress/portfolio

    Automatically when I click on page number the url is modified in: