We’ve been looking for a WordPress plugin or system that lets you scope admin/contributor “roles” down to the field level. We have an immediate need for something like that, but totally coming up empty on options. There’s a ton of options that let us scope down to a custom post type, but not necessarily the fields within that custom post type.
So far, the only solutions I’ve found let you customize admin user access to a custom post type, page or post, like add/edit/delete on the custom post type itself; but I haven’t been able to find a solution that says “John Smith only gets to edit XYZ custom fields, and read-only access to the rest of the data for an entry”.
For example:
We might have a custom post type called “Inventory”, and it may have
title, description, stock number, features, price, status. We’ll have
sales people able to edit “description” and “features, but they are
not allowed to edit any of the other information. Those are created
when the listing is added by a manager or website admin.
I’m at my wit’s end with this, and not sure what the appropriate path to take might be. I may be stuck creating the CMS from scratch as we used to do in the old days. Which would be okay…if not for the timeframe deliverable given to me.
That said, if I were not able to find this all wrapped up in a nice plugin (paid or otherwise), is there a way for me to build out the custom post types and fields ahead of time, then apply some type of “functions.php” logic that adds the limitations I’m attempting to impose?
The only thing I’ve found so far that comes close to what I want is Adminimize. However, while it’s doing what I want, it’s incredibly time consuming to setup, since we need to target the style definitions in the HTML for each field individually, then apply those to the roles we have setup; rather than handling it from the backend.
If anyone has a better solution, I’d welcome it, as it would save us a ton of time in setting up these role requirements/restrictions. For now, at least we have a solution. It’s just not efficient.
I can’t say that I have heard of any plugins that provide such granular capabilities control out-of-the-box. It is completely possible to do, the custom post type API provides meta capability controls so you can add and define exactly how you wish your custom post type to be controlled, but it’s generally not a quick thing to set up.
There’s a decent beginning article on custom post types and meta caps by Justin Tadlock.