This question is a bit too broad for a Q&A model, but I tend to think that everything you need is already built in. Except that you will want your clients to login, something you can have them do on the front end.
You could even make a custom role which will allow you to hide the whole admin bar from them except for the button that lets them open the theme customizer.
In the theme customizer you can change the capability on settings, which will make some of them available for users with low clearance. In this way you can prevent them accessing settings they have no business with.
You can use the active callback on sections to load different sections for different types of pages (front, archive, singular, and so on).
If you don’t want them to save their actions, hide the save button.
Related Posts:
- Customizer – Allow user editor to change website title and tagline
- Give a user role capability to create orders for clients
- add_role() run only once?
- wp_update_user not updating
- REST API, get user role?
- Is WordPress’ is_user_logged_in() secure?
- Allow user to Publish, but not Edit or Delete
- Email notification for editors only
- Custom Post Type’s Capabilities map_meta_cap issues
- Adding multiple user roles dynamically
- Author Role – Allow editing of Gallery images
- How do I allow anyone to edit a post — but not access dashboard
- What is the difference between “create_users” and “add_users” capabilities?
- Conditional Tags for Membership Levels when using Wishlist Member Plugin?
- Allow user to edit specific user with meta key using map_meta_cap
- How to remove sticky post capability for a specific user role?
- Let new user role to ‘edit_others_posts’ of other user role, not of its own type
- How to restrict access to specific pages on the back-end?
- User registration approval based on role selected
- add_menu_page() for more than one user role
- How do I turn off the Admin Bar for all Subscribers?
- Hide from specific role the top admin bar new button
- exclude roles from overview
- How do I remove the Other Roles field (from User Role Editor plugin) in wp-admin/user-new.php
- Can you set a role as author?
- New user created as Participant rather than Contributor [closed]
- How can I disable the update notice for non-administrators?
- How to allow user to edit post in wordpress
- wordpress editor role remove all but ‘menus’ in appearance menu
- Where are the WordPress capabilities stored?
- Display user meta by different user role
- Conditional tag based on the role of author in author.php
- Custom user roles for access to specific parts of the site
- allow non logged in user to upload images in media library
- Assign a role to the user who registers on a form
- Subscriber (with read permissions) cannot view Private posts
- How can I add a custom role capability to use in a custom plugin?
- DISALLOW_FILE_EDIT constant being ignored
- Add a button or radio box that update the user role
- How to change user role using hook
- Reset Roles (or undo role changes on theme change)
- Plugin creation – how to add user rights?
- User roles are changing automatically
- Give Editor Access to Custom Theme Options
- Authorize users for specific pages and/or categories
- Custom Capabilities for CPT and Problem with current_user_can()
- Which capabilities are available in Gravity Forms Salesforce plugin? [closed]
- Woocommerce Wcvendors – duplicate emails when Vendor approved
- Hide front-end from every logged out user and redirect them to the default login page
- ‘upload_mimes’ filter seems to be restricting viewing/downloading as well
- How to trigger an error: “You are not allowed to edit this post.”
- Allow user edit widgets
- Problems using ‘add_role’
- allowing subscriber role to delete their own posts
- Make a single page in WordPress available only for Admin and Subscribers
- Let users edit their role from the frontend
- Restrict access to a post once it is tagged as a given status
- List of users with email and role
- Subscription list function
- When using a user role editor how to find out any plugins’ or themes’ role?
- Require Capability to View Woocommerce Product
- Is there a capability/User role plugin that lets you specify edit ‘posts’ not ‘custom posts’? [duplicate]
- users in their Role can only their Posts
- How to assign a role to a simple visitor?
- How can I check if a visitor can read a post?
- Assigning a capability to a user role (code check)
- How to query users to count all with a custom capability and limit it to a set of roles?
- Adding a role using Members and Formidable Forms [closed]
- Set role to a guest user, it’s possible?
- wp_update_user very slow
- On action, change user role
- User role and capablities only for 1 plugin
- Add a second role when registering programmatically
- WordPress hide any html element by css when user-role
- Create role that can edit some user details, but not the role
- What would cause wp_insert_user role to work sporadically?
- How can I add capability to multiple roles?
- After setting up a new Role, CPT and capabilities, the new role can’t see the featured image
- underscore not allowed in role slug?
- Custom Gutenberg Block and unfiltered_html capability
- Blank Screen Edit Page when using Editor Role
- Streamlining what roles and users see
- Can someone help me out? Why isn’t this working?
- dynamic home page according to role user
- Custom site role cannot access Appearance menu
- Set User Role based on age result from Facebook Log-In – WordPress
- Custom Role Allowing Things It Shouldn’t Be
- List users of specific role instead of removing them with specific role
- Change the user role based on login or theme switch
- Frontend view of normal Visitor
- Custom Role accessing the wp-option table
- used code below to allow Editor access to menus – but change permanent, how do I revert?
- Display based on specific user
- How can change 12000 user role into contributor by sql [duplicate]
- Users can only save their draft once before saving for revision
- Is it possible to restrict a specific user to edit a specific custom post.
- Access to option page by role/capability
- Set user role based on invitation code
- WordPress users roles wp-admin
- User roles empty