Dynamic content in Elementor Pro lets you enter repeating details once, as entries in a custom post type with custom fields, and show them on any page through dynamic tags and the Loop Grid. Team members, services, projects and listings are the usual candidates. A physio clinic hires a new practitioner. Their photo and bio go on the Team page, a short version goes on the homepage, their name gets added to two service pages, and the booking page needs a mention too. Six months later they leave, and someone has to remember all five places. They never remember all five.
Dynamic content fixes this. You enter each practitioner’s details once, in a simple form in WordPress, and every page that shows them pulls the details from that one record. Change it once, it changes everywhere. Remove the person, and they disappear from the whole site.
The three pieces
Dynamic content in Elementor Pro relies on three WordPress concepts working together. Elementor’s introduction to dynamic content and post types covers the theory. In brief:
Custom post types. WordPress has Pages and Posts by default. A custom post type adds a new kind of content with its own menu item in the dashboard, such as Team Members, Services, Projects or Listings. Each team member becomes an entry, like a blog post but for people.
Custom fields. Extra boxes on each entry for structured details: job title, qualifications, registration number, photo, the days they work. Instead of a free-text bio where someone might forget the qualifications, each detail has its own labelled field.
Dynamic tags. In Elementor Pro, most widget settings (heading text, image, link, button URL) have a dynamic tags icon. Instead of typing text into a heading, you tell the heading “show the Job Title field”. The widget then displays whatever is in that field for the entry being shown.
The most common tool for the first two is Advanced Custom Fields (ACF). Current versions of the free plugin can register custom post types and taxonomies as well as fields, so one plugin handles both. Some field types, including Repeater and Gallery, need ACF PRO. Pods, Toolset and Custom Post Type UI are alternatives, and Elementor integrates with them too.
Worked example: a team page for a health practice
This is how we’d build practitioner profiles for an allied health practice. We’ve built sites for a number of health practices, including Kentro Health, and the same pattern works for accountants, law firms or any business with a team.
Step 1: Decide what you need to store
Before touching WordPress, list every detail you’ll show about each person, anywhere on the site. For a practice, it might be:
| Field | Type | Notes |
|---|---|---|
| Name | Title (built in) | |
| Photo | Image (featured image) | Same crop for everyone |
| Role | Text | “Senior Physiotherapist” |
| Qualifications | Text | “B.Physio (Hons)” |
| Registration number | Text | Where your profession expects it shown |
| Short bio | Text area | Two or three sentences, for cards |
| Full bio | Editor (built in content) | For the profile page |
| Special interests | Taxonomy or checkboxes | Used to link people to services |
| Days available | Checkboxes | Mon to Sat |
| Booking link | URL | Direct link to their calendar |
Getting this list right is most of the work. Adding fields later is easy, but filling them in for 15 existing people isn’t.
Step 2: Create the post type
In ACF, add a new post type called Team Members (singular: Team Member). Set it to have an archive if you want WordPress to create a listing page automatically. Elementor notes that the “Has Archive” setting must be on for Theme Builder archive templates to apply to a custom post type.
Choose a sensible URL slug. “team” gives you addresses like /team/jane-smith/, which is clean and readable.
Step 3: Create the field group
Create a field group with the fields from your list, and set its location rule to show only on the Team Member post type. Use clear labels and add instructions on each field, such as “Square photo, at least 800 pixels”. The person entering data in a year’s time will thank you.
Step 4: Enter the people
Add each practitioner as a Team Member entry. This is the only place their details will ever be typed.
Step 5: Design the profile template
In Elementor > Theme Builder, create a Single template and set its display condition to Team Members. Build the profile page layout once, using dynamic tags in each widget:
- Heading widget: dynamic tag Post Title
- Image widget: Featured Image
- Text widgets: the ACF fields for Role, Qualifications and Registration number
- Text Editor: Post Content for the full bio
- Button: the Booking link field as its URL
Every practitioner’s profile now uses this one design. Fix a layout issue once and it’s fixed for all of them.
Step 6: List them
For the Team page, use Elementor Pro’s Loop Grid widget. You design one card (photo, name, role, short bio, “View profile” button) and the Loop Grid repeats it for every Team Member, in whatever order you choose. You can filter it too, for example to show only practitioners with a particular special interest on the matching service page. We cover the Loop Grid in detail in Elementor Loop Grid: build a portfolio or team page.
What the practice gets
When a new physio starts, the practice manager adds one entry with their details and photo. They appear on the Team page, on the right service pages and get their own profile page, without anyone opening Elementor. When someone leaves, the manager sets their entry to Draft and they vanish everywhere at once.
Other good uses
The same pattern works for any content that repeats with a consistent shape:
Services. Each service gets fields for a summary, price guide, duration, FAQs and a hero image. The service page template stays consistent, and a services grid on the homepage pulls from the same data.
Projects and case studies. Builders, landscapers and designers can add fields for location, project type, completion date and a gallery. A projects page can then filter by type: “Show me extensions in Lennox Head.”
Listings. Accommodation, properties, events, products in a catalogue that isn’t a shop. Anything you’d naturally put in a spreadsheet is a candidate.
Locations. A business with several sites can store each location’s address, phone, hours and map once, and show it on location pages, in the footer and on the contact page. Be careful here, though. Templated location pages that only swap the town name are a known SEO problem. Read location pages that aren’t spam before you build 20 of them.
When it isn’t worth it
Dynamic content takes longer to set up than just building pages. It pays off when you have many entries, frequent changes, or the same details shown in more than one place. It doesn’t pay off for:
- A team of two who’ve worked together for ten years
- Three services that rarely change
- Content where each entry needs a completely different layout
Our rough rule: if there are fewer than five items and they change less than once a year, build ordinary pages.
Things that trip people up
URLs that return “page not found”. After creating a post type or changing its slug, WordPress sometimes needs its permalinks refreshed. Go to Settings > Permalinks and click Save, without changing anything.
Empty fields leaving gaps. If one practitioner doesn’t have a registration number, the template may show an empty label. Elementor’s dynamic tags have a fallback setting you can use, or design the template so empty fields don’t leave a visible hole.
Caching dynamic elements. Elementor’s experimental Element Caching feature stores a fixed copy of a widget’s output. Its Element Caching documentation warns against using it on elements with dynamic tags, so leave caching off on these widgets.
SEO settings for the new post type. Your SEO plugin needs to know about the post type too, so it appears in your sitemap and gets proper titles and descriptions.
Too many custom fields. Every field is something someone has to fill in. If a field is never shown on the site, delete it.
The decision to make
Look at your own site and list anything you’ve updated in more than one place in the past year. Staff, services, prices, locations and opening hours are the usual suspects. If that list has a few items on it, dynamic content will save you time and stop the inconsistencies creeping back in.
Untangling sites where the same details live in five places is a regular WordPress and Elementor job for us. Bring that list when you tell us what’s repeating on yours: some sites need a custom post type, others only need a tidy-up, and a structured rebuild is part of our web design service if it comes to that.