Last active
September 5, 2020 14:52
-
-
Save luizlopescom/578a1a37668fadf1b87c2ab8f47e0811 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* Add security and performance enhancements | |
* | |
*/ | |
// Exit if accessed directly. | |
defined( 'ABSPATH' ) || exit; | |
// remove version from head | |
remove_action('wp_head', 'wp_generator'); | |
// remove version from rss | |
add_filter('the_generator', '__return_empty_string'); | |
// remove version from scripts and styles | |
function branode_remove_version_scripts_styles($src) { | |
if (strpos($src, 'ver=')) { | |
$src = remove_query_arg('ver', $src); | |
} | |
return $src; | |
} | |
add_filter('style_loader_src', 'branode_remove_version_scripts_styles', 9999); | |
add_filter('script_loader_src', 'branode_remove_version_scripts_styles', 9999); | |
//Remove Dashicons for not logged in users | |
add_action( 'wp_print_styles', 'dashicons_dequeue_styles' ); | |
function dashicons_dequeue_styles() { | |
if ( ! is_user_logged_in() ) { | |
wp_dequeue_style( 'dashicons' ); | |
wp_deregister_style( 'dashicons' ); | |
} | |
} | |
/** | |
* 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' ) ); | |
} else { | |
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 ) { | |
/** This filter is documented in wp-includes/formatting.php */ | |
$emoji_svg_url = apply_filters( 'emoji_svg_url', 'https://s.w.org/images/core/emoji/2/svg/' ); | |
$urls = array_diff( $urls, array( $emoji_svg_url ) ); | |
} | |
return $urls; | |
} | |
/** | |
* WordPress Fail Login return 401 | |
* | |
* Useful in use with a login failure daemon like Fail2ban or CSF | |
*/ | |
function branode_login_failed_401() { | |
status_header( 401 ); | |
} | |
add_action( 'wp_login_failed', 'branode_login_failed_401' ); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment