Не получается отключить стили плагина
У меня дочерняя тема, если это важно. Нужно удалить пару css, подключаемых плагином TM Photo Gallery
public function add_shortcode_css() {
$this->enqueue_style( 'font-awesome', 'frontend/font-awesome.min.css' );
}
Я пробовала убрать из очереди
add_action( 'wp_enqueue_scripts', 'remove_styles', 100 );
function remove_styles() {
wp_dequeue_style( 'font-awesome' );
}
И пробовала отменить регистрацию
add_action('wp_print_styles', 'remove_styles', 100);
function remove_styles() {
wp_deregister_style( 'font-awesome' );
}
Я даже через wp_head пыталась. Результат один: файл продолжает подгружаться.
Стили родительской темы с помощью любого из этих кодов удаляются на ура.
Подскажите, пожалуйста, что я делаю не так?
Вы пытаетесь удалить скрипт с ID, которого нет в системе. Изучаем код плагина, точнее его класс Media:
/** * Add shortcode css * * @param array $params */ public function add_shortcode_css() { $this->enqueue_style( 'font-awesome', 'frontend/font-awesome.min.css' ); $this->enqueue_style( 'material-icons', 'material-icons.css' ); $this->enqueue_style( 'fontello', 'frontend/fontello.css' ); $this->enqueue_style( 'lightgallery', 'frontend/lightgallery.css' ); $this->enqueue_style( 'style-frontend', 'frontend/style-frontend.css', array( self::PREFIX . 'material-icons' ) ); $this->enqueue_style( 'grid', 'frontend/grid.css' ); }Смотрим дальше код метода enqueue_style():
/** * Enqueue style * * @param type $name * @param type $path * @param type $parent */ public function enqueue_style( $name, $path, $parent = array(), $version = false ) { if ( empty( $version ) ) { $version = $this->get_version(); } // check url path if ( ! preg_match( '/^http/', $path ) ) { $path = TM_PG_CSS_URL . $path; } return wp_enqueue_style( self::PREFIX . $name, $path, $parent, $version ); }Видим, что он добавляет к ID ещё и префикс свой личный
self::PREFIX. Узнать ID легко на самом деле. Просто смотрим, как выводится CSS на странице:Тут в ID
tm-pg-font-awesome-cssвсё как раз и указано, только что WordPress всегда при выводе к нему добавляет-css. Резумирруя, ID стиляtm-pg-font-awesome.Потому удалять надо так:
add_action( 'wp_enqueue_scripts', function () { wp_dequeue_style( 'tm-pg-font-awesome' ); } );Огромное спасибо за столько подробный ответ! Естественно, всё получилось. Моя ошибка, что я не посмотрела в код страницы, будучи уверенной, что достаточно посмотреть в код плагина. В итоге, я упустила существенные моменты.
Я вот тоже в код плагина заглянул и нашёл что к чему, тут думаю просто сыграл опыт, потому заметил, а Вы нет. Это придёт со временем неизбежно. Насчёт "поглядеть" в готовый html - это я как один из способов написал. Не стоит доверять коду в уже отрендеренной странице. Есть хуки (и темы иногда ими пользуются), чтобы этот ID вообще не выводить (или изменить) (зачем так непонятно, неужели сократить html). Это редкость конечно, потому я им пользуюсь и другим советую. Но ничего точнее кода не скажет, как оно на самом деле
Огненное спасибо!