Как wp_dequeue_script или wp_deregister_script jquery (не произведен) файл из темы wp

НОТА: Я уже пользуюсь wp_dequeue_script или же wp_deregister_script но не удачно

Вот сценарий, я делаю плагин слайдера изображений, который использует jquery-cycle2, и он работает успешно.

Есть пользователь, который использовал тему wp и в теме есть jquery-cycle1Теперь, когда он устанавливает мой плагин, конфликты jquery-cycle1 и jquery-cycle2, когда пользователь удаляет файл jquery-cycle1, все работает отлично и отлично, но я не хочу удалять файл пользователем.

Теперь я пытаюсь, чтобы, когда пользователь установил мой плагин, jquery-cycle1 в теме закрывался, отменял регистрацию или прекращал его действие.

Я получаю файл из темы успешно

if((file_exists($theme_file_path."/jquery.cycle.all.js"))){
echo "yes";
}

но я понятия не имею, чтобы закрыть файл jquery-cycle1 или остановить его эффект.

Последний вариант: У меня есть последнее решение, которое удаляет файл из темы, но это мой последний вариант.

Пожалуйста, любые предложения, помогите мне.

1

Решение

Вам нужно будет разместить уведомление о несовместимости в вашей теме.

Невозможно попытаться обнаружить существование сценария со стороны сервера. Вы можете обнаружить сценарии в очереди с помощью методов word press, однако это предполагает, что пользователь не просто связал файл с <script></script> тег. file_exists Метод предполагает, что файл хранится на самом сервере — он может быть связан с CDN или другого сервера.

Кроме того, все методы, которые вы используете для обнаружения и удаления jQuery-Cycle; Вы собираетесь сломать любую функцию на сайте, которая использует существующий плагин.

Таким образом, любое решение, которое вы сможете разработать, будет либо чрезвычайно сложным, либо не будет достаточно обобщенным, чтобы учесть все эти возможности.

Вы можете использовать следующее для предотвращения загрузки вашего скрипта

if (jQuery().cycle) {
// Script already loaded
console.log("Error: Another version of jQuery-Cycle is already loaded!");
} else {
// Load your script
}

но это не может выгрузить то, что уже загружено.

4

Другие решения

Есть простой взлом, который вы можете сделать на своем конце. В источнике Cycle2 заменить все $.fn.cycle с $.fn.cycle2 а также ).cycle( в ).cycle2(,
Я использую источник отсюда http://malsup.github.io/jquery.cycle2.js

После этого вы можете получить к нему доступ, как

$("#id").cycle2({option})

Вот демо http://jsfiddle.net/33g6z79h/

Здесь я предполагаю, что вы не используете события цикла http://jquery.malsup.com/cycle2/api/#events
и цикл дополнительных переходов.
Если вы используете его, вы можете сделать скрипку для своей реализации cycle2, и я был бы рад помочь 🙂

1

По вопросам рекламы [email protected]