This is not common practice, but it works. A better approach, is to use a class and with the singleton pattern, just like WooCommerce and many others, where you have:
- A static function (called
instance,getInstance…) that:- Creates an instance (object) if not already done and returns it
- Or returns the existing instance
Let’s continue with the WooCommerce example; we used to do this to access the global object:
global $woocommerce;
Now we do:
WooCommerce::instance();
# Or with the handy Shortcut
WC();
I think you will enjoy reading these:
- WooCommerce::instance() https://docs.woocommerce.com/wc-apidocs/source-function-WC.html#104-119
- https://docs.woocommerce.com/wc-apidocs/source-function-WC.html#524-534
- https://en.wikipedia.org/wiki/Singleton_pattern
You can check the value of current_filter() inside your method, but if I were you, I wouldn’t bother. This is not a threat, and other developers may want to use your code, so don’t block them.
Related Posts:
- Add a new tab to WordPress Plugin install Listing
- Changing Plugin Load Order
- Admin settings update updating every time home page is hit?
- Custom plugin: Trying to show saved data on frontend
- How should you hook a session_start() when authoring a plugin?
- Init action hook running late after PayPal’s return url?
- How Do I Load My Action Earlier Enough?
- Does WP fire delete_post when trashed posts are automatically deleted?
- How do I Make a Theme “plugin-ready”?
- WordPress scheduled task is called but not executed
- How to add a link to WordPress Plugin install Listing
- How to modify post content before writing to database?
- I can’t find where a hook is being defined in a plugin – Easy Digital Downloads
- How do I handle multiple Submit buttons in plugin’s option page?
- How to use filter hook ‘post_updated_messages’ in coherence with action hook ‘save_post’
- Is it possible to create an action hook using do_action() within add_action()?
- Hook for post permalink update
- Dynamically Override Fancy Title
- Get returned variable from a function to add_shortcode function
- Create a plugin to change the action to which a function is hooked
- Can I differentiate between “Delete Post Permanently” and “Empty Trash” and do something for each accordingly?
- Adding Automatically To In WordPress Using Filter Referencing?
- comment_email hook doesn’t seem to work for comment editor field
- Best Practices for Creating and Handling Forms with Plugins?
- Is there a better way to implement responsive images than what WordPress uses by default?
- unable to stop loop when using wp_insert_post with publish_post hook
- Add tab to profile.php wordpress plugin development
- WordPress Ajax callback function from plugin – OOP
- How do I change the initial quantity of a product in woocommerce?
- Where and how does WordPress store and use its plugin and hook information?
- Which are the hooks run before/after when a category’s deletion?
- edit_{$taxonomy} | Hook
- WordPress after content Hook & external template part
- best practice for query string values – get_query_var always empty for my value supplied in query string
- Modifying meta tags after doing ajax call in plugin
- .mo translation strings not loading in PHP scripts that handle AJAX calls
- Where to add hooks in a class
- Trying to understand order and frequency of action hooks firing
- How to use output buffering in WordPress hooked functions?
- Adding option to Gallery shortcode
- do_action and add_action on two different installed plugins won’t work
- Getting List of all registered Dashboard Widgets
- template_redirect or admin-ajax.php?
- I have 2 plugins using the same wp_login action hook and one is not working
- Add a new confirmation page before saving
- How dynamic action login_form_{action} is working
- What happens when two or more plugins use the same hook?
- Does admin_print_scripts-$hook_suffix work for nested paths to individual files?
- How to get all queries’s results after they have executed?
- flush rewrite rules after plugin update?
- When does save_post hook fire on post save/update
- Plugin does not add action
- Add child pages to submenu automatically
- After plugin activation hook
- How to replace default comments with custom HTML?
- Odd map_meta_cap $args on post edit — sometimes integer, sometimes string
- How can I create a custom plugin that allows anonymous users to signup without registering?
- hook filter after the_content on a specific page
- how to get the post id in plugin
- Is there an admin hook that will let me read GET variable before it’s too late to set the header Location
- Associate multiple email addresses with the same user account, so they can log in with either
- Run command “composer install” when activating wordpress plugin
- Add a check box in Menu Settings
- Custom filter not working
- Configure WordPress to Generate Scheme-less Relative URLs
- Using init hook for register_taxonomy is causing invalid_taxonomy in wp_insert_term()
- Ajax +wordpress onClick link redirect to new page and create html content
- How to replace settings in WordPress plugin from a theme
- Creating posts with links from a txt file
- Action / Hook when a new plugin is added
- apply_filters() and call_user_func() to define and call a function outside a class
- Getting Post ID at “stylesheet” and “template” hooks
- Trigger function on Remove block or add new block in Gutenberg JavaScript
- Limit get_next_post to posts from the same author
- Any way, hook to add content right before the “read more” link?
- Is there any way to get post meta from publish_post hook?
- How do I ensure I can loop through every enqueued script and CSS?
- Problem in plugin debuging in wordpress
- OOP development and hooks
- Plugin Development – Call to undefined function comment_exists()
- Add_action not calling callback function
- Prevent plugin activation and add admin notice
- Unable to show a message after plugin activation
- Function not working on any file other than the main plugin file
- Does WordPress have something like timer hook?
- Multi hook deploiement
- Can I use a hook other than ‘init’ to handle form submissions?
- Template file structure , wordpress hook for altering the template
- woocommerce single product page hook not working
- How can I set a dynamic value for post_updated_messages based on return value of post_updated?
- What is the use of wp_schedule_event hook?
- How do I replace title with my plugin?
- Looking for Hook that is fired after a plugin or wp upgrade is installed/updated
- Woocommerce: block user removing cart item
- How can I get a plugin to hook ‘dbdelta_queries’ — a filter used during version update?
- Send retrieve password notification email with custom HTML email template
- wp_head is not fired from the hook I have used in my plugin
- Execute callback after REST API request completes + Response is sent
- How to customize password reset message page on success if no error in password reset
- how to execute a function only when i send an order to trash [closed]