How to build a custom post type archive with Elementor and a CPT plugin

A custom post type (CPT) archive gives WordPress a structured way to display related content, such as property listings, staff profiles, case studies, recipes, events, or local business directories. With Elementor, you can control the archive layout without editing theme files, while a CPT plugin supplies the content model behind it.

This approach is useful for Australian websites that need more than standard blog posts. A Sydney property agency might publish suburb profiles, a Melbourne studio could showcase completed projects, and a Brisbane trades business could organise services by location and specialty.

The process involves three main parts: registering the post type, adding fields and taxonomies, and designing the archive template. The exact controls vary between plugins, so check compatibility with your version of WordPress, Elementor, and the active theme before building the layout.

Choose the right content structure

Start by deciding what each item represents. A “Case Studies” post type might include a client name, project type, completion date, suburb, gallery, budget range, and service category. Keeping these details separate from the main content makes them easier to filter, style, and reuse across the website.

Plugins such as Custom Post Type UI, JetEngine, ACF, Pods, and similar solutions can register post types and custom fields. Some provide a visual interface for taxonomies, relationships, listings, and queries. If you are comparing compatible extensions, this Elementor add-on roundup can help identify tools that extend dynamic content and template controls.

Use clear, future-proof names. “Properties” is more useful than “Stuff”, while taxonomies such as “Suburb”, “Service”, or “Project Type” are easier for editors to understand. For an Australian audience, a suburb taxonomy can distinguish Newtown, Carlton, Fortitude Valley, or Fremantle without placing those terms awkwardly inside every title.

Register the post type and supporting fields

In the CPT plugin, create the post type with a singular label, plural label, slug, icon, and archive enabled. The slug becomes part of the URL, so /projects/ or /properties/ is usually cleaner than a string of internal abbreviations. Enable titles, featured images, excerpts, and the editor only when the content actually needs them.

Next, add custom fields that describe each record. A property directory may need price, bedrooms, address, agent, inspection date, and floor-plan upload. A food guide could use cuisine, opening hours, booking URL, dietary options, and suburb. Select appropriate field types, such as number, date, URL, image, gallery, or relationship.

Create taxonomies for information visitors may browse or filter. A hierarchical taxonomy suits regions or categories, while a non-hierarchical taxonomy works well for flexible tags. Consider whether suburbs should be nested under cities, especially if the site covers Sydney, Perth, Adelaide, and regional areas.

Before styling anything, add several realistic entries. Use enough variation to test missing images, long titles, empty fields, multiple categories, and records with no assigned taxonomy. A template that looks perfect with three identical demo posts can break quickly when real editors add content.

Build the archive template in Elementor

Open Elementor’s Theme Builder and create an archive template for the CPT. Depending on the plugin and Elementor edition, you may see a condition such as “Projects archive”, “Properties archive”, or a custom archive option. Assign the template to the relevant post type archive rather than the general blog archive.

Place an archive title, introductory text, and archive posts widget on the canvas. The posts widget should use the current archive query, so it automatically displays the correct records when visitors browse the main archive or a taxonomy archive. Add dynamic tags for featured images, post titles, excerpts, custom fields, and links to individual entries.

Archive element Recommended source Practical purpose
Page heading Archive title or dynamic tag Identifies the current content collection
Card image Featured image Creates a visual entry point
Card title Post title Links to the single CPT template
Supporting details Custom fields Shows price, suburb, date, or category
Filtering context Taxonomy name Explains the current archive view
Navigation Pagination or load more Helps visitors browse further results

Use a consistent card design with readable text and generous spacing. For mobile users checking services on a phone between train stops in Melbourne or during a site visit in regional New South Wales, large tap targets and short summaries matter more than decorative effects.

If the CPT plugin provides a custom query or listing widget, follow its documentation for dynamic loops. A standard Elementor Posts widget may not recognise every third-party field or relationship automatically. When a value appears blank, inspect the field key, return format, permissions, and query source before changing the layout.

Improve navigation, filtering, and performance

An archive becomes more useful when visitors can narrow the results. Add taxonomy links for categories, locations, or services, and consider an AJAX filter plugin when the content library is large. Filters should reflect real user decisions: a visitor might choose “electrician”, “Gold Coast”, and “emergency service”, rather than search through dozens of unrelated tags.

Keep filter labels simple and make the active state obvious. If the directory contains hundreds of properties or events, use pagination, a load-more control, or a search field. Check that filtered URLs can be bookmarked when search visibility and sharing matter.

Useful archive checks include:

Performance deserves attention from the first build. Compress archive images, limit heavy animation, load only necessary icon sets, and avoid displaying ten complex widgets inside every card. Use caching carefully, especially when listings change frequently or prices and event dates need to remain current.

Accessibility is equally important. Give images meaningful alternative text, preserve heading order, provide visible keyboard focus, and do not rely on colour alone to show categories. A fast archive that cannot be navigated by keyboard or understood by screen readers still creates a poor experience.

Test the template before publishing

Preview the archive with short and long titles, missing images, unusually high prices, and several taxonomy combinations. Check the main CPT archive, category archives, tag archives, search results, and individual single-post templates. A template condition can accidentally override a broader archive or display the wrong content type.

Review URLs, breadcrumbs, metadata, and social sharing previews. If the archive is for local businesses, make sure addresses, phone links, opening hours, and map links are accurate. Australian sites should also consider consistent suburb and state naming, such as “Richmond, VIC” rather than a mixture of abbreviated and full formats.

Test the page on current Chrome, Safari, Firefox, and common mobile widths. Check loading speed from different Australian locations where possible, since a website aimed at Perth visitors may feel slower when assets are served from distant servers. Keep database backups before changing slugs, field keys, or template conditions.

For independent site owners, an external WordPress resource may offer additional ideas for plugin selection and content architecture. When a conflict between Elementor, the theme, and the CPT plugin remains difficult to isolate, document the plugin versions and reproduce the issue on a staging site before seeking technical assistance through the relevant support contact.

A reliable launch sequence is straightforward: register the post type, create representative content, build the archive template, assign display conditions, test filters and responsive views, then clear caches and inspect the live URLs. Begin by creating one CPT with three custom fields and five realistic entries, then build its Elementor archive template against that test data.