Mysql
 sql >> Database >  >> RDS >> Mysql

Matrice di meta valori serializzata WooCommerce nella tabella wp_postmeta

È un array serializzato di stringhe di metadati e s:31 è la lunghezza di pa_kapaciteta-rezervoarja-za-go in questo caso. a:6 è il numero ok coppie chiave/valore elementi per ogni array (o sottoarray) .

Quindi un array serializzato:

  • inizia sempre con a: per array, più il numero di elementi chiave/valore in esso contenuti e : .
  • poi { per gli articoli inizia
  • poi s: per stringa, più la lunghezza dell'elemento stringa (chiave o valore) e : , più la chiave o la stringa del valore.
  • poi ; per separare ogni componente chiave o valore
  • quindi } per articoli finiti

Matrici serializzate , può essere non serializzato utilizzando WordPress maybe_unserialize() (o unserialize() in PHP) .
Un array normale può essere serializzato utilizzando WordPress maybe_serialize() (o serialize() in PHP) .

Le funzioni di Wordpress come add_post_meta() o update_post_meta() serializzeranno sempre un array prima di salvare un meta_value in wp_postmeta tavolo.

Stessa cosa per WooCommerce con alcuni WC_Data correlati metodo come save() su Oggetti CRUD e tutte le relative classi di archivi dati.

utilizzando maybe_unserialize() sul tuo array di stringhe serializzate darà:

$values = array( 
    'pa_hrup' => array(
        'name'         => 'pa_hrup',
        'value'        => '',
        'position'     => '0',
        'is_visible'   => '1',
        'is_variation' => '0',
        'is_taxonomy'  => '1'
    ),
    'pa_kapaciteta-rezervoarja-za-go' => array(
        'name'         => 'pa_kapaciteta-rezervoarja-za-go',
        'value'        => '',
        'position'     => '1',
        'is_visible'   => '1',
        'is_variation' => '0',
        'is_taxonomy'  => '1'
    )
);