plugins_url () неверно возвращает каталог wp-include

Я сомневаюсь, что есть ошибка с plugins_url() но это какое-то странное поведение, которое я вижу.

У меня есть следующее в активированном плагине

 function include_masonry() { wp_enqueue_script( 'masonry', plugins_url('js/masonry.min.js', __FILE__), array(), '3.2.1', true ); wp_enqueue_script( 'my_init_script', plugins_url('js/my_init_script.js', __FILE__), array(), '1.0.0', true ); } add_action( 'wp_enqueue_scripts', 'include_masonry' ); 

Я пришел к этому после использования get_template_directory_uri() но решил против него, так как я хочу, чтобы все плагины соответствовали js в папке плагина.

Это вывод в нижнем колонтитуле:

 <script type='text/javascript' src='http://example.com/wp-includes/js/masonry.min.js?ver=3.1.2'></script> <script type='text/javascript' src='http://example.com/wp-content/plugins/myplugin/js/my_init_script.js?ver=1.0.0'></script> 

Второй – это хорошо, но первый имеет 2 ошибки.

1) Почему это ?ver=3.1.2 когда я указал 3.2.1? Это не опечатка.

2) Почему он не загружает masonry.min.js из папки плагина !? plugins_url() что get_template_directory_uri() возвращает возвращаемое get_template_directory_uri() , но только для masonry.min.js . Я сильно обновил, удалил файл плагина, перезагрузил, поменял строки wp_enqueue_script и всегда wp_enqueue_script на неправильный каталог с неправильным параметром версии.

Solutions Collecting From Web of "plugins_url () неверно возвращает каталог wp-include"

Масонство уже зарегистрировано WordPress.

Из wp-includes/script-loader.php :

 // Masonry v2 depended on jQuery. v3 does not. The older jquery-masonry handle is a shiv. // It sets jQuery as a dependency, as the theme may have been implicitly loading it this way. $scripts->add( 'masonry', "/wp-includes/js/masonry.min.js", array(), '3.1.2', 1 ); $scripts->add( 'jquery-masonry', "/wp-includes/js/jquery/jquery.masonry$dev_suffix.js", array( 'jquery', 'masonry' ), '3.1.2', 1 ); 

Итак, ваш первый wp_enqueue_script() снова не регистрирует кладку. WordPress использует уже существующий ресурс. plugins_url() не имеет отношения, его значение даже не используется.