是否通过主题的函数.php删除插件函数?

时间:2014-10-03 作者:Sillo

我正在使用一个名为PixGridder的插件进行后端设置,但我不想应用前端css。。我在插件功能中发现了这一点。php有以下几行代码:

public function front_styles() {
        $theme_style = get_stylesheet_directory().\'/gridder.css\';
        if (file_exists($theme_style)) {
            wp_enqueue_style( $this->plugin_slug, get_stylesheet_directory_uri().\'/gridder.css\', array(), $this->version );
        } else {
            wp_enqueue_style( $this->plugin_slug, PIXGRIDDER_URL.\'css/front-gridder.css\', array(), $this->version );
        }
    }


    add_action( \'wp_enqueue_scripts\', array( &$this, \'front_styles\' ) );
我的问题是,如何注销此函数?或者至少阻止插件通过我的主题功能查找正面样式?-甚至可以通过主题注销函数吗?

谢谢

2 个回复
最合适的回答,由SO网友:Otto 整理而成

就像从其他任何地方删除它一样,无论是插件、主题还是其他什么。

add_action(\'plugins_loaded\',\'remove_whatever\');
function remove_whatever() {
    if (class_exists(\'PixGridder\')) {
        remove_action( \'wp_enqueue_scripts\', array( PixGridder::get_instance(), \'front_styles\' ) );
    }
}
可能希望使用比“remove\\u whatever”更好的函数名。:)

SO网友:Anoop Saini

如果plugins_loaded 不起作用,然后使用init

add_action(\'init\',\'remove_plugin_style\');
function remove_plugin_style() {
    if (class_exists(\'Gravity_Forms_Live_Validation\')) {
        remove_action( \'wp_enqueue_scripts\', array( Gravity_Forms_Live_Validation::get_instance(), \'enqueue_styles\' ) );
    }
}
这对我来说也很好:)

结束

相关推荐

theme functions (hooks)

WordPress已经提出了这个问题,但没有答案。我只是想在这个论坛上试试,如果有人知道的话,因为我也有同样的问题。要使用jquery滑块编辑我的主题,如何转到该脚本?,显示“$主题->挂钩(\'content\\u before\');”在content div标记中。有人能帮忙吗?我的主题索引。php包含以下内容<div id=\"main\"> <?php $theme->hook(\'main_before\'); ?> &#x