Tengo un complemento personalizado que genera algunos datos por usuario por publicación.

Estoy en el punto de reemplazar mis datos codificados por duros utilizados para las pruebas con los datos presentados y enviados a, la DB y quería algunos consejos.

Los datos por usuario serán:

  • Postid>
    • Currentscore
    • totalescore
    • totalespend
    • timwon
    • wontotal

Mi pregunta es: ¿es la forma más eficiente de almacenar esto como una matriz META_KEY o como campos separados?

Una vez más, esto será para cada usuario para cada publicación, así que me preocupa la hinchazón del DB innecesariamente.

Tampoco entiendo cómo asignar todas las variables infantiles a la variable principal de PosterID.

Creo que estoy en el camino correcto con esto, pero no entiendo por qué la 'clave' está ahí:

$the_meta_array = array (
'postID' => ‘$post->ID’,
   array (
   'currentScore' => 'value-2',
   'totalScore' => 'value-3',
   'totalSpend' => 'value-4',
   'timesWon' => 'value-5',
   'wonTotal' => 'value-6',
));  
$user_id = wp_get_current_user();
$user_meta_key = 'your-key';  
add_user_meta( $user_id, $user_meta_key, $the_meta_array );

Gracias.

0
shaun21uk 1 jul. 2019 a las 16:52

1 respuesta

La mejor respuesta

Este código guardará la matriz para cada uno basado con POSTID como el tipo de meta_key, como este: Usuario 1301 Currentscore Totalscore ... 1302 Currentscore Totalscore ...

$the_meta_array = array (
   'currentScore' => 'value-2',
   'totalScore' => 'value-3',
   'totalSpend' => 'value-4',
   'timesWon' => 'value-5',
   'wonTotal' => 'value-6',
);  
$user_id = wp_get_current_user();
$user_meta_key = 'userScore' . $post->ID;  
add_user_meta( $user_id, $user_meta_key, $the_meta_array );

Según lo sugerido por O. Jones, use un prefijo distinto para el Meta_Key (E.G. 'Userscore-')

1
CptKicks 1 jul. 2019 a las 16:02