83
wp-content/plugins/disable-emojis/disable-emojis.php
Executable file
83
wp-content/plugins/disable-emojis/disable-emojis.php
Executable file
@@ -0,0 +1,83 @@
|
||||
<?php
|
||||
/*
|
||||
Plugin Name: Disable Emojis (GDPR friendly)
|
||||
Plugin URI: https://geek.hellyer.kiwi/plugins/disable-emojis/
|
||||
Description: Disable Emojis (GDPR friendly)
|
||||
Version: 1.7.2
|
||||
Author: Ryan Hellyer
|
||||
Author URI: https://geek.hellyer.kiwi/
|
||||
License: GPL2
|
||||
|
||||
------------------------------------------------------------------------
|
||||
Copyright Ryan Hellyer
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
* Disable the emoji's
|
||||
*/
|
||||
function disable_emojis() {
|
||||
remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
|
||||
remove_action( 'admin_print_scripts', 'print_emoji_detection_script' );
|
||||
remove_action( 'wp_print_styles', 'print_emoji_styles' );
|
||||
remove_action( 'admin_print_styles', 'print_emoji_styles' );
|
||||
remove_filter( 'the_content_feed', 'wp_staticize_emoji' );
|
||||
remove_filter( 'comment_text_rss', 'wp_staticize_emoji' );
|
||||
remove_filter( 'wp_mail', 'wp_staticize_emoji_for_email' );
|
||||
add_filter( 'tiny_mce_plugins', 'disable_emojis_tinymce' );
|
||||
add_filter( 'wp_resource_hints', 'disable_emojis_remove_dns_prefetch', 10, 2 );
|
||||
}
|
||||
add_action( 'init', 'disable_emojis' );
|
||||
|
||||
/**
|
||||
* Filter function used to remove the tinymce emoji plugin.
|
||||
*
|
||||
* @param array $plugins
|
||||
* @return array Difference betwen the two arrays
|
||||
*/
|
||||
function disable_emojis_tinymce( $plugins ) {
|
||||
if ( is_array( $plugins ) ) {
|
||||
return array_diff( $plugins, array( 'wpemoji' ) );
|
||||
}
|
||||
|
||||
return array();
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove emoji CDN hostname from DNS prefetching hints.
|
||||
*
|
||||
* @param array $urls URLs to print for resource hints.
|
||||
* @param string $relation_type The relation type the URLs are printed for.
|
||||
* @return array Difference betwen the two arrays.
|
||||
*/
|
||||
function disable_emojis_remove_dns_prefetch( $urls, $relation_type ) {
|
||||
|
||||
if ( 'dns-prefetch' == $relation_type ) {
|
||||
|
||||
// Strip out any URLs referencing the WordPress.org emoji location
|
||||
$emoji_svg_url_bit = 'https://s.w.org/images/core/emoji/';
|
||||
foreach ( $urls as $key => $url ) {
|
||||
if ( strpos( $url, $emoji_svg_url_bit ) !== false ) {
|
||||
unset( $urls[$key] );
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return $urls;
|
||||
}
|
||||
Reference in New Issue
Block a user