My goal is to give end users on my projects the maximum amount of control without making them work with any code.
I've been using Advanced Custom Fields ("ACF") along with the Repeater Field add-on for some time now with great results, but I'm torn between two setups.
The problem: A site needs to list employees on a page. They will not and should not be visible anywhere else.
Old way: In the past I would setup a CPT for employees, plug in a quick
WP_Query on that page template and be done with it. Then I added ACF and the Repeater Field add-on to my workflow. The new workflow allows me to setup a repeatable field where the admin can select a post object from a dropdown (filterable by post type). Admins can select the employee CPT object and keep adding or removing these as needed with the Repeater Field. They can even drag and drop the fields to reorder them.
Problem with the old setup: The drawbacks I found to this approach are the repercussions of creating a CPT: mainly that the CPT is individually visible should a visitor stumble upon its URL and can be indexed by search engines. Template redirects and
robots.txt can solve these issues but I wonder if there is a more efficient way...
The alternative: Why not setup the repeatable fields directly on the page that's meant to display the employee data and include ACF fields I would normally include in the employee custom post type like name, image, bio, etc.?
To me, this is a far cleaner and more efficient solution. This way, admins don't need to create a CPT and then go to the employees page and add the CPT they just added to the repeatable field that's setup there; they just input the employee data directly on the page where it's meant to be displayed. No template redirects or
robots.txt tweaks necessary and they edit everything from within one window.
I realize this solution may only be workable in a scenario where these faux CPTs only need to display on one particular page.
Can anyone make a good case for or against a setup like this?