Приоритет «хук» wp_enqueue_scripts не влияет

В теме я работаю там до 3 стилей. Я использую hook 'wp_enqueue_scripts'. Порядок стилей очень важен для стилей перезаписи. У меня такой код:

add_action('wp_enqueue_scripts', 'add_stylesheet_one', 10); add_action('wp_enqueue_scripts', 'add_stylesheet_two', 14); add_action('wp_enqueue_scripts', 'add_stylesheet_three', 12); 

При таких приоритетах порядок таблиц стилей должен быть «stylesheet_one», «stylesheet_three» и «stylesheet_two». Но приоритет не имеет никакого эффекта. Я пробовал разные номера, но порядок не меняется. Я что-то упускаю?

Thx для справки !!!

Solutions Collecting From Web of "Приоритет «хук» wp_enqueue_scripts не влияет"

Проблема в том, что ваши действия выполняются в том порядке, который вы воспринимаете, но стили просто собираются WordPress и включены в случайный порядок.

Порядок ваших add_actions не будет важен. Я бы сделал это:

 function add_all_stylesheets() { // you omitted this from your question, see below } add_action('wp_enqueue_scripts', 'add_all_stylesheets'); 

Теперь – если вы хотите, чтобы ваши сценарии включались в порядок, вам нужно было «зависеть» друг от друга, чтобы они каскадировались.

 function add_all_stylesheets() { wp_enqueue_style( 'stylesheet-one', get_template_directory_uri() . '/css/stylesheet-one.css' ); wp_enqueue_style( 'stylesheet-two', get_template_directory_uri() . '/css/stylesheet-two.css', array( 'stylesheet-one' ) ); wp_enqueue_style( 'stylesheet-three', get_template_directory_uri() . '/css/stylesheet-three.css', array( 'stylesheet-two' ) ); } add_action('wp_enqueue_scripts', 'add_all_stylesheets'); 

Теперь ваш «stylesheet-two» зависит от «stylesheet-one» и «three» зависит от «two». Это должен быть тот эффект, который вы хотите.

Я знаю, что уже слишком поздно. Но, теперь, он работает так, как ожидалось.

Ниже мой фрагмент, и он работает хорошо.

 add_action( 'wp_enqueue_scripts', 'test_enqueue_styles_1', 10 ); add_action( 'wp_enqueue_scripts', 'test_enqueue_styles_2', 14 ); add_action( 'wp_enqueue_scripts', 'test_enqueue_styles_3', 12 ); function test_enqueue_styles_1() { wp_enqueue_style( 'font-awesome-1-css', get_template_directory_uri() . 'assets/css/font-awesome.min.css' ); } function test_enqueue_styles_2() { wp_enqueue_style( 'font-awesome-2-css', get_template_directory_uri() . 'assets/css/font-awesome.min.css' ); } function test_enqueue_styles_3() { wp_enqueue_style( 'font-awesome-3-css', get_template_directory_uri() . 'assets/css/font-awesome.min.css' ); } 

Последовательность очередей

 test_enqueue_styles_1 test_enqueue_styles_3 test_enqueue_styles_2 

Хм, есть ли причина, по которой вы это делаете? Более традиционный метод приведен ниже.

(Следующее предполагает, что ваши таблицы стилей находятся в каталоге css вашей темы.)

 function my_enqueue_scripts() { wp_enqueue_style( 'stylesheet_one', get_template_directory_uri() . '/css/stylesheet_one.css' ); wp_enqueue_style( 'stylesheet_three', get_template_directory_uri() . '/css/stylesheet_three.css' ); wp_enqueue_style( 'stylesheet_two', get_template_directory_uri() . '/css/stylesheet_two.css' ); } add_action( 'wp_enqueue_scripts', 'my_enqueue_scripts' ); 

Тем не менее, я не уверен, почему приоритеты в вашем методе не работают. Вероятно, нам нужно будет увидеть код в прикрепленных функциях.