Jake Vanderwerf
2026-02-08 0442e1186ae642c86947d03961fde7d461ba054d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
<?php
if (!defined('ABSPATH')) {
    exit; // Exit if accessed directly
}
 
function jvbRemoveBlockStyles():void
{
    if (!is_admin()) {
        wp_dequeue_style('global-styles');
        wp_dequeue_style('dashicons');
        //remove default styles
        global $wp_styles;
 
        foreach ($wp_styles->queue as $handle) {
            if (str_starts_with($handle, 'wp-block-')) {
                wp_dequeue_style($handle);
            }
        }
        wp_deregister_script('heartbeat');
        wp_dequeue_style('core-block-supports');
        wp_dequeue_script('wp-block-template-skip-link');
 
        // Remove Akismet widget style
        wp_deregister_style('akismet-widget-style-inline-css');
//        wp_dequeue_script('wp-block-template-skip-link');
 
//        wp_dequeue_style('buttons');
//        wp_dequeue_style('admin-bar');
//        wp_dequeue_style( 'classic-theme-styles' );
 
        wp_dequeue_style('wp-block-site-title');
        wp_dequeue_style('wp-block-navigation');
        wp_dequeue_style('wp-block-navigation-link');
        wp_dequeue_style('wp-block-query-title');
        wp_dequeue_style('wp-block-group');
    }
    // wp_enqueue_script('legacy-scripts', get_template_directory_uri() . '/src/js/legacy.js', false, false, array( 'in_footer' => true));
}
add_action('wp_enqueue_scripts', 'jvbRemoveBlockStyles', 100);
 
//Remove generator
remove_action('wp_head', 'wp_generator');//Remove RSD Link
remove_action('wp_head', 'rsd_link');//Remove WLW Manifest
remove_action('wp_head', 'wlwmanifest_link');//Remove shortlink
remove_action('wp_head', 'wp_shortlink_wp_head');
 
//remove emoji support
remove_action('wp_head', 'print_emoji_detection_script', 7);
remove_action('wp_print_styles', 'print_emoji_styles');
 
 
add_filter('password_reset_expiration', function ($expiration) {
    return 900; //15 minutes
});
 
 
add_action('before_delete_post', function ($id) {
    $attachments = get_attached_media('', $id);
    foreach ($attachments as $attachment) {
        wp_delete_attachment($attachment->ID, 'true');
    }
    $meta = [
        BASE.'image',
        BASE.'gallery',
    ];
    foreach ($meta as $m) {
        if ($ID = get_post_meta($id, $m, true)!== '') {
            $IDs = (str_contains($ID, ',')) ? explode(',', $ID) : [$ID];
            foreach ($IDs as $ID) {
                wp_delete_attachment($ID, 'true');
            }
        }
    }
});
 
 
/**
 * Clean up the output classes
 */
add_filter('body_class', 'jvbBodyClasses');
function jvbBodyClasses(array $classes):array
{
    $classes = [];
    if (is_front_page()) {
        $classes[] = 'home';
    }
    if (jvbIsDirectory()) {
        $classes[] = 'is-directory';
    } elseif (is_tax()) {
        $classes[] = str_replace(BASE, '', get_queried_object()->taxonomy);
    } elseif (is_singular() && !is_singular('page')) {
        $classes[] = str_replace(BASE, '', get_queried_object()->post_type);
    } elseif (is_post_type_archive()) {
        $classes[] = str_replace(BASE, '', get_queried_object()->name);
    }
    return $classes;
}