Changeset 2952621
- Timestamp:
- 08/12/2023 11:26:54 AM (2 years ago)
- Location:
- wp-emoji-sanitizer
- Files:
-
- 4 edited
-
assets/banner-772x250-rtl.jpg (modified) (previous)
-
assets/banner-772x250.jpg (modified) (previous)
-
trunk/readme.txt (modified) (3 diffs)
-
trunk/wp-emoji-sanitizer.php (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
wp-emoji-sanitizer/trunk/readme.txt
r2951966 r2952621 5 5 Tested up to: 6.3 6 6 Requires PHP: 5.6 7 Stable tag: 2. 07 Stable tag: 2.1 8 8 License: GPLv2 or later 9 9 Donate link: https://www.isrgrajan.com/donate … … 19 19 2. Remove Emoji wp-include/js/emoji.js from admin-dashboard and wp-head 20 20 3. Clears emoji <javascript> lines from wp-head 21 21 22 == Installation == 22 23 * Download wp-emoji-sanitizer.zip from https://downloads.wordpress.org/plugin/wp-emoji-sanitizer.zip … … 28 29 29 30 == Changelog == 31 = 2.1 = 32 * Added options to disable emoji detection script, styles, static emojis, TinyMCE emojis, and DNS prefetch. 33 * Improved performance and code structure. 34 30 35 = 2.0 = 31 36 * Added settings option to enable and disable functions -
wp-emoji-sanitizer/trunk/wp-emoji-sanitizer.php
r2951966 r2952621 4 4 * Plugin URI: https://wordpress.org/plugins/wp-emoji-sanitizer/ 5 5 * Description: WordPress Emoji Remover & Sanitizer help you to disable and remove the in-built WordPress Emoji feature by clearing the JavaScript and CSS from the wp-head 6 * Version: 2. 06 * Version: 2.1 7 7 * Author: PrajnaBytes 8 8 * Author URI: https://www.prajnabytes.com/ … … 14 14 */ 15 15 16 if (!function_exists('disable_wpemojisanitizer')) { 17 function disable_wpemojisanitizer() { 18 // Check if option to disable emoji support is set to true 16 class WP_Emoji_Sanitizer_Plugin { 17 18 public function __construct() { 19 add_action('init', array($this, 'disable_wpemojisanitizer')); 20 21 add_filter('tiny_mce_plugins', array($this, 'wpemojisanitizer_disable_emojis_support_in_tinymce')); 22 23 add_filter('wp_resource_hints', array($this, 'wpemojisanitizer_disable_emojis_remove_dns_prefetch'), 10, 2); 24 25 add_action('admin_menu', array($this, 'wpemojisanitizer_add_settings_page')); 26 27 add_action('admin_init', array($this, 'wpemojisanitizer_register_settings')); 28 29 register_activation_hook(__FILE__, array($this, 'wpemojisanitizer_activate')); 30 register_uninstall_hook(__FILE__, array($this, 'wpemojisanitizer_uninstall')); 31 } 32 33 public function disable_wpemojisanitizer() { 19 34 if (get_option('wpemojisanitizer_disable_emoji_support', true)) { 20 35 remove_action('wp_head', 'print_emoji_detection_script', 7); … … 27 42 } 28 43 } 29 }30 add_action('init', 'disable_wpemojisanitizer');31 44 32 if (!function_exists('wpemojisanitizer_disable_emojis_support_in_tinymce')) { 33 function wpemojisanitizer_disable_emojis_support_in_tinymce($plugins) { 45 public function wpemojisanitizer_disable_emojis_support_in_tinymce($plugins) { 34 46 if (is_array($plugins)) { 35 47 return array_diff($plugins, array('wpemoji')); … … 38 50 } 39 51 } 40 }41 add_filter('tiny_mce_plugins', 'wpemojisanitizer_disable_emojis_support_in_tinymce');42 52 43 if (!function_exists('wpemojisanitizer_disable_emojis_remove_dns_prefetch')) { 44 function wpemojisanitizer_disable_emojis_remove_dns_prefetch($urls, $relation_type) { 45 // Check if option to remove DNS prefetch for emojis is set to true 53 public function wpemojisanitizer_disable_emojis_remove_dns_prefetch($urls, $relation_type) { 46 54 if (get_option('wpemojisanitizer_disable_emoji_dns_prefetch', true)) { 47 55 if ('dns-prefetch' === $relation_type) { … … 52 60 return $urls; 53 61 } 54 }55 add_filter('wp_resource_hints', 'wpemojisanitizer_disable_emojis_remove_dns_prefetch', 10, 2);56 62 57 // Add settings page to the admin menu 58 add_action('admin_menu', 'wpemojisanitizer_add_settings_page'); 63 public function wpemojisanitizer_add_settings_page() { 64 add_options_page( 65 __('Emoji Sanitizer Settings', 'wpemojisanitizer'), 66 __('Emoji Sanitizer', 'wpemojisanitizer'), 67 'manage_options', 68 'wpemojisanitizer_settings', 69 array($this, 'wpemojisanitizer_settings_page_callback') 70 ); 71 } 59 72 60 // Define settings page callback 61 function wpemojisanitizer_settings_page_callback() { 62 // Get options from the database 63 $options = get_option('wpemojisanitizer_options'); 64 ?> 65 <div class="wrap"> 66 <h1><?php echo esc_html(get_admin_page_title()); ?></h1> 67 <form method="post" action="options.php"> 68 <?php settings_fields('wpemojisanitizer_options_group'); ?> 69 <table class="form-table"> 70 <tbody> 71 <tr> 72 <th scope="row"><?php _e('Disable Emoji Detection Script', 'wpemojisanitizer'); ?></th> 73 <td> 74 <input type="checkbox" name="wpemojisanitizer_options[disable_detection_script]" <?php checked($options['disable_detection_script']); ?>> 75 </td> 76 </tr> 77 <tr> 78 <th scope="row"><?php _e('Disable Emoji Styles', 'wpemojisanitizer'); ?></th> 79 <td> 80 <input type="checkbox" name="wpemojisanitizer_options[disable_styles]" <?php checked($options['disable_styles']); ?>> 81 </td> 82 </tr> 83 <tr> 84 <th scope="row"><?php _e('Disable Static Emoji', 'wpemojisanitizer'); ?></th> 85 <td> 86 <input type="checkbox" name="wpemojisanitizer_options[disable_static_emoji]" <?php checked($options['disable_static_emoji']); ?>> 87 </td> 88 </tr> 89 <tr> 90 <th scope="row"><?php _e('Disable TinyMCE Emoji', 'wpemojisanitizer'); ?></th> 91 <td> 92 <input type="checkbox" name="wpemojisanitizer_options[disable_tinymce_emoji]" <?php checked($options['disable_tinymce_emoji']); ?>> 93 </td> 94 </tr> 95 <tr> 96 <th scope="row"><?php _e('Disable DNS Prefetch', 'wpemojisanitizer'); ?></th> 97 <td> 98 <input type="checkbox" name="wpemojisanitizer_options[disable_dns_prefetch]" <?php checked($options['disable_dns_prefetch']); ?>> 99 </td> 100 </tr> 101 </tbody> 102 </table> 103 <?php submit_button(); ?> 104 </form> 105 </div> 106 <?php 73 public function wpemojisanitizer_settings_page_callback() { 74 $options = get_option('wpemojisanitizer_options'); 75 ?> 76 <div class="wrap"> 77 <h1><?php echo esc_html(get_admin_page_title()); ?></h1> 78 <form method="post" action="options.php"> 79 <?php settings_fields('wpemojisanitizer_options_group'); ?> 80 <table class="form-table"> 81 <tbody> 82 <tr> 83 <th scope="row"><?php _e('Disable Emoji Detection Script', 'wpemojisanitizer'); ?></th> 84 <td> 85 <input type="checkbox" name="wpemojisanitizer_options[disable_detection_script]" <?php checked($options['disable_detection_script']); ?>> 86 </td> 87 </tr> 88 <tr> 89 <th scope="row"><?php _e('Disable Emoji Styles', 'wpemojisanitizer'); ?></th> 90 <td> 91 <input type="checkbox" name="wpemojisanitizer_options[disable_styles]" <?php checked($options['disable_styles']); ?>> 92 </td> 93 </tr> 94 <tr> 95 <th scope="row"><?php _e('Disable Static Emoji', 'wpemojisanitizer'); ?></th> 96 <td> 97 <input type="checkbox" name="wpemojisanitizer_options[disable_static_emoji]" <?php checked($options['disable_static_emoji']); ?>> 98 </td> 99 </tr> 100 <tr> 101 <th scope="row"><?php _e('Disable TinyMCE Emoji', 'wpemojisanitizer'); ?></th> 102 <td> 103 <input type="checkbox" name="wpemojisanitizer_options[disable_tinymce_emoji]" <?php checked($options['disable_tinymce_emoji']); ?>> 104 </td> 105 </tr> 106 <tr> 107 <th scope="row"><?php _e('Disable DNS Prefetch', 'wpemojisanitizer'); ?></th> 108 <td> 109 <input type="checkbox" name="wpemojisanitizer_options[disable_dns_prefetch]" <?php checked($options['disable_dns_prefetch']); ?>> 110 </td> 111 </tr> 112 </tbody> 113 </table> 114 <?php submit_button(); ?> 115 </form> 116 </div> 117 <?php 118 } 119 120 public function wpemojisanitizer_register_settings() { 121 register_setting( 122 'wpemojisanitizer_options_group', 123 'wpemojisanitizer_options' 124 ); 125 } 126 127 public function wpemojisanitizer_activate() { 128 add_option('wpemojisanitizer_options', array( 129 'disable_detection_script' => true, 130 'disable_styles' => true, 131 'disable_static_emoji' => true, 132 'disable_tinymce_emoji' => true, 133 'disable_dns_prefetch' => true 134 )); 135 } 136 137 public function wpemojisanitizer_uninstall() { 138 delete_option('wpemojisanitizer_options'); 139 } 107 140 } 108 141 109 // Register settings page 110 function wpemojisanitizer_add_settings_page() { 111 add_options_page( 112 __('Emoji Sanitizer Settings', 'wpemojisanitizer'), 113 __('Emoji Sanitizer', 'wpemojisanitizer'), 114 'manage_options', 115 'wpemojisanitizer_settings', 116 'wpemojisanitizer_settings_page_callback' 117 ); 118 } 119 120 // Register settings 121 function wpemojisanitizer_register_settings() { 122 register_setting( 123 'wpemojisanitizer_options_group', 124 'wpemojisanitizer_options' 125 ); 126 } 127 add_action('admin_init', 'wpemojisanitizer_register_settings'); 128 129 // Register activation and uninstall hooks 130 register_activation_hook(__FILE__, 'wpemojisanitizer_activate'); 131 register_uninstall_hook(__FILE__, 'wpemojisanitizer_uninstall'); 132 133 // Define activation hook 134 function wpemojisanitizer_activate() { 135 // Set default options on activation 136 add_option('wpemojisanitizer_options', array( 137 'disable_detection_script' => true, 138 'disable_styles' => true, 139 'disable_static_emoji' => true, 140 'disable_tinymce_emoji' => true, 141 'disable_dns_prefetch' => true 142 )); 143 } 144 145 // Define uninstall hook 146 function wpemojisanitizer_uninstall() { 147 // Remove options on uninstall 148 delete_option('wpemojisanitizer_options'); 149 } 142 $emoji_sanitizer_plugin = new WP_Emoji_Sanitizer_Plugin();
Note: See TracChangeset
for help on using the changeset viewer.