PluginProbe ʕ •ᴥ•ʔ
Admin and Site Enhancements (ASE) / 8.2.2
Admin and Site Enhancements (ASE) v8.2.2
9.1.0 9.0.2 9.0.1 9.0.0 8.9.2 8.9.1 8.9.0 8.8.8 8.8.7 8.8.6 8.8.5 8.8.4 8.8.3 8.8.2 8.8.1 8.8.0 8.7.3 8.7.2 8.7.1 8.2.1 8.2.2 8.2.3 8.3.0 8.3.1 8.3.2 8.4.0 8.4.1 8.4.2 8.5.0 8.5.1 8.5.2 8.6.0 8.6.1 8.6.2 8.7.0 5.0.1 5.0.2 5.0.2.1 5.0.2.2 5.0.2.3 5.0.2.4 5.1.0 5.2.0 5.2.1 5.2.10 5.2.11 5.2.2 5.2.3 5.2.4 5.2.5 5.2.6 5.2.7 5.2.8 5.2.9 5.3.0 5.3.1 5.3.2 5.4.0 5.4.1 5.5.0 5.5.1 5.5.2 5.6.0 5.6.1 5.6.2 5.7.0 5.7.1 5.8.0 5.8.1 6.0.0 6.0.3 6.0.4 6.0.5 6.0.5.1 6.0.6 6.0.7 6.0.8.1 6.1.0 6.1.3 6.2.0 6.2.1 6.2.2 6.2.3 6.2.4 6.2.5 6.2.6 6.2.7 6.3.0 6.3.1 6.3.2 6.4.0 6.5.0 6.5.1 6.6.0 6.7.0 6.8.0 6.8.2 6.8.3 6.9.0 6.9.1 6.9.10 6.9.11 6.9.12 6.9.13.1 6.9.13.2 6.9.2 6.9.3 6.9.4 6.9.5 6.9.6 6.9.7 6.9.8 6.9.9 7.0.0 7.0.2 7.0.2.1 7.0.2.2 7.0.2.3 7.0.3 7.1.0 7.1.1 7.1.2 7.1.3 7.1.4 7.1.5 7.2.0 7.2.1 7.3.0 7.3.1 7.3.2 7.3.3 7.4.0 7.4.2 7.4.4 7.4.5 7.4.6 7.4.7 7.4.8 7.5.0 7.5.1 7.5.2 7.5.3 7.5.4 7.6.0 7.6.1 7.6.1.1 7.6.10 7.6.11 7.6.2 7.6.3 7.6.4 7.6.5 7.6.6 7.6.7 7.6.7.1 7.6.8 7.6.9 7.7.0 7.8.0 7.8.1 7.8.10 7.8.11 7.8.12 7.8.13 7.8.14 7.8.15 7.8.16 7.8.17 7.8.18 7.8.2 7.8.3 7.8.4 7.8.5 7.8.5.1 7.8.6 7.8.7 7.8.8 7.8.9 7.9.0 7.9.1 7.9.10 7.9.11 7.9.2 7.9.3 7.9.4 7.9.5 7.9.6 7.9.7 7.9.8 7.9.9 8.0.0 8.0.1 8.0.2 8.0.3 8.0.4 8.0.5 8.0.6 8.0.7 8.0.8 8.1.0 8.1.1 8.1.2 8.1.3 8.1.4 8.2.0 trunk 1.0.0 1.1.0 1.2.0 1.3.0 1.4.0 1.5.0 1.6.0 1.7.0 1.8.0 1.9.0 2.0.0 2.1.0 2.2.0 2.3.0 2.4.0 2.5.0 2.6.0 2.7.0 2.8.0 2.8.1 2.8.2 2.8.3 2.9.0 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.1.0 3.2.0 3.3.0 3.4.0 3.5.0 3.6.1 3.7.0 3.8.0 3.9.0 3.9.1 3.9.2 4.0.0 4.0.1 4.1.0 4.2.0 4.2.1 4.2.2 4.3.0 4.3.1 4.4.0 4.5.0 4.6.0 4.7.0 4.7.1 4.7.2 4.7.3 4.7.4 4.8.0 4.8.1 4.8.2 4.8.3 4.9.0 4.9.1 4.9.2 4.9.3 5.0.0
admin-site-enhancements / classes / class-disable-dashboard-widgets.php
admin-site-enhancements / classes Last commit date
class-activation.php 7 months ago class-admin-menu-organizer.php 7 months ago class-admin-menu-svg-icon-mask.php 7 months ago class-auto-publish-posts-with-missed-schedule.php 7 months ago class-avif-upload.php 7 months ago class-captcha-protection.php 7 months ago class-change-login-url.php 7 months ago class-cleanup-admin-bar.php 7 months ago class-common-methods.php 7 months ago class-content-duplication.php 7 months ago class-content-order.php 7 months ago class-custom-admin-footer-text.php 7 months ago class-custom-body-class.php 7 months ago class-custom-css.php 7 months ago class-custom-nav-menu-items-in-new-tab.php 7 months ago class-deactivation.php 7 months ago class-disable-author-archives.php 7 months ago class-disable-comments.php 7 months ago class-disable-dashboard-widgets.php 7 months ago class-disable-embeds.php 7 months ago class-disable-feeds.php 7 months ago class-disable-gutenberg.php 7 months ago class-disable-rest-api.php 7 months ago class-disable-smaller-components.php 7 months ago class-disable-updates.php 7 months ago class-disable-xml-rpc.php 7 months ago class-display-system-summary.php 7 months ago class-email-address-obfuscator.php 7 months ago class-email-delivery.php 7 months ago class-enhance-list-tables.php 7 months ago class-external-permalinks.php 7 months ago class-heartbeat-control.php 7 months ago class-hide-admin-bar.php 7 months ago class-hide-admin-notices.php 7 months ago class-image-sizes-panel.php 7 months ago class-image-upload-control.php 7 months ago class-insert-head-body-footer-code.php 7 months ago class-last-login-column.php 7 months ago class-limit-login-attempts.php 7 months ago class-login-id-type.php 7 months ago class-login-logout-menu.php 7 months ago class-maintenance-mode.php 7 months ago class-manage-ads-appads-txt.php 7 months ago class-manage-robots-txt.php 7 months ago class-media-replacement.php 7 months ago class-multiple-user-roles.php 7 months ago class-obfuscate-author-slugs.php 7 months ago class-open-external-links-in-new-tab.php 7 months ago class-password-protection.php 7 months ago class-redirect-after-login.php 7 months ago class-redirect-after-logout.php 7 months ago class-redirect-fourofour.php 7 months ago class-registration-date-column.php 7 months ago class-revisions-control.php 7 months ago class-search-engines-visibility.php 7 months ago class-settings-fields-render.php 7 months ago class-settings-sanitization.php 7 months ago class-settings-sections-fields.php 7 months ago class-show-custom-taxonomy-filters.php 7 months ago class-site-identity-on-login-page.php 7 months ago class-svg-upload.php 7 months ago class-various-admin-ui-enhancements.php 7 months ago class-view-admin-as-role.php 7 months ago class-wider-admin-menu.php 7 months ago class-wp-config-transformer.php 7 months ago
class-disable-dashboard-widgets.php
108 lines
1 <?php
2
3 namespace ASENHA\Classes;
4
5 /**
6 * Class for Disable Dashboard Widgets module
7 *
8 * @since 6.9.5
9 */
10 class Disable_Dashboard_Widgets {
11
12 /**
13 * Disable dashboard widgets
14 *
15 * @since 4.2.0
16 */
17 public function disable_dashboard_widgets() {
18
19 global $wp_meta_boxes;
20
21 // Get list of disabled widgets
22 $options = get_option( ASENHA_SLUG_U, array() );
23 $disabled_dashboard_widgets = isset( $options['disabled_dashboard_widgets'] ) ? $options['disabled_dashboard_widgets'] : array();
24
25 // Store default widgets in extra options. This will be referenced from settings field.
26 $dashboard_widgets = $this->get_dashboard_widgets();
27 $options_extra = get_option( ASENHA_SLUG_U . '_extra', array() );
28 $options_extra['dashboard_widgets'] = $dashboard_widgets;
29 update_option( ASENHA_SLUG_U . '_extra', $options_extra, true );
30
31 // Disable widgets
32 if ( is_array( $disabled_dashboard_widgets ) || is_object( $disabled_dashboard_widgets ) ) {
33 if ( ! empty( $disabled_dashboard_widgets ) ) {
34 foreach( $disabled_dashboard_widgets as $disabled_widget_id_context_priority => $is_disabled ) {
35 // e.g. dashboard_activity__normal__core => true/false
36 if ( $is_disabled ) {
37 $disabled_widget = explode('__', $disabled_widget_id_context_priority);
38 $widget_id = $disabled_widget[0];
39 $widget_context = $disabled_widget[1];
40 $widget_priority = $disabled_widget[2];
41 // remove_meta_box( $widget_id, get_current_screen()->base, $widget_context );
42 unset( $wp_meta_boxes['dashboard'][$widget_context][$widget_priority][$widget_id] );
43 }
44 }
45 }
46 }
47
48 }
49
50 /**
51 * Get dashboard widgets
52 *
53 * @since 4.2.0
54 */
55 public function get_dashboard_widgets() {
56
57 global $wp_meta_boxes;
58
59 $dashboard_widgets = array();
60
61 if ( ! isset( $wp_meta_boxes['dashboard'] ) ) {
62 $options_extra = get_option( ASENHA_SLUG_U . '_extra', array() );
63 if ( ! array_key_exists( 'dashboard_widgets', $options_extra ) ) {
64 require_once ABSPATH . '/wp-admin/includes/dashboard.php';
65 set_current_screen( 'dashboard' );
66 wp_dashboard_setup();
67 }
68 }
69
70 if ( isset( $wp_meta_boxes['dashboard'] ) ) {
71 foreach( $wp_meta_boxes['dashboard'] as $context => $priorities ) {
72 foreach ( $priorities as $priority => $widgets ) {
73 foreach( $widgets as $widget_id => $data ) {
74 $widget_title = ( isset( $data['title'] ) ) ? wp_strip_all_tags( preg_replace( '/ <span.*span>/im', '', $data['title'] ) ) : 'Undetectable';
75 $dashboard_widgets[$widget_id] = array(
76 'id' => $widget_id,
77 'title' => $widget_title,
78 'context' => $context, // 'normal' or 'side'
79 'priority' => $priority, // 'core'
80 );
81 }
82 }
83 }
84 }
85
86 $dashboard_widgets = wp_list_sort( $dashboard_widgets, 'title', 'ASC', true );
87
88 return $dashboard_widgets;
89
90 }
91
92 /**
93 * Maybe remove welcome panel from dashboard
94 *
95 * @since 6.9.10
96 */
97 public function maybe_remove_welcome_panel() {
98
99 $options = get_option( ASENHA_SLUG_U, array() );
100 $disable_welcome_panel = isset( $options['disable_welcome_panel_in_dashboard'] ) ? $options['disable_welcome_panel_in_dashboard'] : false;
101
102 if ( $disable_welcome_panel ) {
103 remove_action( 'welcome_panel', 'wp_welcome_panel' );
104 }
105
106 }
107
108 }