每个帖子的WordPress user_meta

时间:2019-07-01 13:52:46

标签: wordpress data-structures

我有一个自定义插件,可以为每个用户每个帖子生成一些数据。

我现在要用从数据库发送并发送到数据库并想要一些建议的数据替换用于测试的硬编码数据。

每个用户的数据将是:

  • postID>
    • currentScore
    • totalScore
    • 总支出
    • timesWon
    • wonTotal

我的问题是-将其存储为meta_key数组或单独的字段的最有效方法是吗?

同样,这是针对每个帖子的每个用户的,所以我担心不必要地使数据库膨胀。

我也不了解如何将所有子变量分配给postID的父变量。

我想我在这个方向上是正确的,但是不明白为什么“你的钥匙”在那里:

$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 );

谢谢。

1 个答案:

答案 0 :(得分:1)

此代码将使用postID作为meta_key为每个数组保存数组 有点像这样: 用户   1301     currentScore     总成绩     ...   1302     currentScore     总成绩     ...

$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 );

如O. Jones所建议,为meta_key使用不同的前缀(例如'userScore-')