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-smaller-components.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-smaller-components.php
243 lines
1 <?php
2
3 namespace ASENHA\Classes;
4
5 /**
6 * Class for Disable Smaller Components module
7 *
8 * @since 6.9.5
9 */
10 class Disable_Smaller_Components {
11
12 /**
13 * Remove version number from URLs of static resources (CSS, JS)
14 *
15 * @since 5.8.0
16 */
17 public function remove_resource_version_number( $src ) {
18 if ( ! is_user_logged_in() ) {
19 // https://wordpress.org/support/topic/disable-smaller-components-version-can-be-hidden/
20 if ( strpos( $src, 'ver=' ) ) {
21 $src = remove_query_arg( 'ver', $src );
22 }
23 }
24 return $src;
25 }
26
27 /**
28 * Remove generator tag from RSS feed
29 *
30 * @since 7.3.3
31 */
32 public function remove_feed_generator_tag( $generator_type, $type ) {
33 // e.g. <generator>https://wordpress.org/?v=6.6.1</generator>
34 if ( false !== strpos( $generator_type, '<generator>https://wordpress.org/?v=' ) ) {
35 return '';
36 }
37 }
38
39 /**
40 * Disable loading of frontend public assets of dashicons
41 *
42 * @since 4.5.0
43 */
44 public function disable_dashicons_public_assets() {
45 global $pagenow;
46 if ( ! is_user_logged_in() ) {
47
48 // This will get /path/file.php?param=val portion of the full URL
49 $current_request_uri = sanitize_text_field( $_SERVER['REQUEST_URI'] );
50
51 if ( empty( $current_request_uri ) ) {
52 // On the homepage
53 wp_dequeue_style( 'dashicons' );
54 wp_deregister_style( 'dashicons' );
55 } else {
56 // Exclude the login page, where dashicon assets are requred to properly style the page
57 if ( false !== strpos( $current_request_uri, 'wp-login.php' ) || 'wp-login.php' === $pagenow ) {
58 // On wp-login.php, so, do nothing
59 }
60 // Exclude password protection form
61 elseif ( false !== strpos( $current_request_uri, 'protected-page=view' ) ) {
62 // On protected-page=view, so, do nothing
63 }
64 else {
65 // NOT on wp-login.php, e.g. www.example.com/an-article/, so, dequeue dashicons
66 wp_dequeue_style( 'dashicons' );
67 wp_deregister_style( 'dashicons' );
68 }
69 }
70 }
71 }
72
73 /**
74 * Disable emoji support
75 *
76 * @since 4.5.0
77 */
78 public function disable_emoji_support() {
79
80 remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
81 remove_action( 'embed_head', 'print_emoji_detection_script' );
82 remove_action( 'wp_print_styles', 'print_emoji_styles' );
83 remove_filter( 'the_content_feed', 'wp_staticize_emoji' );
84 remove_filter( 'comment_text_rss', 'wp_staticize_emoji' );
85 remove_filter( 'wp_mail', 'wp_staticize_emoji_for_email' );
86 add_action( 'admin_init', [ $this, 'disable_admin_emojis' ] );
87 add_filter( 'emoji_svg_url', '__return_false' );
88 add_filter( 'tiny_mce_plugins', [ $this, 'disable_emoji_for_tinymce' ] );
89 add_filter( 'wp_resource_hints', [ $this, 'disable_emoji_remove_dns_prefetch' ], 10, 2 );
90 add_filter( 'option_use_smilies', '__return_false' );
91
92 }
93
94 /**
95 * Disable jQuery Migrate
96 *
97 * @since 5.8.0
98 * @link https://plugins.trac.wordpress.org/browser/remove-jquery-migrate/trunk/remove-jquery-migrate.php
99 * @param WP_Scripts $scripts WP_Scripts object.
100 */
101 public function disable_jquery_migrate( $scripts ) {
102 if ( ! is_admin() && isset( $scripts->registered['jquery'] ) ) {
103 $script = $scripts->registered['jquery'];
104
105 if ( ! empty( $script->deps ) ) { // Check whether the script has any dependencies
106 $script->deps = array_diff( $script->deps, array( 'jquery-migrate' ) );
107 }
108 }
109 }
110
111 /**
112 * Remove the tinymce emoji plugin
113 *
114 * @since 4.5.0
115 */
116 public function disable_emoji_for_tinymce( $plugins ) {
117
118 if ( is_array( $plugins ) ) {
119 return array_diff( $plugins, array( 'wpemoji' ) );
120 }
121
122 return array();
123
124 }
125
126 /**
127 * Remove emoji CDN hostname from DNS prefetching hints.
128 *
129 * @since 4.5.0
130 */
131 public function disable_emoji_remove_dns_prefetch( $urls, $relation_type ) {
132
133 if ( 'dns-prefetch' == $relation_type ) {
134
135 // Strip out any URLs referencing the WordPress.org emoji location
136 $emoji_svg_url_base = 'https://s.w.org/images/core/emoji/';
137 foreach ( $urls as $key => $url ) {
138 if ( is_string( $url ) && false !== strpos( $url, $emoji_svg_url_base ) ) {
139 unset( $urls[$key] );
140 }
141 }
142
143 }
144
145 return $urls;
146
147 }
148
149 /**
150 * Disable emojis in wp-admin
151 *
152 * @since 4.7.2
153 */
154 public function disable_admin_emojis() {
155 remove_action( 'admin_print_scripts', 'print_emoji_detection_script' );
156 remove_action( 'admin_print_styles', 'print_emoji_styles' );
157 }
158
159 /**
160 * Add loading="eager" attribute for featured images
161 *
162 * @link https://plugins.trac.wordpress.org/browser/disable-lazy-loading/tags/2.1/disable-lazy-loading.php
163 * @since 7.3.0
164 */
165 public function eager_load_featured_images( $attr, $attachment = null ) {
166 $attr['loading'] = 'eager';
167 return $attr;
168 }
169
170 /**
171 * Disable plugin and theme editor
172 *
173 * @since 7.4.5
174 */
175 public function disable_plugin_theme_editor() {
176 if ( wp_doing_ajax() || wp_doing_cron() ) {
177 return;
178 }
179
180 if ( ! current_user_can( 'manage_options' ) ) {
181 return;
182 }
183
184 $wp_config = new WP_Config_Transformer;
185
186 if ( ! defined( 'DISALLOW_FILE_EDIT' ) ) {
187 define( 'DISALLOW_FILE_EDIT', true );
188 } else {
189 $is_wpconfig_writeable = $wp_config->wpconfig_file( 'writeability' );
190
191 if ( $is_wpconfig_writeable ) {
192 $disallow_file_edit = $wp_config->get_value( 'constant', 'DISALLOW_FILE_EDIT' );
193
194 if ( 'false' == $disallow_file_edit ) {
195 $wp_config_options = array(
196 'add' => true, // Add the config if missing.
197 'raw' => true, // Display value in raw format without quotes.
198 'normalize' => false, // Normalize config output using WP Coding Standards.
199 );
200
201 $update_success = $wp_config->update( 'constant', 'DISALLOW_FILE_EDIT', 'true', $wp_config_options );
202 }
203 }
204 }
205 }
206
207 /**
208 * Enable plugin and theme editor
209 *
210 * @since 7.4.5
211 */
212 public function enable_plugin_theme_editor() {
213 if ( wp_doing_ajax() || wp_doing_cron() ) {
214 return;
215 }
216
217 if ( ! current_user_can( 'manage_options' ) ) {
218 return;
219 }
220
221 $wp_config = new WP_Config_Transformer;
222
223 if ( ! defined( 'DISALLOW_FILE_EDIT' ) ) {
224 define( 'DISALLOW_FILE_EDIT', false );
225 } else {
226 $is_wpconfig_writeable = $wp_config->wpconfig_file( 'writeability' );
227
228 if ( $is_wpconfig_writeable ) {
229 $disallow_file_edit = $wp_config->get_value( 'constant', 'DISALLOW_FILE_EDIT' );
230
231 if ( 'true' == $disallow_file_edit ) {
232 $wp_config_options = array(
233 'add' => true, // Add the config if missing.
234 'raw' => true, // Display value in raw format without quotes.
235 'normalize' => false, // Normalize config output using WP Coding Standards.
236 );
237
238 $update_success = $wp_config->update( 'constant', 'DISALLOW_FILE_EDIT', 'false', $wp_config_options );
239 }
240 }
241 }
242 }
243 }