web-dev-qa-db-fra.com

Comment supprimer tout le javascript dans un thème wordpress?

J'ai un nom de thème est mytheme dans themes/mythem/functions.php I en utilisant le code:

function remove_scripts() {
   remove_action('wp_head','mytheme_head_scripts');
}
add_action('init', 'remove_scripts');

=> mais le résultat ne peut pas supprimer tout le javascript, comment le réparer?

1
Hai Truong IT

Vous utilisez le hook admin_*/wp_print_scripts ou le hook admin_*/wp_print_styles. Le crochet de styles vient avant le crochet de scripts d'impression, alors peut-être qu'il convient mieux que d'utiliser simplement une priorité de 0 pour le hook *_print_scripts (il pourrait y avoir une fonction avec un nom qui avait déjà été accroché à la priorité 0).

function wpse61635_remove_all_scripts()
{
    global $wp_scripts;
    $leave_alone = array(
        // Put the scripts you don't want to remove in here.
    );

    foreach ( $wp_scripts->queue as $handle )
    {
        // Here we skip/leave-alone those, that we added above ↑
        if ( in_array( $handle, $leave_alone ) )
            continue;

        $wp_scripts->remove( $handle );
    }
}
add_action( 'wp_print_styles', 'wpse61635_remove_all_scripts', 0 );
3
kaiser

Si la fonction mytheme_head_scripts a utilisé la priorité lors de l'accrochage dans wp_head, vous devez définir votre remove_action avec la même priorité.

Exemple -

function remove_scripts() {
   remove_action('wp_head','mytheme_head_scripts',10);
}
add_action('init', 'remove_scripts');
0
amit