Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save bstonedev/3df7d72c00a9675e05372e53d700b965 to your computer and use it in GitHub Desktop.
Save bstonedev/3df7d72c00a9675e05372e53d700b965 to your computer and use it in GitHub Desktop.
code snippets for functions.php to increase performance
<?php
/**
* Disable jQuery Migrate in WordPress.
*
*/
function crave_remove_jquery_migrate( &$scripts) {
if(!is_admin()) {
$scripts->remove('jquery');
}
}
add_action( 'wp_default_scripts', 'crave_remove_jquery_migrate' );
/**
* Function to defer all scripts which are not excluded
*/
function crave_js_defer_attr($tag) {
if (is_admin()) {
return $tag;
}
// Do not add defer attribute to these scripts
$scripts_to_exclude = array('jquery.js'); // add a string of js file e.g. script.js
foreach($scripts_to_exclude as $exclude_script) {
if (true == strpos($tag, $exclude_script ) )
return $tag;
}
// Defer all remaining scripts not excluded above
return str_replace( ' src', ' async src', $tag );
}
add_filter( 'script_loader_tag', 'crave_js_defer_attr', 10);
/**
* Remove junk from head
*/
// remove WordPress version number
function crave_remove_version() {
return '';
}
add_filter('the_generator', 'crave_remove_version');
remove_action('wp_head', 'wp_generator');
remove_action('wp_head', 'rsd_link'); // remove really simple discovery (RSD) link
remove_action('wp_head', 'wlwmanifest_link'); // remove wlwmanifest.xml (needed to support windows live writer)
remove_action('wp_head', 'feed_links', 2); // remove rss feed links (if you don't use rss)
remove_action('wp_head', 'feed_links_extra', 3); // removes all extra rss feed links
remove_action('wp_head', 'index_rel_link'); // remove link to index page
remove_action('wp_head', 'start_post_rel_link', 10, 0); // remove random post link
remove_action('wp_head', 'parent_post_rel_link', 10, 0); // remove parent post link
remove_action('wp_head', 'adjacent_posts_rel_link', 10, 0); // remove the next and previous post links
remove_action('wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0 );
remove_action('wp_head', 'wp_shortlink_wp_head', 10, 0 ); // remove shortlink
/**
* Disable embeds
*/
function crave_disable_embeds() {
// Remove the REST API endpoint.
remove_action( 'rest_api_init', 'wp_oembed_register_route' );
// Turn off oEmbed auto discovery.
add_filter( 'embed_oembed_discover', '__return_false' );
// Don't filter oEmbed results.
remove_filter( 'oembed_dataparse', 'wp_filter_oembed_result', 10 );
// Remove oEmbed discovery links.
remove_action( 'wp_head', 'wp_oembed_add_discovery_links' );
// Remove oEmbed-specific JavaScript from the front-end and back-end.
remove_action( 'wp_head', 'wp_oembed_add_host_js' );
add_filter( 'tiny_mce_plugins', 'crave_disable_embeds_tiny_mce_plugin' );
// Remove all embeds rewrite rules.
add_filter( 'rewrite_rules_array', 'crave_disable_embeds_rewrites' );
// Remove filter of the oEmbed result before any HTTP requests are made.
remove_filter( 'pre_oembed_result', 'wp_filter_pre_oembed_result', 10 );
}
add_action( 'init', 'crave_disable_embeds', 9999 );
function crave_disable_embeds_tiny_mce_plugin($plugins) {
return array_diff($plugins, array('wpembed'));
}
function crave_disable_embeds_rewrites($rules) {
foreach($rules as $rule => $rewrite) {
if(false !== strpos($rewrite, 'embed=true')) {
unset($rules[$rule]);
}
}
return $rules;
}
/**
* Remove block-library-css
*/
function wpassist_remove_block_library_css(){
wp_dequeue_style( 'wp-block-library' );
}
add_action( 'wp_enqueue_scripts', 'wpassist_remove_block_library_css' );
/**
* Remove svg plugin css
*/
add_action( 'wp_print_styles', 'deregister_my_styles', 100 );
function deregister_my_styles() {
wp_deregister_style( 'bodhi-svgs-attachment' );
}
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment