Skip to content

Instantly share code, notes, and snippets.

@jbd91
Created May 7, 2021 17:37
Show Gist options
  • Save jbd91/67e12cced092b49410cf3c93ccbbc3b2 to your computer and use it in GitHub Desktop.
Save jbd91/67e12cced092b49410cf3c93ccbbc3b2 to your computer and use it in GitHub Desktop.
functions.php
function theme_enqueue_styles() {
wp_enqueue_style( 'slick', get_template_directory_uri() . '/assets/vendor/slick/slick.css' );
wp_enqueue_style( 'slick-theme', get_template_directory_uri() . '/assets/vendor/slick/slick-theme.css');
//wp_enqueue_style( 'google-fonts', 'https://fonts.googleapis.com/css?family=Rajdhani:500,700|Roboto:700&display=swap');
wp_enqueue_script( 'font-awesome', 'https://kit.fontawesome.com/1a3f79275c.js' );
wp_enqueue_script( 'mixitup', get_template_directory_uri() . '/assets/vendor/mixitup/mixitup.min.js', array( 'jquery' ), '3', true );
wp_enqueue_script( 'slick', get_template_directory_uri() . '/assets/vendor/slick/slick.min.js', array( 'jquery' ), '1.8', true );
//wp_enqueue_script( 'match-height', get_template_directory_uri() . '/assets/vendor/jquery.matchHeight-min.js', array( 'jquery' ), '1.6.0', true );
}
add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' );
get_template_part('parts/functions/functions', 'post-types');
get_template_part('parts/functions/functions', 'taxonomies');
if( function_exists('acf_add_options_page') ) {
acf_add_options_page(array(
'page_title' => 'Theme Settings',
'menu_title' => 'Theme Settings',
'menu_slug' => 'theme-settings',
'capability' => 'edit_posts',
'redirect' => false
));
}
add_filter( 'mime_types', 'aco_extend_mime_types' );
function aco_extend_mime_types( $existing_mimes ) {
// Add webm, mp4 and OGG to the list of mime types
$existing_mimes['webm'] = 'video/webm';
$existing_mimes['mp4'] = 'video/mp4';
$existing_mimes['ogg'] = 'video/ogg';
// Return an array now including our added mime types
return $existing_mimes;
}
// Move Yoast to bottom
function yoasttobottom() {
return 'low';
}
add_filter( 'wpseo_metabox_prio', 'yoasttobottom');
function better_search_replace_cap_override() {
return 'manage_options';
}
add_filter( 'bsr_capability', 'better_search_replace_cap_override' );
// Headers
if (!empty($_SERVER['HTTPS'])) {
function add_hsts_header($headers) {
$headers['strict-transport-security'] = 'max-age=31536000; includeSubDomains';
$headers['x-xss-protection'] = '1; mode=block';
$headers['x-content-type-options'] = 'nosniff';
$headers['x-frame-options'] = 'SAMEORIGIN';
$headers['referrer-policy'] = 'no-referrer-when-downgrade';
$headers['permissions-policy'] = 'geolocation=(); midi=(); notifications=(); push=(); sync-xhr=(); microphone=(); camera=(); magnetometer=(); gyroscope=(); vibrate=(); fullscreen=(); payment=()';
$headers['content-security-policy'] = 'default-src \'self\' \'unsafe-inline\' \'unsafe-eval\' https: data:';
$headers['expect-ct'] = 'max-age=3600; enforce';
return $headers;
}
add_filter('wp_headers', 'add_hsts_header');
}
// disable xmlrpc
add_filter('xmlrpc_enabled', '__return_false');
/* xmlrpc disable methods */
add_filter('xmlrpc_methods', function ($methods) {
unset($methods['system.multicall']);
unset($methods['system.listMethods']);
unset($methods['system.getCapabilities']);
unset($methods['pingback.extensions.getPingbacks']);
unset($methods['pingback.ping']);
return $methods;
});
add_action('wp', function () {
header_remove('X-Pingback');
}, 9999);
/* Disable user enumeration */
if (!is_admin()) {
// default URL format
if (preg_match('/author=([0-9]*)/i', $_SERVER['QUERY_STRING'])) die(); add_filter('redirect_canonical', 'shapeSpace_check_enum', 10, 2);
}
function shapeSpace_check_enum($redirect, $request) {
// permalink URL format
if (preg_match('/\?author=([0-9]*)(\/*)/i', $request)) die(); else return $redirect;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment