You are not wrong about conceptual limitation, but any development convention is inherently about constraints. Constraints are “bad”, but they are also often good and important.
In this specific case it’s slightly soured by Settings API being especially nasty snowflake, which historically led people to reinvent this particular wheel a lot.
However, your estimate of flexibility seems very off base.
Any admin page can be uniquely identified, otherwise they wouldn’t work in first place. You should look at functions like get_current_screen()
and work through admin-header.php
.
Since we are talking in context of commercial themes in the end it’s your business decision. Some people would insists on following same guidelines and conventions as free themes. Some would say it doesn’t matter, as long as quality and security don’t suffer.
Related Posts:
- Enable page templates. How?
- Where to store some per-template preferences?
- Plugin settings page template
- WordPress automatically created files like .theme-name / .plugin-name.php [closed]
- Change “posts per page” depending on width
- How to use Class
in Java? - Get name of the current template file
- How do you find out which template page is serving the current page?
- How to change the default registration email ? (plugin and/or non-plugin)
- How do I get the size of an attachment file?
- Is there any way to use get_template_part() with folders?
- Add multiple custom fields to the general settings page
- “Error: Options Page Not Found” on Settings Page Submission for an OOP Plugin
- How to pass arguments from add_settings_field() to the callback function?
- Is get_option function cached?
- How to pass variable to add_settings_section() callback?
- Adding Page Attributes Metabox and Page Templates to the Posts Edit Page?
- What are the advantages to the Settings API?
- How can i change email template for new user
- Any advantage to using get_header() over include(‘header.php’)?
- Where to store plugin settings fields
- Is it possible to override the result of get_template_part()?
- Use [embed] filter in template files
- What’s the purpose of the paged.php file?
- How do you access the Product Short Description in a WooCommerce email template? [closed]
- Prevent comments_template() to load comments.php
- Is there a way to list all used/unused WP templates?
- Page editor missing Templates drop down
- WordPress Settings API, Implementing Tabs On Custom Menu Page
- Print WordPress template filename(s) for debugging
- How to force TinyMCE in WordPress to replace newlines with tags and not with
- How to find the posts page (home page) programatically
- WooCommerce: Change template for single product page
- View WordPress page template usage (or unused)
- Difference between Option_Group and Option_Name in Register_Settings
- How to edit contents of dynamic_sidebar()?
- How to check if a shortcode exists?
- Where is get_header(‘shop’) file in Woocommerce templates
- Custom templates folder
- What’s the best method for emptying an option created with the Settings API?
- What is the link to my default “archive” page?
- Settings API – easiest way of validating checkboxes?
- How to get slug of current category in taxonomy template?
- How to show a under construction page for a domain but still be able to work on index.php?
- Change the name of the ‘Default Template’
- Customizing get_the_excerpt() to specific length and “Read More” output.
- How to Rename a Template File?
- get page templates
- Settings API – creating reusable form elements?
- Echoing Elementor page content in template, but it doesn’t get styles and some widgets are missing
- Using WordPress templating for HTML emails
- add static page to reading settings for custom post type
- Settings API – changing add_settings_field() output?
- Loading partial templates with AJAX/PJAX
- WP frontend output of custom textarea fields not respecting line breaks. In admin it’s OK
- How do you check if a WordPress template file exist?
- Load entire NextGEN gallery from single thumbnail?
- I put my blog on a subpage, how do I get page title?
- How to display an admin notice after updating plugin settings?
- A special single page templates for posts under a category and all its child category
- How does WordPress decide what template to use as frontpage
- Custom reset password template after forgot password request
- Outputting Canonical Resource URLs Across a Multisite Network?
- Gravity Forms Custom Templates [closed]
- Child Theme: how to override variables?
- register_setting() vs add_option()
- How do I get the URL of a specific size featured image?
- Settings API – save an array of options as one setting (array_push?)
- add/apend templates ‘transparently’ via plugin to currently active theme or child theme?
- stop blog page from using index.php?
- How can I modify the default reset (lost) password email text?
- How should I use register_setting, add_settings_section, & add_settings_field in my plugin’s options page?
- How to create tag.php
- Template files missing after moving site
- How do I override template-tags.php in twentyseventeen theme
- Custom plugin settings: clicking “save changes” does not display success message
- Get template part vs locate template function
- Programmatically change post templates?
- How to hide/redirect the author page
- Tools for Converting an Existing Website Design to a WordPress Template?
- Gutenberg & Pre-formatted Templates: Core Block Attributes
- Restrict a search to a custom post type
- Setting ‘autoload’ to ‘no’ with Settings API
- Gutenberg Editor – Template Doesn’t Match Error
- author.php added to template not working on Nginx server
- Add Settings to Custom Post Type
- Test if page is child and has children, if so echo child pages also on grandchild pages
- Need to give custom page template for each language in WPML
- roots child theme can’t override header.php
- How to Save Different Settings Options Using Settings API and/or the Theme Optimizer
- Serialized settings in rest api
- How did you incorporate WooCommerce in your own WordPress theme?
- Can’t output do_settings_sections . Can’t understand why
- Correct process for a new Page Template?
- Templates & CSS – Proper Programming Practice?
- How to assign a class to a page with a custom template?
- wordpress – load a template based on the URI
- When calling wp_title(), do you have to create some kind of “title.php” file?
- A shared custom taxonomy between two custom post types
- Why won’t register_setting() create a setting?