使用wp_style_is检查是否存在多个样式表并将其出列?

时间:2014-05-28 作者:Knott

我需要将加载相同字体样式表的3个插件的样式从队列中删除,因此我想出了以下当然不起作用的功能:

add_action(\'wp_enqueue_scripts\', \'dequeue_by_handles\', 999);
function dequeue_by_handles() {
    $handle = array(
        \'fontawesome\',
        \'font-awesome\',
        \'font-awesome-style\'
        );

    if( wp_style_is( $handle, $list = \'enqueued\' ) ) {
        wp_dequeue_style( $handle );
    }
}
请注意,首先我需要检查样式表句柄是否存在,然后将其出列。

非常感谢。

1 个回复
最合适的回答,由SO网友:Matt Royal 整理而成

我还没有对此进行测试,但我想这是因为您正在将一个数组传递给wp_style_is() 函数,而不是字符串。

也许可以尝试在数组中循环,以便每次传递一个字符串进行检查。

像这样的。。。

add_action(\'wp_enqueue_scripts\', \'dequeue_by_handles\', 999);

function dequeue_by_handles() {

    $handles = array(
        \'fontawesome\',
        \'font-awesome\',
        \'font-awesome-style\'
        );

    foreach ($handles as $handle) {

        if ( wp_style_is( $handle, $list = \'enqueued\' ) ) {
            wp_dequeue_style( $handle );
        }
    }
}

结束