2016-04-07 7 views
0

Ich habe überall auf dieser Website und andere für Anweisungen zum Entfernen einer Aktion von einem übergeordneten Thema und nichts scheint zu arbeiten. Ich versuche, die ‚add_action‘ Linie über mein Kind Thema Funktionen Datei zu entfernen:Wordpress - Aktion aus Plugin auf Child Theme entfernen

class Quickmart_Woocommerce{ 
    public function __construct(){ 
    add_action('wp_enqueue_scripts', array($this, 'loadThemeStyles'), 20); 
} 

Und hier ist die Funktion der add_action Referenzierung wird

public function loadThemeStyles() { 
    wp_enqueue_style('quickmart-woocommerce', $path , 'quickmart-woocommerce-front' , QUICKMART_THEME_VERSION, 'all'); 
} 

Ich habe versucht, die folgende verwenden, aber es funktioniert nicht

global $Quickmart_Woocommerce; 
remove_action('wp_enqueue_scripts', array($Quickmart_Woocommerce, 'loadThemeStyles')); 

Ich bin wirklich ratlos.

Antwort

0

Sie können dies vereinfachen, indem Sie Ihre eigene Funktion in die Aktion wp_enqueue_style bei einer späteren Priorität einbinden und den Stil entfernen. Die Priorität 21 stellt sicher, dass Ihr Code nach die erste Enqueue läuft, die eine Priorität von 20 hat.

function my_theme_remove_styles(){ 
    wp_dequeue_style('quickmart-woocommerce'); 
} 

add_action('wp_enqueue_style', 'my_theme_remove_styles', 21); 
+0

Danke, aber das hat nicht funktioniert. Ich weiß nicht, ob es einen Unterschied macht, aber ich habe Ihren Code der functions.php-Datei eines Kindthemas hinzugefügt – user965879

0

Sie müssen die Skripte aus der Warteschlange entfernt, da der Haken „wp_enqueue_scripts“ von anderen Ressourcen benötigt wird.

Entfernen Sie ein eingereihtes Skript.

Um aus der Warteschlange entfernt zu werden, muss das Skript in die Warteschlange eingereiht worden sein. Wenn versucht wird, ein Skript vor dem Einreihen des Skripts aus der Warteschlange zu entfernen, hat dies keine Auswirkungen.

so müssen Sie fügen Sie diese zu Ihrer function.php

function wpdocs_dequeue_script() { 
    wp_dequeue_script('quickmart-woocommerce'); 
} 
add_action('wp_print_scripts', 'wpdocs_dequeue_script', 100); 
+0

Danke, aber das hat nicht funktioniert. Ich weiß nicht, ob es einen Unterschied macht, aber ich habe Ihren Code der functions.php-Datei eines untergeordneten Themas hinzugefügt. Ich habe irgendwo gelesen, dass Sie das nicht tun können, wenn die Aktion, die Sie entfernen möchten, in einer Klasse liegt – user965879

+0

Verwenden Sie'wp_print_styles 'statt .... 'add_action (' wp_print_styles ',' wpdocs_dequeue_script ', 100);' versuchen Sie es auch ' wp_dequeue_style() ' – Apeiron

+0

Versuchte sie alle. Funktioniert immer noch nicht. Vielen Dank. – user965879

Verwandte Themen