Synthetic Industry

Job acf-custom-post-type-and-fields-one-content-type · revised 11 October 2026

Add one structured content type to WordPress, with its fields and page templates

Build one custom post type with an Advanced Custom Fields group, an archive page and a single-entry page, kept in files, so editors fill in fields instead of formatting pages.

You might be seeing

  • Each entry is a hand-built page that must be copied and edited
  • A list of entries is maintained by hand and goes out of date
  • Different editors format the same kind of entry differently
  • A theme change would mean rebuilding every entry

No passwords, keys, card details or admin invites needed to start.

What usually happened

Repeating content such as people, events or listings is stored as free-form pages, so layout, data and presentation are mixed. Without a structured content type, the entries cannot be listed, sorted or reused, and fields defined only in a dashboard are easy to lose or to differ between a staging and a live copy.

Who it’s for: Owner or agency of a WordPress site that repeats the same kind of page by hand, such as team members, events, properties or resources.

Usually starts when: The same layout is copied into page after page, a new entry takes an hour of formatting, or a list of entries cannot be sorted or filtered because it is just text on a page.

The result: One new content type appears in the WordPress admin with the agreed fields; an archive page lists its entries and each entry has its own page; and the setup is stored in files so a fresh copy of the site gets it without manual steps.

Check whether this job fits

A few short questions. Your answers stay on this page unless you choose to email them.

Do you have several pages of the same kind, with the same fields in each?
Can you list the fields each entry needs?
Do visitors need to search or filter the list?
Which editor builds your pages?

Answer the questions to see whether this job fits.

Nothing is sent anywhere until you choose to email us.

Send an enquiry about this outcome

Checks you can run yourself

  1. Write one finished entry as a field list

    Take your best existing entry and break it into labelled pieces: title, image, short text, date, link and so on.

    Look for: Pieces that repeat in every entry (these are fields) and pieces that are free text (a single editor field).

  2. Count the entries

    Count how many entries exist now and how many you add in a year.

    Look for: A number. Under about five suggests a simple page; dozens or more suggests a content type.

What you get

  • The plugin with the post type, field definitions and templates
  • A short editor guide: how to add an entry and what each field does
  • Test results for filled, partly filled and empty entries
  • The URL pattern and archive address
  • Steps to install and remove the plugin

Included

  • One custom post type with a prefixed identifier of no more than 20 characters, registered in a small plugin so it survives a theme change
  • One Advanced Custom Fields group of up to 12 fields, with location rules limited to that post type
  • Up to one custom taxonomy for the type
  • An archive template and a single-entry template in your active or child theme, with optional fields printing nothing when empty
  • Five made-up fixture entries for testing, deleted before handover unless you ask to keep them
  • Field definitions saved as files in the plugin so they can sync between copies

Not included

  • Search and filter controls on the archive: that is a separate job
  • Importing your existing entries from pages or spreadsheets
  • Front-end forms that let visitors submit entries
  • Page-builder templates built for another builder than the one you name
  • Purchasing an ACF licence if one is needed
  • Multilingual versions of the entries
  • Membership or access rules

How we know it’s done

Agreed with you before work starts. Each check produces evidence you keep.

  1. On a fresh staging copy with the plugin activated, the new content type appears in the admin with every agreed field and no manual import step

    Evidence: Screenshots of the admin menu and the entry screen

  2. A fully filled entry and an entry with only the required fields both render on their own page and in the archive with no PHP notice in the log, and empty optional fields print no empty markup

    Evidence: Screenshots and the log excerpt for the test window

  3. The archive address and a single-entry address return HTTP 200 without a manual permalink save, and the archive lists the five fixture entries across its pages

    Evidence: Status codes and a screenshot of the archive

  4. The post type identifier is prefixed, no longer than 20 characters, and the field group location rule matches only that post type

    Evidence: The registration code excerpt and the field group settings

Sign-off. You sign off after the staging checks pass, you add one entry yourself using the guide, and your site holder installs the plugin on the live site.

If it fails. If the checks do not pass, you do not pay, and you keep the work done so far.

When it fits, and when we stop

It fits when

  • ACF is installed, or you will hold a licence for the edition the field types need
  • Your theme can be edited through a child theme, or you accept template files in the plugin
  • You can describe the fields as a list: name, type, required or optional, and an example value
  • A staging copy exists

We stop and tell you if

  • The content is really a product catalogue that needs ordering and payment
  • The site is a multisite network
  • The theme cannot load custom templates and no child theme is possible
  • More than about 12 fields or several linked content types are needed: we quote a project instead

What could go wrong

Deactivating the plugin removes the content type from the site without deleting stored entries from the database. Your site holder can install the previous state of the theme files from the handover list.

Scroll the table sideways to read it all.

RiskHow we handle it
Printed field values allow unsafe markup from a careless editorEvery value is escaped for its context when printed; the reviewer checks each template line.
Changing the URL pattern later breaks linksWe agree the pattern before building and tell you that a later change needs redirects from the old pattern.
Field definitions exist only in one copy of the siteThey are stored as files in the plugin and a fresh staging copy is used to prove they load.

A second reviewer checks that every printed field value is escaped, that the plugin does not depend on the theme, and that the fixture tests match the field list.

How we deliver

We arrange the work and independent review, then show you the result against the agreed checks. You keep authority over your systems.

  • Agree the field list, the URL pattern and the archive and single layouts in writing
  • Register the post type and taxonomy in a small plugin on staging, with a prefixed identifier
  • Define the field group, store it as files in the plugin and check that a fresh copy picks it up
  • Build the archive and single templates, making empty optional fields print nothing
  • Test filled, partly filled and empty fixture entries at desktop and phone width and read the PHP log
  • Independent review of escaping of every printed value, then hand over the plugin and guide

This is a one-off job, not emergency cover or a subscription. We confirm eligibility, the total price, a start window and a delivery date before you accept. Work starts only after agreed inputs, secure access, any licences and necessary permissions are in place. Hosting, plugin licence and supplier charges are excluded unless the written quote includes them. No charge or booking is created by an enquiry.

Need to keep it working?

Discuss adding search and filter controls to the archive.

Ongoing work is separately scoped and quoted: no monitoring, response-time guarantee or automatic subscription is included in this job.

Explore an ongoing engineering lane, or mention the responsibility you need in your enquiry.

What you can check

This is a new service. We have not delivered this job for a client yet.

Other ways to get this done

  • Many themes and page builders offer a built-in portfolio, team or events type. If one fits the entries you have, it may be quicker than a custom type.
  • ACF's own documentation shows how to register fields and templates; if you build themes yourself this job may be a few hours of your own time.

Questions

Why a plugin and not the theme?

A content type registered inside a theme disappears when the theme changes. In a plugin, your entries stay available whichever theme is active.

Do I need ACF Pro?

It depends on the field types you choose. We check your list against your edition before quoting.

Can you move my existing pages into the new type?

That is import work and is outside this job. We can quote it once the type exists.

Send an enquiry

Send us

  • What the content type is and how many entries you expect
  • A list of the fields with their types and one example value each
  • A sketch or screenshot of how one entry and the list should look
  • Your theme name and whether you use a page builder
  • Whether ACF is installed and which edition

Later, once you agree

  • A staging copy of the site and an admin login to it
  • Real example text and images for the fixture entries, or permission to use made-up ones
  • Your ACF licence key entered by your site holder if the edition needs one
  • A company-controlled secure handoff agreed before access: no live passwords, keys, private code or customer records by ordinary email.

You keep the live site and your ACF licence. We build on a staging copy and hand over a plugin that your site holder installs.

A public HTTPS link only, without login details, query strings or fragments. No code or logs.

Sending emails your enquiry and contact address to our team through our mail provider (Resend). It is not kept in a website database. Do not send passwords, keys, recovery links, confidential code or customer records. Your contact email is unverified; nothing is ordered, charged or reserved. Privacy notice.

Email fallback: open your mail app

If website submission is unavailable, review and send the fallback email yourself. An email fallback is not a website receipt. Or write to hello@syntheticindustry.ai with “acf-custom-post-type-and-fields-one-content-type” as the subject.