所以我正在使用wordpress并使用以下代码,我得到以下内容。我知道这必须是一个基本问题,但我想知道这意味着什么:
[1012] => Array ( [0] => 1 )
[1013] => Array ( [0] => 0 )
[1014] => Array ( [0] => 0 )
[1018] => Array ( [0] => 0 )
PHP:
<?php
$all_meta_for_user = get_user_meta(get_current_user_id());
print_r( $all_meta_for_user );
?>
答案 0 :(得分:2)
此数据是用户的元数据https://codex.wordpress.org/Function_Reference/get_user_meta
正如您所说,这是您的元数据。这里有两件事:首先,我将所有数据存储在一个密钥中,然后我将删除不需要的单元素数组:
[my_plugin] => Array( [1012] => 1, [1013] => 0 ...)
这降低了您的数据与其他插件数据混合,发生冲突等的可能性。此外,由于可能不需要第二个数组,因此可以更轻松地访问它。
当你拥有它时,只需要访问这样的值:
if ($all_meta_for_user['my_plugin'][$id] == 1) show_the_post()
其中$ id是帖子ID。
要使用单个密钥,我会做这样的事情(未经测试):
$posts_meta_for_user = get_user_meta(get_current_user_id(), 'my_plugin', true);
if (is_array($posts_meta_for_user)) {
$posts_meta_for_user[$new_id] = $new_value;
update_user_meta(get_current_user_id(), 'my_plugin', $posts_meta_for_user);
} else {
$posts_meta_for_user = array($new_id => $new_value);
add_user_meta(get_current_user_id(), 'my_plugin', $awesome_level);
}
请注意,我们只获得名为&#39; my_plugin&#39;的元值。并通过检查它是一个数组测试它已经有一个值。如果是,我们会更新它,如果不是,我们会创建一个新的。 $new_id
是您要存储的帖子ID,$new_value
是值。