Skip to content
WordPress Guide

How to Add a Portfolio to WordPress

Three ways to show your past work on a WordPress site, from a single gallery page to a project archive, plus the permissions and photo checks to do first.

A bright home office desk with a laptop and a monitor
9 sections · 7 min read
In this article · 9 sections

Most of your best work happens out of sight: a kitchen fitted in someone’s home, a garden rebuilt behind a fence, a brand designed for a client in another city. Prospective customers want to see it before they call, and a few phone photos in a WhatsApp chat are not something you can send to everyone. A portfolio on your site lets anyone see it, whenever they are looking.

When you add a portfolio to WordPress, the choice runs from a single page of photos to a proper project archive. Which one fits depends on how many projects you have and how much you want to say about each. Before any of that, though, there is the question of whether you are allowed to show the work at all.

Permission comes first

A finished job feels like yours to show, but the photos often contain things that belong to the client: the inside of their home, their staff, their unreleased product, their address. Ask before publishing, and keep the answer in writing. A short message is enough: “Would you be happy for us to show photos of the finished work on our website? We would not show your name or address unless you want us to.”

Check each photo for details that identify people or places:

  • house numbers, street signs and car number plates;
  • faces of people who have not agreed to appear;
  • documents, screens or whiteboards with private information;
  • anything covered by a confidentiality agreement you signed.

For business clients, ask whether you may name them. Some will be glad of the link; some contracts forbid it. When in doubt, describe the project (“a three-branch dental practice”) instead of naming it.

Three ways to add a portfolio to WordPress

Approach Fits when Effort to add a project
One portfolio page with galleries Mostly photos, little to say about each job, under a couple of dozen projects Add images to the page
One post per project, listed with a Query Loop Each project deserves a short story and its own address to share Write a post, pick the category
A portfolio plugin or theme feature Many projects, filtering by type, a dedicated layout Fill in the plugin’s project form

The quickest route. Create a page called “Our work” or “Projects”, then for each project:

  1. Add a Heading with a short project name, such as “Kitchen refit, [Area]”.
  2. Add a Paragraph of two or three sentences: what the client wanted and what you did.
  3. Add a Gallery block and upload or select the photos. Four to eight per project is usually plenty.
  4. In the gallery settings, choose the number of columns and decide whether images should be cropped to the same size. Cropping looks tidy but can cut off important parts of a wide photo.
  5. Decide what happens when a photo is clicked. Opening a larger view helps people see detail.
  6. Add captions where they add information, such as “before” and “after”.

The full set of gallery settings is in our post on adding a gallery in WordPress. If photos refuse to line up or the enlarged view does not open, the gallery troubleshooting guide covers the usual causes.

The limit of this approach shows once you have many projects: the page becomes very long and heavy, and you cannot send someone a link to just one job.

Option 2: one post per project, listed automatically

This uses only WordPress features, and it scales well. Each project becomes a post in a “Projects” category, and your portfolio page shows them all.

  1. Go to Posts → Categories and create a category called “Projects”. If you want to separate types of work, add child categories such as “Kitchens” and “Bathrooms”.
  2. For each project, add a new post with a clear title, a few paragraphs, a gallery and a featured image. Assign it to the Projects category.
  3. Create the portfolio page and add a Query Loop block. Choose a layout with a grid if offered.
  4. In the Query Loop’s settings, stop it inheriting the page’s default query if that option is shown, then filter by category and choose Projects.
  5. Check that the loop shows the featured image, title and perhaps a short excerpt, and that each item links to the full project post.

If you do not want projects mixed in with your blog, exclude the Projects category from the blog list, or use a plugin that lets you do that. Our post on categories and tags in WordPress explains how to keep the structure small and tidy.

In block themes you can also design how a single project looks by editing the template in Appearance → Editor. In classic themes, project posts use the normal post layout, which is usually fine.

Option 3: a portfolio plugin or theme feature

Some themes and plugins add a separate Portfolio or Projects section to the dashboard. This is a custom post type: projects are stored apart from posts and pages, often with extra fields for client, date or project type, and a filterable grid.

It works well for agencies and studios with a large body of work. The catch is lock-in. If the portfolio comes from your theme, changing theme can make the whole section disappear from the front of the site. The projects are still in the database, but nothing displays them. If you go this way, prefer a plugin that provides the post type over a theme that does, so the projects survive a redesign.

What to write for each project

The photos show what you made. A few sentences beside them tell the next customer whether you can do the same for them.

  • The starting point. What the client had or needed.
  • What you did. In plain words, including anything unusual you solved.
  • The result. Describe it honestly. Do not add numbers you cannot back up.
  • A quote, if the client agreed. One line in their words is worth more than a paragraph in yours.

Getting the images right

  • Use your own photos. A portfolio of stock images is not a portfolio. Our post on real photos versus stock photos covers why this matters.
  • Resize before uploading. Phone and camera originals are far larger than a web page needs.
  • Write alt text describing what the photo shows, for example “Finished walk-in shower with grey tiles”.
  • Pair before and after photos taken from the same spot, so the comparison is fair.

What weakens a portfolio

  • Showing everything. Ten strong projects beat forty average ones. Choose the work you want more of.
  • Undated, stale work only. Add recent projects regularly so the portfolio reflects what you do now.
  • A slider as the whole portfolio. Visitors see the first image and little else.
  • Forgetting old permissions. If a client asks for their project to come down, remove it, including from galleries on other pages.

If you are torn between a portfolio, testimonials and a reviews widget, our post on adding features to a site sets out how to choose. For everything else, see the guide to managing a WordPress website.

Frequently asked questions

Can I show work I did while employed somewhere else?

Be careful. Work done for a previous employer or under another agency’s name often belongs to them or to their client, and contracts may limit what you can show. Ask for permission from whoever owns it. If you cannot get it, describe your role in words without showing the work itself.

How do I add filters so visitors can view only one type of project?

Core blocks do not include a filterable grid on their own. You can make separate pages for each child category, or link to each category archive. Portfolio plugins and some block collections offer filter buttons above the grid, which suits larger portfolios with several types of work.

Should portfolio projects be posts or pages?

Posts are usually easier, because they can be grouped by category and listed automatically with a Query Loop. Pages suit a handful of major projects that you want to arrange by hand. Whichever you choose, use the same for every project so the portfolio is consistent.

Can I show a project that is still in progress?

Yes, if the client is happy with it, and work-in-progress photos can be interesting in their own right. Label the project clearly as ongoing so nobody mistakes it for the finished result, then update the same post with the final photos once the job is done rather than creating a second one.

Option 2 will cover most small portfolios with nothing extra installed. Where you want project pages laid out in a way your theme simply does not offer, that is design work rather than content, and it falls under our theme customization service.

Next in this series: How to Add an Instagram Feed to WordPress

Is Your Website Working Properly?

Get a free website health check from WebMaintor. We'll review your website's speed, security, forms, and technical health — and tell you exactly what needs attention.

No obligation. No automated reports. A real review by our team.