*
* WordPress only supports plugin files in the base plugins directory
* (wp-content/plugins) and in one directory above the plugins directory
- * (wp-content/plugins/my-plugin). The file it looks for has the plugin data and
- * must be found in those two locations. It is recommended that do keep your
- * plugin files in directories.
+ * (wp-content/plugins/my-plugin). The file it looks for has the plugin data
+ * and must be found in those two locations. It is recommended to keep your
+ * plugin files in their own directories.
*
* The file with the plugin data is the file that will be included and therefore
* needs to have the main execution for the plugin. This does not mean
}
if ( $network_wide ) {
+ $current = get_site_option( 'active_sitewide_plugins', array() );
$current[$plugin] = time();
update_site_option( 'active_sitewide_plugins', $current );
} else {
+ $current = get_option( 'active_plugins', array() );
$current[] = $plugin;
sort($current);
update_option('active_plugins', $current);
*
* @since 2.6.0
*
+ * @global WP_Filesystem_Base $wp_filesystem
+ *
* @param array $plugins List of plugins to delete.
* @param string $deprecated Deprecated.
* @return bool|null|WP_Error True on success, false is $plugins is empty, WP_Error on failure.
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();
+ $data = ob_get_clean();
+
if ( ! empty($data) ){
include_once( ABSPATH . 'wp-admin/admin-header.php');
echo $data;
if ( ! WP_Filesystem($credentials) ) {
request_filesystem_credentials($url, '', true); //Failed to connect, Error and request again
- $data = ob_get_contents();
- ob_end_clean();
+ $data = ob_get_clean();
+
if ( ! empty($data) ){
include_once( ABSPATH . 'wp-admin/admin-header.php');
echo $data;
* @since 2.7.0
*
* @param string $plugin Relative plugin path from Plugin Directory.
+ * @return true True if a plugin's uninstall.php file has been found and included.
*/
function uninstall_plugin($plugin) {
$file = plugin_basename($plugin);
* The function which is hooked in to handle the output of the page must check
* that the user has the required capability as well.
*
+ * @global array $menu
+ * @global array $admin_page_hooks
+ * @global array $_registered_pages
+ * @global array $_parent_pages
+ *
* @param string $page_title The text to be displayed in the title tags of the page when the menu is selected
* @param string $menu_title The text to be used for the menu
* @param string $capability The capability required for this menu to be displayed to the user.
* The function which is hooked in to handle the output of the page must check
* that the user has the required capability as well.
*
+ * @global int $_wp_last_object_menu
+ *
* @param string $page_title The text to be displayed in the title tags of the page when the menu is selected
* @param string $menu_title The text to be used for the menu
* @param string $capability The capability required for this menu to be displayed to the user.
* The function which is hooked in to handle the output of the page must check
* that the user has the required capability as well.
*
+ * @global int $_wp_last_utility_menu
+ *
* @param string $page_title The text to be displayed in the title tags of the page when the menu is selected
* @param string $menu_title The text to be used for the menu
* @param string $capability The capability required for this menu to be displayed to the user.
* The function which is hooked in to handle the output of the page must check
* that the user has the required capability as well.
*
+ * @global array $submenu
+ * @global array $menu
+ * @global type $_wp_real_parent_file
+ * @global bool $_wp_submenu_nopriv
+ * @global array $_registered_pages
+ * @global array $_parent_pages
+ *
* @param string $parent_slug The slug name for the parent menu (or the file name of a standard WordPress admin page)
* @param string $page_title The text to be displayed in the title tags of the page when the menu is selected
* @param string $menu_title The text to be used for the menu
* @return false|string The resulting page's hook_suffix, or false if the user does not have the capability required.
*/
function add_submenu_page( $parent_slug, $page_title, $menu_title, $capability, $menu_slug, $function = '' ) {
- global $submenu;
- global $menu;
- global $_wp_real_parent_file;
- global $_wp_submenu_nopriv;
- global $_registered_pages;
- global $_parent_pages;
+ global $submenu, $menu, $_wp_real_parent_file, $_wp_submenu_nopriv,
+ $_registered_pages, $_parent_pages;
$menu_slug = plugin_basename( $menu_slug );
$parent_slug = plugin_basename( $parent_slug);
*
* @since 3.1.0
*
+ * @global array $menu
+ *
* @param string $menu_slug The slug of the menu
* @return array|bool The removed menu on success, False if not found
*/
*
* @since 3.1.0
*
+ * @global array $submenu
+ *
* @param string $menu_slug The slug for the parent menu
* @param string $submenu_slug The slug of the submenu
* @return array|bool The removed submenu on success, False if not found
*
* @since 3.0.0
*
+ * @global array $_parent_pages
+ *
* @param string $menu_slug The slug name to refer to this menu by (should be unique for this menu)
* @param bool $echo Whether or not to echo the url - default is true
* @return string the url
//
// Pluggable Menu Support -- Private
//
-
+/**
+ *
+ * @global string $parent_file
+ * @global array $menu
+ * @global array $submenu
+ * @global string $pagenow
+ * @global string $typenow
+ * @global string $plugin_page
+ * @global string $_wp_real_parent_file
+ * @global array $_wp_menu_nopriv
+ * @global array $_wp_submenu_nopriv
+ */
function get_admin_page_parent( $parent = '' ) {
- global $parent_file;
- global $menu;
- global $submenu;
- global $pagenow;
- global $typenow;
- global $plugin_page;
- global $_wp_real_parent_file;
- global $_wp_menu_nopriv;
- global $_wp_submenu_nopriv;
+ global $parent_file, $menu, $submenu, $pagenow, $typenow,
+ $plugin_page, $_wp_real_parent_file, $_wp_menu_nopriv, $_wp_submenu_nopriv;
if ( !empty ( $parent ) && 'admin.php' != $parent ) {
if ( isset( $_wp_real_parent_file[$parent] ) )
return '';
}
+/**
+ *
+ * @global string $title
+ * @global array $menu
+ * @global array $submenu
+ * @global string $pagenow
+ * @global string $plugin_page
+ * @global string $typenow
+ */
function get_admin_page_title() {
- global $title;
- global $menu;
- global $submenu;
- global $pagenow;
- global $plugin_page;
- global $typenow;
+ global $title, $menu, $submenu, $pagenow, $plugin_page, $typenow;
if ( ! empty ( $title ) )
return $title;
return $title;
}
+/**
+ * @since 2.3.0
+ *
+ * @param string $plugin_page
+ * @param string $parent_page
+ * @return string|null
+ */
function get_plugin_page_hook( $plugin_page, $parent_page ) {
$hook = get_plugin_page_hookname( $plugin_page, $parent_page );
if ( has_action($hook) )
return null;
}
+/**
+ *
+ * @global array $admin_page_hooks
+ * @param string $plugin_page
+ * @param string $parent_page
+ */
function get_plugin_page_hookname( $plugin_page, $parent_page ) {
global $admin_page_hooks;
return $page_type . '_page_' . $plugin_name;
}
+/**
+ *
+ * @global string $pagenow
+ * @global array $menu
+ * @global array $submenu
+ * @global array $_wp_menu_nopriv
+ * @global array $_wp_submenu_nopriv
+ * @global string $plugin_page
+ * @global array $_registered_pages
+ */
function user_can_access_admin_page() {
- global $pagenow;
- global $menu;
- global $submenu;
- global $_wp_menu_nopriv;
- global $_wp_submenu_nopriv;
- global $plugin_page;
- global $_registered_pages;
+ global $pagenow, $menu, $submenu, $_wp_menu_nopriv, $_wp_submenu_nopriv,
+ $plugin_page, $_registered_pages;
$parent = get_admin_page_parent();
*
* @since 2.7.0
*
+ * @global array $new_whitelist_options
+ *
* @param string $option_group A settings group name. Should correspond to a whitelisted option key name.
* Default whitelisted option key names include "general," "discussion," and "reading," among others.
* @param string $option_name The name of an option to sanitize and save.
*
* @since 2.7.0
*
+ * @global array $new_whitelist_options
+ *
* @param string $option_group
* @param string $option_name
* @param callable $sanitize_callback
$option_group = 'reading';
}
- $pos = array_search( $option_name, (array) $new_whitelist_options );
+ $pos = array_search( $option_name, (array) $new_whitelist_options[ $option_group ] );
if ( $pos !== false )
unset( $new_whitelist_options[ $option_group ][ $pos ] );
if ( $sanitize_callback != '' )
*
* @since 2.7.0
*
+ * @global array $new_whitelist_options
+ *
* @param array $options
* @return array
*/
return $options;
}
-add_filter( 'whitelist_options', 'option_update_filter' );
/**
* {@internal Missing Short Description}}
*
* @since 2.7.0
*
+ * @global array $whitelist_options
+ *
* @param array $new_options
* @param string|array $options
* @return array
*
* @since 2.7.0
*
+ * @global array $whitelist_options
+ *
* @param array $del_options
* @param string|array $options
* @return array