One point which is probably less important, is that you do not need to worry about styling of headers and labels, as the settings API will take care of it.
The more important aspect is software design. The more options you have the less maintainable your code will become if you just write it in one function, and you will actually want to split it into smaller functions to make it more readable, and being able to have unit tests that test it. Since you get all of that “for free” when you use the settings API, you should have a good justification for not using it (maybe you want something that do not look at all like a usual admin page).
Related Posts:
- Settings API with arrays example
- “Error: Options Page Not Found” on Settings Page Submission for an OOP Plugin
- Is get_option function cached?
- What are the advantages to the Settings API?
- Where to store plugin settings fields
- How to Use Checkbox in Custom Option Page Using The Setting API
- How should one implement add_settings_error on custom menu pages?
- Accessing plugin settings in gutenberg
- What’s the best method for emptying an option created with the Settings API?
- Which to use to execute code during the saving of a plugin settings page?
- Nonce in settings API with tabbed navigation
- How to use the settings API to set multidimensional arrays
- Add Admin Menu Inside Construct or Init
- Why won’t register_setting() create a setting?
- Settings API – Undefined Index when unchecking checkbox
- Disable $title in Plugin Options Screen?
- WordPress Settings API: saving multiple rows of similar data
- Why isn’t the Settings API designed to work for plugins using custom admin menus? [duplicate]
- Does settings API create settings on run time?
- Performance of several get_option() calls
- What is the use of get_option method
- Extend plugin options page
- Can I use the different settings sections over different pages using the save options group?
- Generating User(s) with Settings API
- Callback function is being called twice
- plugin development: storing language specific options
- How to add a secondary button to a settings page with a custom action?
- Correct way check nonce (security) using old Options API
- Tabbed navigation for plugin options using same row in database for all?
- Settings not set after calling register_setting()
- Using the Settings API, how should I add multiple values to an option?
- GET parameters interfere with my plugin settings
- Plugin settings not saving
- How to add settings subpage from a plugin to a settings page created in theme?
- Remove Internal Style Sheet if no Value Provided?
- WordPress setting with select – where is my mistake?
- null callback in add_settings_section
- Single sanitization callback for multiple fields
- Callback is not called in add_settings_field() when passed as part of an array, but recognises that it’s there. It’s passed Class to Class using OOP
- Custom delete option button in plugin settings
- Adding settings link to plugin doesn’t work
- How to fix Uninitialized string offset: error on a checkbox in WP Settings API
- Plugin development: can’t update settings with multiple settings sections
- Updating Woocommerce Settings API when WordPress Settings API saved and vise versa
- The plugin does not save data
- Settings API with arrays example
- Prevent invalid or empty values from being saved to the database and retain the form field values upon error
- Allow users to add / remove settings in plugin
- Update problem with update_option() in combination with register_setting()
- Default settings aren’t used
- WordPress theme options Menu
- Category select options for plugin settings
- Issue on Checkbox with Custom Option Page
- Settings API: Setting default option via ‘get_option’ fails
- settings api – add_settings_section not working
- custom wp_editor does not save the content in plugin settings
- Multiple page plugin settings
- Plugin settings are saving but the fields
- Update plugin settings option_name for big plugin update
- Pause plugin option page until all data manipulation is complete
- It is possible to pass $args that sent by add_settings_field() inside another function?
- Settings API not saving
- Sanitization and validation input fields – Settings API
- Hide / show settings field based on other field’s value
- Integrating colorpicker into array field
- Plugin setting page – update_option problem
- How Can I Update wp_enqueue_scripts () From WordPress Option Page Radio Buttons
- add_settings_error on validating plugin options API
- add_option_{$option} action hook not being called
- How to Modify My Plugin’s Admin Settings so that the Plugin can be Added to a Specific Page?
- Plugin options page: grouping checkboxes
- From my Plugin Settings Page use check boxes to load specific css files (e.g. Bootstrap / Foundation)
- When using an options array the Settings API isn’t creating the database record
- Dropdown pages in Settings API
- Generate activation url
- How do I build a settings panel under the plugin
- Settings API with arrays example
- Plugin settings checkbox
- Add_menu_page and saving settings
- Updating Style From WP Options Setting Page
- Combo/Drop down box on plugin settings page that allows additional options to be added
- Options don’t save, validation callback not executed
- How to delete all the options in an option group
- WordPress Plugin default option
- Update custom settings field in plugin
- Settings API not Saving to Database or Display
- Admin Message after Plugin Option Updated
- How to use register_setting()
- wp_localize_script $handle
- SQL query for custom taxonomy slugs
- What should happen when a WordPress Plugin is activated across the network (Network Wide Activation)
- How to get all product in the woo-commerce? [closed]
- Check user’s role and store in variable
- Screenshots on plugin page taken old [closed]
- How do I duplicate a single post, with all its properties, and save it as a different post?
- want to show CMB2 metabox on woocommerce product data tab
- Hiding the WordPress login and password fields from login page
- Buddypress: adding a new tab direct user to their author page
- Getting similar posts by custom field value
- Does WP REST API cache internally executed (rest_do_request) requests?