好的,那么您有一些使用add_post_meta
您想让它只添加唯一的值。
这里的问题是add_post_meta
完全按照它的名字所说的去做——它添加了一个post元值。调用的函数有第四个参数unique
, 但它是基于关键而非价值的。
所有这些都意味着你必须自己做检查。。。因此,您必须使用get_post_meta
并检查是否已经存在具有给定值的元。。。
那么这是什么样子呢?
代码中的某个地方有一行如下所示:
add_post_meta( $post_id, $meta_key, $meta_value );
只需将其更改为:
$existing_pms = get_post_meta( $post_id, $meta_key );
if ( ! in_array( $meta_value, $existing_pms ) ) {
add_post_meta( $post_id, $meta_key, $meta_value );
}