Intereting Posts
Невозможно добавить класс в тег h2 Как я могу это сделать, чтобы на странице «Добавить новую почту» параметр «Видимость» был установлен «Приватный» по умолчанию? Пользовательский объект типа сообщения – неопределенные переменные «Кажется, что нет файла wp-config.php». Несмотря на wp-config.php в корне Как изменить структуры URL в пользовательских типах сообщений и таксономии или терминах Предупреждение при использовании <? Php включает 'thefile.php'; ?> Архив показать thumbnail Подсчет количества посещений моего веб-сайта Как добавить / получить ссылку на сообщение? Как обрабатывать несколько экземпляров функции «send_to_editor» js WordPress Duplication Post, когда вы используете Pagination при использовании MySQL 5.6, 5.7 и выше Должен ли я ставить в очередь стили / сценарии один раз, а затем выгружать их из очереди? Создайте собственный тип сообщения, основанный на 'Post' Как изменить целевую ссылку для панели администратора? Исключить завершение WooCommerce от YOAST

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() не имеет отношения, его значение даже не используется.