delete_plugins [ WordPress Function ]
delete_plugins ( $plugins, $redirect = '' )
| Parameters: |
|
| Returns: |
|
| Defined at: |
|
Benzer Fonksiyonlar: get_plugins, deactivate_plugins, delete_option, get_mu_plugins, wp_update_plugins
Remove directory and files of a plugin for a single or list of plugin(s).
If the plugins parameter list is empty, false will be returned. True when completed.
Source
<?php
function delete_plugins($plugins, $redirect = '' ) {
global $wp_filesystem;
if ( empty($plugins) )
return false;
$checked = array();
foreach( $plugins as $plugin )
$checked[] = 'checked[]=' . $plugin;
ob_start();
$url = wp_nonce_url('plugins.php?action=delete-selected&verify-delete=1&' . implode('&', $checked), 'bulk-plugins');
if ( false === ($credentials = request_filesystem_credentials($url)) ) {
$data = ob_get_contents();
ob_end_clean();
if ( ! empty($data) ){
include_once( ABSPATH . 'wp-admin/admin-header.php');
echo $data;
include( ABSPATH . 'wp-admin/admin-footer.php');
exit;
}
return;
}
if ( ! WP_Filesystem($credentials) ) {
request_filesystem_credentials($url, '', true); //Failed to connect, Error and request again
$data = ob_get_contents();
ob_end_clean();
if ( ! empty($data) ){
include_once( ABSPATH . 'wp-admin/admin-header.php');
echo $data;
include( ABSPATH . 'wp-admin/admin-footer.php');
exit;
}
return;
}
if ( ! is_object($wp_filesystem) )
return new WP_Error('fs_unavailable', __('Could not access filesystem.'));
if ( is_wp_error($wp_filesystem->errors) && $wp_filesystem->errors->get_error_code() )
return new WP_Error('fs_error', __('Filesystem error.'), $wp_filesystem->errors);
//Get the base plugin folder
$plugins_dir = $wp_filesystem->wp_plugins_dir();
if ( empty($plugins_dir) )
return new WP_Error('fs_no_plugins_dir', __('Unable to locate WordPress Plugin directory.'));
$plugins_dir = trailingslashit( $plugins_dir );
$errors = array();
foreach( $plugins as $plugin_file ) {
// Run Uninstall hook
if ( is_uninstallable_plugin( $plugin_file ) )
uninstall_plugin($plugin_file);
$this_plugin_dir = trailingslashit( dirname($plugins_dir . $plugin_file) );
// If plugin is in its own directory, recursively delete the directory.
if ( strpos($plugin_file, '/') && $this_plugin_dir != $plugins_dir ) //base check on if plugin includes directory separator AND that its not the root plugin folder
$deleted = $wp_filesystem->delete($this_plugin_dir, true);
else
$deleted = $wp_filesystem->delete($plugins_dir . $plugin_file);
if ( ! $deleted )
$errors[] = $plugin_file;
}
if ( ! empty($errors) )
return new WP_Error('could_not_remove_plugin', sprintf(__('Could not fully remove the plugin(s) %s.'), implode(', ', $errors)) );
// Force refresh of plugin update information
if ( $current = get_site_transient('update_plugins') ) {
unset( $current->response[ $plugin_file ] );
set_site_transient('update_plugins', $current);
}
return true;
}
?>
Examples [ wp-snippets.com ]
Google Arama Sonuçlarý
- delete_plugins WordPress user capability | ShinePHP.com
Mar 17, 2012 ... Allows user to delete not active plugins. Access to the Plugins menu at administrator back-end is needed (requires activate_plugins capability).
www.shinephp.com - delete_plugins | A HitchHackers guide through WordPress
Feb 11, 2011 ... function delete_plugins($plugins, $redirect = '' ) { global $wp_filesystem; if ( empty($plugins) ) return false; $checked = array(); foreach( ...
hitchhackerguide.com - delete_themes and delete_plugins caps do not obey - WordPress Trac
delete_themes and delete_plugins caps do not obey DISALLOW_FILE_EDIT ... DISALLOW_FILE_EDIT but still wanting to be able to delete plugins/themes.
core.trac.wordpress.org - Adobe Forums: LR 4.0 can't delete plugins
Apr 15, 2012 9:02 AM. LR 4.0 can't delete plugins. I have some duplicate plugins that I no longer use and want to delete (for example, two extra versions of the ...
forums.adobe.com