Приветствую друзья, возникла одна проблема, с скриптами WP-RECALL.
К шаблону на сайте подключены:
<script src="/misc/js/jquery-1.10.0.js">
в header, данные библиотеки отвечают за анимацию и отображение субменю.
И именно они каким-то образом ломают работу скрипта (*/plugins/wp-recall/functions/supports/js/uploader-avatar.js) отвечающего за загрузку изображений в профиль пользователя.
Вот что пишет отладчик:
Uncaught TypeError: img.Jcrop is not a function
На всякий случай выкладываю тему.
Если отключить:
<script src="<?php bloginfo('template_directory'); ?>/misc/js/jquery-1.10.0.js"></script> <script src="http://code.jquery.com/jquery-migrate-1.1.1.js"></script>
Загрузка изображений работает.
В JS не селен, буду рад любой помощи.
Я вижу что это не родная тема вп twentysixteen, а исправленная вами. Пробуйте на чистой теме проверить.
А зачем вы несколько копий jquery подключаете? откройте консоль и посмотрите - скорее всего у вас несколько копий jquery грузятся. Подключать скрипты таким образом (не по кодексу вордпресс) категорически нельзя.
На форуме много раз это обсуждалось. Ищите wp_enqueue_script и смотрите описание функции
Otshelnik-Fm сказал(а)
Я вижу что это не родная тема вп twentysixteen, а исправленная вами. Пробуйте на чистой теме проверить.
А зачем вы несколько копий jquery подключаете? откройте консоль и посмотрите - скорее всего у вас несколько копий jquery грузятся. Подключать скрипты таким образом (не по кодексу вордпресс) категорически нельзя.
На форуме много раз это обсуждалось. Ищите wp_enqueue_script и смотрите описание функцииВы не можете просматривать опубликованные ссылки
Спасибо за подсказку, подключил в function.php JS:
/* jquery.min.js */ function my_jquery_scripts() { wp_deregister_script( 'jquery' ); wp_register_script( 'jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js'); wp_enqueue_script( 'jquery' ); } add_action( 'wp_enqueue_scripts', 'my_jquery_scripts' ); /* END jquery.min.js */ /* start modernizr.js */ add_action( 'wp_enqueue_scripts', 'my_scripts_method' ); function my_scripts_method() { $script_url = plugins_url( '/misc/js/modernizr.js', __FILE__ ); wp_enqueue_script('custom-script', $script_url, array('jquery') ); } /* END modernizr.js */
Перед, add_filter( 'widget_tag_cloud_args', 'twentysixteen_widget_tag_cloud_args' );
Теперь после выбора изображения, диалоговое окно проводника изчезает и не чего не происходит.
Данные отладчика:
Я где-то упорно что-то не так прописываю.
Otshelnik-Fm сказал(а)
Я давал вам совет - искать по форуму. Вопрос правильного подключения jquery решался неоднократно. То что вы хотите заставить работать какой-то кривой скрипт меню (субменю) - может обратиться к автору этого меню?
На стандартной не измененной теме все работает?
Да все работает.
Владимир, я как бы не с претензией r WP-RECALL, просто пытаюсь разобраться. Спасибо
Я понял что вы не с претензией.
Тут есть один момент - вы подстраиваетесь под миниатюрный функционал выпадающего меню. Это не верно. (менюшки такие можно делать на css - подглядите как реколлбар сделан - и анимация приятная и вложенные списки - без единой строчки js).
Потом такое наследие будет вам мешать обновлять и плагины и тему и сам вордпресс - т.к. неизвестно будут ли они работать с этой версией jquery.
В общем... Нужно настроить подключение только одного jquery.min.js что я и делаю в function.php
function my_jquery_scripts() { wp_deregister_script( 'jquery' ); wp_register_script( 'jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js'); wp_enqueue_script( 'jquery' ); } add_action( 'wp_enqueue_scripts', 'my_jquery_scripts' );
Но теперь получается дилема или jquery.min.js или загрузка изображений в WP-RECALL профиле пользователя. Если работает одно то не работает другое и наоборот.
Поискал по форуму, по ключевому слову jquery кроме моего поста, тем нет.