wake-up-neo.com

Die Registrierung eines Skripts mit wp_deregister_script kann nicht aufgehoben werden

Ich versuche, das Disqus-Skript auf meiner Startseite zu finden, aber leider kann ich es nicht schaffen, dies zu tun.

Hier ist eine kleine Geschichte der Schritte, die ich gemacht habe.

  1. Suchen Sie den Skriptnamen in den Quellcode-Dateien des Plugins

    wp_register_script ('dsq_count_script', plugins_url ('/media/js/count.js',FILE)); wp_localize_script ('dsq_count_script', 'countVars', $ count_vars); wp_enqueue_script ('dsq_count_script', plugins_url ('/media/js/count.js',FILE));

  2. Fügen Sie eine Aktion für den Hook wp_print_scripts hinzu

    add_action('wp_print_scripts', array($this, 'deregister_unused_scripts'), 100);
    
  3. Implementieren Sie die Funktion deregister_unused_scripts

    public function deregister_unused_scripts()
    {
        wp_dequeue_script('dsq_count_script');
        wp_deregister_script('dsq_count_script');
    }
    

Funktioniert immer noch nicht.

Ich habe auch einen anderen Haken ausprobiert

    add_action('wp_footer', array($this, 'deregister_unused_scripts'), 100);

Aber das hat auch nicht geholfen, ich bekomme immer noch eine Ausgabe in der Fußzeile.

<script type='text/javascript'>
/* <![CDATA[ */
var countVars = {"disqusShortname":"myname"};
/* ]]> */
</script>
<script type='text/javascript' src='http://myurl.net/wp-content/plugins/disqus-comment-system/media/js/count.js?ver=4.7.3'></script>

Was kann falsch sein?

EDIT

Hier ist die Aktion, mit der das Plugin-Skript registriert wird.

add_action('wp_footer', 'dsq_output_footer_comment_js');
5
CROSP

Wenn Sie versuchen, ein Skript zu entfernen, müssen Sie sich einbinden, nachdem das Skript in die Warteschlange gestellt wurde, bevor es gedruckt wird. In diesem Fall verwendet das Disqus-Plugin den Hook wp_footer mit der Priorität 10, um die Skripte in die Warteschlange zu stellen. Die Fußzeilenskripte werden während wp_footer mit einer Priorität von 20 gedruckt. Daher sollten wir in der Lage sein, uns mit wp_footer mit einer Priorität von 11 zu verbinden und das Skript aus der Warteschlange zu entfernen.

add_action( 'wp_footer', 'wpse_262301_wp_footer', 11 );
function wpse_262301_wp_footer() { 
  wp_dequeue_script( 'dsq_count_script' ); 
}
7
Nathan Johnson