Ну смотрите, Вы можете к ID блока с галереей добавлять timestamp, пропускать название через uniqid(), таким образом у Вас не 100% не будет 2х одинаковых ID на странице, соответственно Вы сможете загрузить две или более галереи на страницу.
Всё это дело всё равно в PHP забито, так что Вы просто можете сделать что-то подобное:
// ...
$id = uniqid('galleria');
// ...
// <div id="galleria"></div> меняем на:
<div id="$id"></div>
// в JS части
// Galleria.run("#galleria", { меняем на
Galleria.run("$id", {
Вот по примеру такого псевдокода должно решить проблему.
Честно — вообще не вижу случаев, тем более здесь, чтоб править jQuery.
Я бы Ваш код поправил. Например, у Вас там галерея по ID. А что если Вы вставите несколько галерей на страницу? Скорее всего не будет работать, так ещё и кашу из JS и HTML продублирует в кол-ве вставленных шорткодов.
У Вас там две переменных, speed и clickNext, которыми Вы засоряете window, их любой другой плагин может перезаписать.
Если бы Вы обернули код, как я предложил выше — (function ($) {}(jQuery));, то, как минимум, не нужно было бы мутить с jQuery и не пихали бы всё в глобальный скоуп.
Далее — раз уже у вас захардкорено всё в куче, то и ID у галереи можно хоть чем-нибудь разбавить, чтоб можно было вставить несколько шорткодов.
Да, это выбор каждого. Я предпочитаю использовать уже написанное и покрытое тестами, а не писать велосипеды. В некоторых случаях своё, конечно, оправданно, не спорю.
Я бы в контексте Symfony + API добавил бы в статью ещё и рассказ об FOSRestBundle, о какой-нибудь JWT аутентификации, обновлении и удалении токена и прочем. Ибо когда мне пришлось выполнять данную задачу, то столкнулся с кучей проблем уже на первых парах.
/**
* Plugin Name: %Имя_Вашего_Великолепного_Плагина%
*/
add_action('add_attachment', function ($attachmentId) {
$attachment = get_post($attachmentId);
$path = get_attached_file($attachmentId);
// в $path у Вас полный путь к файлу, а в $attachment - объект WP_Post вашего аттачмента
// ... здесь Ваша логика для того, чтоб переименовать файл.
});
Вот по сути весь Ваш плагин. Вам просто нужно в объекте $attachment заменить урл в свойстве guid на новый, который будет вести к переименованному файлу. Как-то так:
Да. «add_attachment» срабатывает после загрузки аттачмента и в кач-ве параметра передаст ID. По ID можно получить все данные по аттачменту и делать с ним что угодно
Было же популярное приложение (если не ошибаюсь — Яндекс.Диск), в котором авторы случайно переборщили с rm -rf и накатили это обновление пользователям. Так что описанный Вами кейс вполне реален, учитывая, что для доверенных приложений просьба рута выглядит не так пугающе (по-крайней мере для меня) :)
Так что если думаете релизить его на вп.орг, то Вам ещё много работы предстоит
Было бы куда лучше. У Вас бы весь этот код не дублировался бы на каждый вызов шорткода.
Всё это дело всё равно в PHP забито, так что Вы просто можете сделать что-то подобное:
Вот по примеру такого псевдокода должно решить проблему.
Я бы Ваш код поправил. Например, у Вас там галерея по ID. А что если Вы вставите несколько галерей на страницу? Скорее всего не будет работать, так ещё и кашу из JS и HTML продублирует в кол-ве вставленных шорткодов.
У Вас там две переменных, speed и clickNext, которыми Вы засоряете window, их любой другой плагин может перезаписать.
Если бы Вы обернули код, как я предложил выше —
(function ($) {}(jQuery));
, то, как минимум, не нужно было бы мутить с jQuery и не пихали бы всё в глобальный скоуп.Далее — раз уже у вас захардкорено всё в куче, то и ID у галереи можно хоть чем-нибудь разбавить, чтоб можно было вставить несколько шорткодов.
или
Вас такое чем конкретно не устраивает, чтоб второй раз jQuery загружать?
Собственно в документации ф-ции, которую Вы приводите в коде это и так написано — codex.wordpress.org/%D0%A1%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D1%87%D0%BD%D0%B8%D0%BA_%D0%BF%D0%BE_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D1%8F%D0%BC/wp_enqueue_script
За бандл отдельное спасибо ;)
Было бы интересно почитать :)
Вот по сути весь Ваш плагин. Вам просто нужно в объекте $attachment заменить урл в свойстве guid на новый, который будет вести к переименованному файлу. Как-то так:
2. В начале файла напишите блок с комментарием:
3. add_action на add_attachment
4. По ID аттачмента меняйте ему имя
5. Включайте свой плагин
Это было бы быстрее и практичнее, чем каждый раз править файлы движка.
GET-запрос должен получать данные, а не записывать. Пишите через POST.