Cómo almacenar opciones con sintaxis a:n:{{}} en wp_options
Estoy analizando cómo funciona un plugin en particular y noté que almacena sus datos para option_value en wp_options en este formato de array...
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";}}
Me gusta este método, ya que solo usa una sola fila para contener mis datos personalizados y la limpieza durante la desinstalación es sencilla. ¿Existe una forma estándar de realizar operaciones get/set en un campo personalizado que resulte en esta sintaxis?
Actualización: Gracias a Denis y a los demás que han respondido.
Aquí hay un excelente tutorial sobre este método en caso de que alguien más tenga esta pregunta > http://striderweb.com/nerdaphernalia/2008/07/consolidate-options-with-arrays/

Gracias Denis. Aquí hay un excelente tutorial sobre este método en caso de que alguien más tenga esta pregunta > http://striderweb.com/nerdaphernalia/2008/07/consolidate-options-with-arrays/

Nota: También puedes pasar un objeto (stdClass por ejemplo). Cuando uses get_option obtendrás exactamente el mismo objeto de vuelta :)

La serialización se realiza automáticamente, pero si deseas saber cómo hacer esto manualmente la función que debes revisar se llama serialize()

Según otras respuestas, la (des)serialización se realiza automáticamente en formatos de datos más complejos (arrays, objetos) cuando se almacenan o recuperan opciones. Esto también se aplica a transitorios y otras funcionalidades.
Técnicamente esto se realiza mediante el uso interno de las funciones maybe_serialize()
y maybe_unserialize()
que intentan determinar si los datos necesitan ser procesados o pasarse tal cual.
