Как хранить несколько экземпляров настроек плагина для различных шорткодов

21 дек. 2017 г., 00:32:56
Просмотры: 132
Голосов: 0

Я совсем новичок в разработке плагинов для WordPress. У меня есть страница настроек плагина, которая содержит одно текстовое поле и кнопку. Когда URL вводится в текстовое поле и сохраняется с помощью кнопки, этот URL отображается там, где расположен шорткод. Пока что это работает. Но что, если я хочу сохранить несколько URL-адресов и создать несколько шорткодов?!

Я могу создать интерфейс с кнопкой [новый URL], при нажатии на которую генерируется новая форма с уникальным значением для шорткода. Но как мне добавить это в базу данных, а не заменять предыдущее значение?

По сути, в этом вопросе я ожидаю подсказки, как подойти к этому случаю. Существует множество плагинов галерей, которые работают аналогично. Может кто-нибудь объяснить идею реализации?

Заранее спасибо.

Комментарии

для создания множества объектов можно использовать пользовательский тип записи: https://codex.wordpress.org/Post_Types#Custom_Post_Types

mmm mmm
21 дек. 2017 г. 00:57:40

Почему бы просто не использовать атрибут шорткода, например [my_shortcode url="http://example.com/"]?

Jacob Peattie Jacob Peattie
21 дек. 2017 г. 01:48:12

@JacobPeattie это невозможно в моем случае, так как я ищу решение, подобное плагинам для фотогалерей, где всегда есть кнопка на странице настроек плагина для создания новой галереи, выбора фотографий и т.д., а затем отображения галереи через предоставленный шорткод.

DannyBoy DannyBoy
21 дек. 2017 г. 05:40:52

Как сказал @mmm, вам нужен пользовательский тип записи.

Jacob Peattie Jacob Peattie
21 дек. 2017 г. 05:45:50

@JacobPeattie Спасибо за комментарий. Это больше похоже на то, что мне нужно. Очевидно, этот плагин очень обширный, но идея схожа с тем, что я ищу — создание объектов через страницу настроек. Есть мысли по этому поводу?

DannyBoy DannyBoy
21 дек. 2017 г. 07:52:57

Все это достижимо с помощью пользовательского типа записи и произвольных полей. Если вам не нужен тип записи, то сократить путь не получится. Вам понадобятся пользовательские таблицы базы данных и API. По сути, вы будете работать напрямую с PHP/MySQL.

Jacob Peattie Jacob Peattie
21 дек. 2017 г. 08:17:19
Показать остальные 1 комментариев