Я пишу плагин для Wordpress, который мне нужен для добавления файлов стилей в очередь перед интерфейсом. Но когда я делаю это, некоторые другие плагины, такие как vs_composer, добавляют свои файлы стилей после моего плагина и переопределяют мои коды. Поэтому я думаю, что есть два варианта выхода из этой ситуации. Во-первых, нужно создать несколько правил CSS !important
, что, как мне кажется, не является профессиональным способом. Другой вариант — загрузить CSS-файлы моего плагина после всех остальных; Но возможно ли это? Я предполагаю, что эта цель недостижима при использовании параметра $deps
в wp_enqueue_style
, поскольку он не загружает файлы, если файлы зависимостей не существуют.
Wordpress - поставить стиль в очередь после всех остальных или после определенных стилей
Ответы:
Вы можете поставить свои таблицы стилей в очередь, подключившись к wp_head
, который выводит данные в теге head
. на переднем конце.
function enqueue_styles() {
wp_enqueue_style( 'frontend-style', plugin_dir_url( __FILE__ ) . 'styles.css' );
}
add_action( 'wp_head', 'enqueue_styles' ); // default priority: 10
Если вам нужно вывести свои таблицы стилей позже, вы можете понизить приоритет.
Например,
add_action( 'wp_head', 'enqueue_styles', 20 );
В качестве альтернативы вы можете изменить свои селекторы, чтобы они были более конкретными, чтобы ваши правила CSS имели приоритет над правилами vs_composer.
div {}
div.my-class {} /* more specific */
body div.my-class {} /* even more specific */
Специфичность – это средство, с помощью которого браузеры решают, какие значения свойств CSS наиболее важны для элемента и, следовательно, будут применяться. […] Специфичность — это вес, который применяется к данному объявлению CSS, определяемый количеством каждого типа селектора в соответствующем селекторе. Когда несколько объявлений имеют одинаковую специфичность, к элементу применяется последнее объявление, найденное в CSS.
add_action( 'wp_head', 'enqueue_styles', 20 );
этоwp_head
вместоwp-head
. 23.10.2020