Как удалить CSS-файл в заголовке с помощью функций Wordpress?
Я хочу удалить CSS из загрузки в заголовке, вот код, который появляется:
<link rel='stylesheet' id='my-css' href='http://test.tld/wp-content/themes/mytheme/my.css?ver=3.5' type='text/css' media='all' />
Я пытался использовать эти функции, но это не сработало:
wp_dequeue_style('my-css');
wp_deregister_style('my-css');
Существуют ли другие способы удаления приведенной выше строки CSS без ее ручного редактирования в шаблоне?
Спасибо.
2 answers
Если ваша таблица стилей зарегистрирована и поставлена в очередь правильно, то...
function dequeue_my_css() {
wp_dequeue_style('my-css');
wp_deregister_style('my-css');
}
add_action('wp_enqueue_scripts','dequeue_my_css');
// add a priority if you need it
// add_action('wp_enqueue_scripts','dequeue_my_css',100);
... следует удалить его. Это работает только в том случае, если таблица стилей была зарегистрирована и/или поставлена в очередь с wp_register_style
и wp_enqueue_style
.
Если она зарегистрирована неправильно, вам придется выяснить, что сделала ваша тема, и отменить это. Это может потребовать редактирования шаблона, в зависимости от того, как выбрана тема написанный.
Http://codex.wordpress.org/Function_Reference/wp_dequeue_style
Http://codex.wordpress.org/Function_Reference/wp_deregister_style
Отмена регистрации/удаление стилей из очереди - лучшая практика
Https://codex.wordpress.org/Function_Reference/wp_deregister_style https://codex.wordpress.org/Function_Reference/wp_dequeue_style
Но вы также можете использовать этот фильтр, чтобы отфильтровать стили с любым условием:
add_filter( 'style_loader_src', function($href){
if(strpos($href, "name-of-allowed.css") !== false) {
return $href;
}
return false;
});