The post Check For WordPress Plugin Updates appeared first on Justin Silver.
]]>If you write and contribute plugins to the WordPress Repository then you might be interested in having your plugin be aware of updates you have made available – an admin notice or something similar. Maybe design a clever versioning scheme so that you can inform the user of critical fixes in a more dramatic way than regular patches.
// Your plugin file, perhaps __FILE__? $plugin_file = 'plugin-name/plugin-file.php'; // Check for Plugin updates, if you want to have the latest (not necessarily recommended) wp_update_plugins(); // Results of the update check $update_plugins = get_site_transient( 'update_plugins' ); if ( isset( $update_plugins->response[ $plugin_file ] ) ) { // Your plugin needs an update, do something about it? }
In the result of update_plugins
the $update_plugins->response
is an array()
that will be something like the following, if there is anything else you want to check.
'response' => array ( 'plugin-dir/plugin-file.php' => stdClass::__set_state(array( 'id' => '12345', 'slug' => 'plugin-slug', 'plugin' => 'plugin-name/plugin-file.php', 'new_version' => '1.2.3', 'url' => 'https://wordpress.org/plugins/plugin-name/', 'package' => 'https://downloads.wordpress.org/plugin/plugin-name.1.2.3.zip', )), ),
function my_admin_notice() { global $my_admin_notice; ?> <div class="updated"> <p><?php _e( 'An update is available for your plugin!', 'my-text-domain' ); ?> <?php echo $my_admin_notice; ?></p> </div> <?php } function check_update_notices(){ global $my_admin_notice; $plugin_file = 'plugin-name/plugin-file.php'; $installed_ver = split( ',', $update_plugins->checked[$plugin_file] ); $available_ver = split( ',', $update_plugins->response[$plugin_file]->new_version ); $v1 = $installed_ver[0]; $v2 = $available_ver[0]; if ( $v1 != $v2 ){ $behind = $v2-$v1; $my_admin_notice = $behind!=1? "Oh no, you're {$behind} major version(s) behind!" : ""; add_action( 'admin_notices', 'my_admin_notice' ); return; } }
The post Check For WordPress Plugin Updates appeared first on Justin Silver.
]]>