J'ai trouvé un script XML pour décodeur WP qui stocke les données sous forme de tableau dans un champ méta personnalisé. Quel est le meilleur moyen d'extraire l'information?
Par exemple, comment pourrais-je afficher le champ "Fabriqué dans" comme "CANADA"?
[_ttn_i_details] => Array ( [0] => a:5:{s:9:"engine_id";a:1:{i:0;s:9:"300000225";}s:15:"transmission_id";a:1:{i:0;s:6:"257691";}s:5:"plant";a:1:{i:0;s:23:"Oshawa, Ontario, Canada";}s:15:"Manufactured in";a:1:{i:0;s:6:"CANADA";}s:22:"Production Seq. Number";a:1:{i:0;s:6:"151411";}} )
L'exemple de code ci-dessus a été généré via print_r(get_post_custom($post->ID));
.
J'apprécie vraiment toute idée, aussi petite soit-elle. :)
Utilisez unserialize () pour le convertir en tableau.
$mydata = 'a:5:{s:9:"engine_id";a:1:{i:0;s:9:"300000225";}s:15:"transmission_id";a:1:{i:0;s:6:"257691";}s:5:"plant";a:1:{i:0;s:23:"Oshawa, Ontario, Canada";}s:15:"Manufactured in";a:1:{i:0;s:6:"CANADA";}s:22:"Production Seq. Number";a:1:{i:0;s:6:"151411";}}';
$mydata = unserialize($mydata);
echo $mydata['Manufactured in'][0];
Edit - Pensée connexe - il est important de garder à l'esprit lors du stockage de métadonnées sérialisées de la sorte que vous limitez votre capacité à utiliser ces données dans des requêtes, si cela vous préoccupe. Par exemple, il n'est pas si facile d'écrire des requêtes du type "affichez toutes les pièces fabriquées au Canada", ou commandez les résultats par ID de moteur, car ces données sont cachées avec un tas d'autres données dans un seul champ.