wake-up-neo.com

Das Abmelden eines Skripts in Wordpress scheint unmöglich

Ich habe alles versucht. Ich habe sogar den gesamten Inhalt in functions.php entfernt und eine ganz neue Datei damit erstellt:

function wpdocs_dequeue_script() {
 if (is_singular()) {
    wp_dequeue_script( 'gdrts-rating' );
  }
}
add_action( 'wp_print_scripts', 'wpdocs_dequeue_script', 100 );

Die Idee ist, einige Javascript-Dateien aus meinem benutzerdefinierten Beitragstyp zu entfernen. Ich dachte, ich mache etwas falsch, also habe ich es zuerst mit is_page () und sogar is_home () versucht, aber selbst das funktioniert bei mir nicht. Es scheint, dass der Code nicht ausgelöst wird oder so.

Dies ist mein Plugin :

  wp_enqueue_script('gdrts-events', $this->file('js', 'events'), array(), gdrts_settings()->file_version(), false);
    wp_enqueue_script('gdrts-rating', $this->file('js', 'rating'), $depend_js, gdrts_settings()->file_version(), true);

Also habe ich es auch so versucht:

function wpdocs_dequeue_script() {
    wp_dequeue_script( 'gdrts-rating' );

}
add_action( 'wp_enqueue_scripts', 'wpdocs_dequeue_script', 100 );

Funktioniert nicht!

1
Siyah

Versuchen deregister_script zusätzlich zu dequeue_script

function wpdocs_dequeue_script() {
    wp_dequeue_script( 'gdrts-rating' );
    wp_deregister_script( 'gdrts-rating' );

}
add_action( 'wp_enqueue_scripts', 'wpdocs_dequeue_script', 100 );
1
admcfajn

Bitte beachten Sie, dass das Folgende über ein benutzerdefiniertes Plugin und nicht in der Funktionsdatei erfolgt, da die meisten Themen bei Aktualisierung die Funktionsdatei überschreiben.

Das Folgende wird getestet und funktioniert, um ein Skript aus der Warteschlange zu entfernen. Ich habe Code hinzugefügt, mit dem Sie testen können, ob die Datei vor dem Entfernen geladen wurde, und ich würde auch Ihren benutzerdefinierten Beitragsnamen verwenden, wenn Sie nur möchten, dass dieser in diesem Beitrag entladen wird Geben Sie is_singular () ein.

<?php
/*
Plugin Name: Remove_script_Stack_353322
Plugin URI: www.mywebsite.com
Description: Remove a script when needed
Version: 1.0
Author: Me
Author URI: www.mywebsite.com
*/

    /**
     * Enqueue script.
     */
    function my_scripts_method() {
        //Change your plugin url/name
        wp_enqueue_script( 'gdrts-rating', plugins_url( 'test.js' , __FILE__ ));
    }
    add_action( 'wp_enqueue_scripts', 'my_scripts_method' );



    function wpdocs_dequeue_script() 
    {

        // Lets check if gdrts-rating is loaded
        $handle = 'gdrts-rating';
        $list = 'enqueued';
        if (wp_script_is( $handle, $list )) 
        {

            //echo 'Loaded --------------------------------------------------------------------->';
            // Custom post type so use the name in ->  is_singular('custom_post_name')  you can have more post types such as is_singular('custom_post_name', 'custom_post_2')

            if (is_singular()) 
            {
             // Unload the plugin
             wp_dequeue_script( 'gdrts-rating' );
            }

        } 
        else 
        {
           // Not loaded do nothing
           //echo 'Not loaded --------------------------------------------------------------------->';
        }


    }
    add_action( 'wp_print_scripts', 'wpdocs_dequeue_script', 10 );
1
Sam