Cum să stocați opțiuni cu sintaxa a:n:{{}} în wp_options?
Analizez cum funcționează un anumit plugin și am observat că stochează datele pentru option_value în wp_options în acest format 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";}}
Îmi place această metodă, deoarece folosește doar un singur rând pentru a stoca datele personalizate, iar curățarea la dezinstalare este ușoară. Există o metodă standard pentru a efectua operații get/set pe un câmp personalizat care să rezulte în această sintaxă?
Actualizare: Mulțumesc lui Denis și celorlalți care au adăugat răspunsuri.
Iată un tutorial excelent despre această metodă în cazul în care mai cineva are această întrebare > http://striderweb.com/nerdaphernalia/2008/07/consolidate-options-with-arrays/

Mulțumesc, Denis. Iată un tutorial excelent despre această metodă, în caz că mai are cineva această întrebare > http://striderweb.com/nerdaphernalia/2008/07/consolidate-options-with-arrays/

Notă: De asemenea, poți transmite un obiect (stdClass de exemplu). Când folosești get_option vei primi exact același obiect înapoi :)

Serializarea se face automat, dar dacă dorești să știi cum să faci acest lucru manual, funcția pe care trebuie să o analizezi se numește serialize().

Conform altor răspunsuri, (de)serializarea este efectuată automat pentru formate de date mai complexe (tablouri, obiecte) atunci când opțiunile sunt stocate sau preluate. Acest lucru se aplică și pentru transienti și alte funcționalități.
Din punct de vedere tehnic, acest lucru este realizat prin utilizarea internă a funcțiilor maybe_serialize()
și maybe_unserialize()
, care încearcă să determine dacă datele trebuie procesate sau transmise așa cum sunt.
