如《食品法典》第页所述get_user_meta()
:
NOTE
如果元值不存在且$single为true,则函数将返回空字符串。如果$single为false,则返回空数组。
所以我建议这样做:
! empty( $themeta )
对其他问题进行重新分级,只需按以下操作即可保存数组:
$the_meta_array = array (
\'key-1\' => \'value-1\',
\'key-2\' => \'value-2\',
);
$user_id = 12345;
$user_meta_key = \'your-key\';
add_user_meta( $user_id, $user_meta_key, $the_meta_array );
这足以将数组保存到用户元数据中。
add_user_meta()
只是一个包装
add_metadata()
, 后期使用
maybe_serialize()
, 因此,数组将另存为序列化字符串。
关于取回保存的阵列的另一个注意事项。您使用get_user_meta()
, 这只是一个包装get_metadata()
, 后期使用maybe_unserialize()
, 因此将返回一个数组。但你可能想用$single
设置为true
以后检索元数据时。因为$single
参数为false
:
$single
(布尔)(可选)如果为true,则返回元数据字段的值,如果为false,则返回数组。如果$key为空,则此参数无效
默认值:false
$user_id = 12345;
$user_meta_key = \'your-key\';
$single = true;
$retrieved_meta_array = get_user_meta( $user_id, $user_meta_key, $single );
如果您不使用
true
您将在一个额外的数组中返回您的数组,如上所述,这很可能是您不想要的,因为在这种情况下,您保存的数组实际上是您想要返回的单个值-ergo设置
$single
到
true
就是这样做的。