Как удалить CSS файл в header с помощью функций WordPress?
Я хочу удалить загрузку CSS в header, вот код, который появляется:
<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 строку без ручного редактирования в шаблоне?
Спасибо.

Если ваша таблица стилей зарегистрирована и подключена правильно, то...
function dequeue_my_css() {
wp_dequeue_style('my-css');
wp_deregister_style('my-css');
}
add_action('wp_enqueue_scripts','dequeue_my_css');
// можно добавить приоритет, если это необходимо
// 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;
});
