Как удалить 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 без ее ручного редактирования в шаблоне?

Спасибо.

 4
css
Author: Emerson Maningo, 2013-02-12

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

 10
Author: s_ha_dum, 2013-02-12 05:09:42

Отмена регистрации/удаление стилей из очереди - лучшая практика

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;
});
 2
Author: PayteR, 2017-08-11 11:22:12