You could create a Repeater field for your Projects containing the following:
A post type Relationship, that allows only a single post, limited to Creator
A taxonomy Relationship, limited to your role taxonomy (Director, Animator etc.)
When editing the Project you can then create a new Repeater item for each Creator and assign it roles. The downside is that in the Creator templates you would have to query Projects in order to check what the Creator at hand is involved with, which, depending on the scale of your website, could be rather expensive.
With a bit of work that could be done, I suppose. Actually, I was just about to look into that as well for a similar case, but have not come around to it yet.
The idea is to create a custom Text field for Creator, that is hidden from the post edit screen by contradictory logic, such as: “Show only if another random field contains any value and contains no value at the same time.” Then we would hook into the post edit screen whenever a post is saved, check if it is a Project, iterate the Repeater, fetch each Creator mentioned, and save the data in the hidden field as JSON, so on the Creator template it suffices to get_field( 'hidden_text' ) and unpack the JSON without querying the Project post type.
It would cause a bunch of additional database queries every time a post is saved, but that is trivial, especially if the alternatives are to either cause a bunch of additional database queries every time the front-end is called, or do it all manually and go insane.
Viewing 4 posts - 1 through 4 (of 4 total)
You must be logged in to reply to this topic.
Welcome to the Advanced Custom Fields community forum.
Browse through ideas, snippets of code, questions and answers between fellow ACF users