Как сохранять опции с синтаксисом a:n:{{}} в wp_options?
Я изучаю работу одного плагина и заметил, что он сохраняет свои данные для option_value в wp_options в таком формате массива...
a:2:{i:20;a:2:{s:8:"original";s:15:"20.original.jpg";s:9:"thumbnail";s:12:"20.thumb.jpg";}i:8;a:2:{s:8:"original";s:14:"8.original.png";s:9:"thumbnail";s:11:"8.thumb.png";}}
Мне нравится этот метод, так как он использует только одну строку для хранения моих пользовательских данных, а очистка при удалении проста. Есть ли стандартный способ выполнять операции get/set для пользовательского поля, который приводит к такому синтаксису?
Обновление: Спасибо Денису и другим, кто добавил ответы.
Вот отличный учебник по этому методу, если у кого-то ещё возникнет такой вопрос > http://striderweb.com/nerdaphernalia/2008/07/consolidate-options-with-arrays/

Спасибо, Денис. Вот отличный учебник по этому методу, если у кого-то еще возникнет такой вопрос > http://striderweb.com/nerdaphernalia/2008/07/consolidate-options-with-arrays/

Примечание: Вы также можете передать объект (например, stdClass). Когда вы используете get_option, вы получите тот же самый объект обратно :)

Сериализация выполняется автоматически, но если вы хотите узнать, как сделать это вручную, функция, на которую следует обратить внимание, называется serialize()

Как упоминалось в других ответах, (де)сериализация выполняется автоматически для более сложных форматов данных (массивы, объекты) при сохранении или извлечении настроек. Это также применяется к транзиентам (transients) и другим функциям.
Технически это реализовано через внутреннее использование функций maybe_serialize()
и maybe_unserialize()
, которые определяют, нужно ли обрабатывать данные или передавать их как есть.
