我正在尝试将元值数组添加到单个元键并将它们显示在列表中,如下所示:
- 评估一,通过
- 评估二,通过
我用于更新/添加 user_meta 的代码:
$user_id = $current_user->ID;
$key = 'assessment_result';
$assessment_name = get_the_title();
$new_value = array($assessment_name, 'Passed');
$meta = get_user_meta($user_id, $key, false);
if ( ! array($meta) ) {
$meta = array();
}
$meta[] = $new_value;
update_user_meta($user_id, $key, $meta, $unique);
完成两次评估后,我的数组如下所示:
Array ( [0] => Array ( [0] => Array ( [0] => Array ( [0] => Assessment Two [1] => Passed ) ) [1] => Array ( [0] => Assessment One [1] => Passed ) ) ) 1
数组似乎太多了!
然后我的查询如下所示:
$user_assessment_results = get_user_meta($user_id, 'assessment_result', true);
echo '<ul>';
foreach ($user_assessment_results as $user_assessment_result) {
echo '<li>';
$output = array();
foreach ($user_assessment_result as $result_item) {
$output[] = $result_item;
}
if( count( $output ) ) echo join( ", ", $output );
echo '</li>';
}
echo '</ul>';
结果是:
- 数组
- 评估一,通过
你能建议我哪里出错了吗?
最佳答案
我发现了问题$meta = get_user_meta($user_id, $key, false);
应该是$meta = get_user_meta($user_id, $key, true);
关于mysql - 添加/更新并显示元值数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47287113/