首页 文章

Wordpress - 从子主题上的插件中删除操作

提问于
浏览
0

我搜索了整个网站和其他人的指示,了解如何从父主题中删除操作,似乎没有任何工作 . 我试图通过我的子主题函数文件删除'add_action'行:

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

这是add_action引用的函数

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

我尝试过使用以下内容,但它无效

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

我真的很难过 .

3 回答

  • 0

    您可以通过将您自己的函数挂钩到 wp_enqueue_style 操作以及以后的优先级并删除样式来简化此操作 . 21 的优先级确保您的代码在初始入队后运行,初始入队优先级为 20 .

    function my_theme_remove_styles(){
        wp_dequeue_style( 'quickmart-woocommerce');
    }
    
    add_action('wp_enqueue_style', 'my_theme_remove_styles', 21);
    
  • 0

    您需要将脚本出列,因为其他资源需要钩子“ wp_enqueue_scripts ” .

    删除排队的脚本 .

    要出列,脚本必须已入队 . 在脚本入队之前尝试使脚本出列将不起作用 .

    所以你需要将它添加到你的 function.php

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

    找到答案,以防其他任何人感兴趣:

    add_action( 'wp_print_styles', 'my_deregister_styles', 100 );
    
    function my_deregister_styles() {
        wp_deregister_style( 'quickmart-woocommerce' );
    }
    

    资料来源:http://justintadlock.com/archives/2009/08/06/how-to-disable-scripts-and-styles

相关问题