Code like this can do the trick.
function plugin_activation_check(){
if ( some_check_here() ) {
// this is the fail case
deactivate_plugins(basename(__FILE__)); // Deactivate ourself
wp_die("Message to user.");
}
}
register_activation_hook(__FILE__, 'plugin_activation_check');
Related Posts:
- Uninstall, Activate, Deactivate a plugin: typical features & how-to
- Loading external page template and enqueue script from plugin causes 403 forbidden error
- How to get Login Error messages on a custom template
- Function to activate WordPress theme inside a plugin
- Activate Plugin which is in subfolder?
- WordPress register_activation_hook table creation not working
- Correct way to use register_activation_hook
- Unable to activate wordpress importer after installing it
- Auto add content such as pages upon plugin activation?
- How to automate wordpress plugin activate and deactivate by php logic?
- Accessing GET variable named ‘error’
- Default Plugin Settings Not Writing to Database
- Own plugin corrups plugin-activation
- CSV file generation failing
- Python with wordpress plugin
- Are functions in main plugin file called before function bound to register_activation_hook runs?
- Force file download on plugin activation
- Run function on plugin activation before plugin is loaded
- WordPress error: Options page Setting_ not found in the allowed options list
- Apparent errer when installing plugin
- My plugin does not install correctly if a previous version is still installed
- Activation flow of a plugin in a multisite environment
- How to check for already existing plugin versions on activation? and prevent errors
- My WordPress activation hook isn’t working
- Cannot modify header information – headers already sent during plugin activation
- How do I create a state of “don’t assign anything to variable” if WP_Error throws an error?
- A more elegant way to handle notices/warnings
- The plugin generated xxx characters of unexpected output during activation
- How can I send api calls from my plugin?
- How to check if tables in WordPress still exists after activations
- How to apply a patch via plugin?
- Fixing WordPress’s Bug (failed to send buffer of zlib output compression) results in “White Screen of Death”
- How to block plugin activations with no known user or coming from unknown IP address range?
- Nonce failing on form submission
- Disable woocommerce cookies and delete cart data automatically
- Ajax contact form widget plugin data not insert in database
- link bbpress forum discussion to blogposts
- Install Plugin via Code
- code is working properly in Core PHP but writing coding in WordPress
- Combine scripts from all extensions of the plugin when an extension is activated
- Creating a custom post type, adding custom meta fields, preventing all future editability of posts of this type
- Prevent duplicate records in plugin table
- Send Custom welcome email to specific user group
- woocommerce payment gateway callback not firing [closed]
- How to modify WCMP Rest API response?
- Fetch Children of Grouped Products Inside WooCommerce Product Loop
- White page by using filter template_include
- How to fetch products with the price in a page on woocommerce using a form or live search with php
- Making a Template for a CPT created by a plugin
- Run plugins only on certain pages
- Woocommerce dependent plugin
- WordPress.org Plugin Directory doesn’t recognise screenshots [closed]
- External CSS in WordPress Plugin [closed]
- How to check current user before all actions and filters?
- Owl Carousel2 image not displaying full width when using Stretch row and content, Stretch row and content(no padding) in wordpress
- User Session and Stored Cookies not get removed
- New databes tables with – WooCommerce – for developers [closed]
- How can I prevent my plugin go development trunk [closed]
- Plugin-generated pages use Not Found or Pages Archive templates?
- How can I make 2 plugins that include different versions of a framework to both use the latest version?
- creating html reusable blocks via shortcodes
- Add Plugin options as subpage to Theme options page
- Is there any kind of theme on WordPress to sell my own movies?
- Image upload and download from front-end
- Create a navbar filter that filters by a custom field
- Change commission_status paid when withdraw_status vendor is completed
- Passing an array from shortcode-function to filter-function
- custom payment gateway in woocommerce failed to connect to remote api server
- wp_remote_get() returns 403 while file_get_contents() does not
- Single API call exposed via shortcode with params
- Plugin options page with live preview?
- Using SVN to upload plugin created with gutenberg blocks
- Force quit running background job
- Modifying Author Link to add Author Meta in URL
- How to output CMB2 select options from repeated groups select elements?
- Creating a Callback URL for WordPress Woocommerce to update Order Status
- Uncaught TypeError: jQuery(…).flipster is not a function in wordpress
- Get Time Taken By Each Action Hook in WordPress
- How to export post 2 posts WordPress plugin data [closed]
- 306 MB of wp_options occupied by WordPress SEO Plugin, is that normal? [closed]
- WordPress plugin creation how to execute .sql in order to insert multiple rows at activation of plugin
- WordPress site periodically goes down
- Best way to maintain and update 3rd-party WP plugin when developer is unresponsive?
- get 404 when accessing wp-admin/plugin-install.php
- What can be reason for no plugin-strings available under stable section on translate.wordpress.org?
- Plugin: register_deactivation_hook works perfectly well, while register_activation_hook suddenly stopped working
- I want to auto populate data in three fields if one drop down is selected
- Best place for if/else piece of code related to custom plugin?
- How do you assign a UUID to posts/products/comments/reviews?
- Best way to initiate a class in a WP plugin?
- correct way to include a library(and its dependent libraries) in wordpress development
- How does task scheduler plugin implements cron that is not dependent on page load request? [closed]
- Issue Tracker from pre exsisting table [closed]
- How to make a implement queue for scheduling tasks in WordPress?
- Session destroyed on page redirect
- WordPress Plugin [closed]
- Deactivating all plugins and reactivating one by one, fixes conflicts. Why?
- wp.media javascript issue with on select
- Is there a way to test that readme looks in other language before submitting translation?
- What are the specifics of WordPress development I need to know? [closed]