Questions of the ‘which is best’ type are impossible to answer, because they depend on the eventual use case. If the users who are building the individual sites are familiar with object oriented programming the first approach may be cleanest. If they are less schooled in OOP, you might go for the filters.
But I think you are overlooking the easiest approach, namely delegating everything to the options page of your plugin. If all you need is 20 to 40 different classes to accommodate layout issues, you can simply define an array with default variables/classes inside your object class and, on initialization, look if some of those need to be replaced by values in the options array.
Related Posts:
- Passing a parameter to filter and action functions
- Get a list of all registered actions
- How can I edit post data before it is saved?
- WP Rest API: details of latest post including featured media url in one request?
- How do I exclude plugins from getting automatically updated?
- How To Determine If A Filter Is Called In A Sidebar/Widget Context?
- How to disable Gutenberg editor?
- WordPress apply_filters() Arguments Missing
- plugin_action_links Filter Hook Deprecated?
- Filter Hook on plugin update
- How to list the Hooks and order of execution in current loading page? [duplicate]
- Removing user contact methods works from functions.php but not from a plugin
- Use external link in the add sub menu
- Is there any multiple filter/criteria plugin for wordpress? [closed]
- How to prepend to the_title for admin-side plugin’s use
- How can I filter blog name?
- why does the add_action(‘the_content’) overwrite my page
- How to filter content post only on save
- Filter or action hook to insert content on admin pages before tag
- plugin_action_links_{$plugin_file} hook not in the main plugin file
- Creating search filter through plugin
- Woocommerce Shipping module available only for type of products [closed]
- Add Fields with Sub-Fields to WP Job Manager
- merging an array to an existing array using add_filter
- What is the purpose of $merged_filters?
- locate_template with multiple categories?
- Changing image URLs in media library
- Gutenberg Blocks – Change EDIT part of the block using editor.BlockEdit filters. How to change the markup?
- WP Job Manager Category Drop-down; Change Placeholder Text Via Filter
- Randomize attachment IDs
- Pass info from functions.php to plugin
- WordPress Social Login > Post to a users Facebook wall
- add_query_arg not working
- Change permalink structure hidden button edit
- How to find the origin of a file upload from within wp_handle_upload?
- How to get the element ID from new menu list that added with add_filter()?
- White page by using filter template_include
- Filtering WooCommerce Orders by Category
- How to remove plugin metaboxes from edit.php
- Plugin developer automated documentation
- Output content to the_content before a plugin does
- Is there a hook to Intercept al urls from a webpage and redirect to a page
- Filtering get_permalink in Jetpack / ShareDaddy
- Is there a way to figure out which action/filter invoked a function?
- Add sub menu page in your plugin
- Check if variable is set in filter
- Passing stored variables to add_filter
- Modify page title and subtitle with a plugin
- override filter in a plugin
- Trying to add a page template for my custom post type from a plugin, but it will not display in the template dropdown unless file is in theme
- Change text string in a plugin
- How to use filter to disable adding a product to wishlist?
- correctness of URL
- Advanced Custom Fields (acf) – Filter Relationship by Taxonomies not Post Type
- How do I change where a plugin pulls updates from?
- How to use apply_filters?
- what is the point of telling add_filter how many parameters you want passed to the function?
- How to add filter for wordpress plugin?
- How to hook into action/filter call
- Filters on the_content with plugins, pages and shortcode
- How to append new form elements in “Add New” form of Users in WordPress admin panel?
- Filtered content appears in the excerpt
- Excluding specific post from custom next/previous theme function
- Want to create custom design of progress indicator in wpforms
- Use a hook or filter, or overwrite this Gamipress function?
- Add hook after content without formatting
- Unpublished Pages Failing To Appear On Custom Path
- WooCommerce Product Table – filter query on attributes
- Does having apply_filters in the middle of an array make a difference?
- Disable WC Bookings automatic order completion [closed]
- how can I edit the HTML of yith ajax product filter
- Plugin function in child theme
- Use action, filter, or hook to append HTML to WordPress plugin function
- Remove action added in plugin class from theme
- Show custom taxonomy in theme
- Using multi-dimensional array with filter
- ACF Taxonomy search on backend (Relationship field)
- Can I add content before post content without using the_content filter
- Why can’t I shove an instance of a class into a variable from a do_action hook?
- Add Filter to get_next_posts_link
- Passing a parameter to filter and action functions
- Jetpack Comments Change Placeholder Text
- shortcode which is introduced into entry the blog, and appears in side bar
- apply_filters to content but ignore shortcodes
- Use of apply_filter in plugin/widget class
- making a glossary with wordpress
- Adding a Filter to Sidbar Login Plugin to Change Login Button Lable
- How to add different CSS for galleries
- Simply Exclude – Category feed exclusion is excluding from category feed instead of just the main feed
- How to change response of admin-ajax request?
- How to add a filter conditionally based on page related Conditional Tags
- WordPress plugin add_filter returning a link does not work. What is the correct way?
- Which action/filter can i use for a Member Plugin [closed]
- How to add product thumbnail on orders list on backend?
- Custom priority with the_content filter based on user input
- filter just a portion of plugin function
- Deactivated a plugin with a filter, but it still enqueues JS files
- Change social icon in twenty twenty three theme
- WooCommerce Attribute Mapping
- Hide attributes based on previous selection