你的提议会破坏WordPress的许多插件和内部结构。Post meta keys are not unique.
API级别也支持这一点:
// on save...
add_post_meta( $post_id, \'lead\', \'Tom\' );
add_post_meta( $post_id, \'member\', \'Bob\' );
add_post_meta( $post_id, \'member\', \'Janet\' );
add_post_meta( $post_id, \'member\', \'Alice\' );
add_post_meta( $post_id, \'member\', \'David\' );
add_post_meta( $post_id, \'member\', \'Siobhan\' );
add_post_meta( $post_id, \'member\', \'Mikoto\' );
add_post_meta( $post_id, \'member\', \'Hans\' );
// on the frontend...
$lead = get_post_meta( $post_id, \'lead\', true );
$members = get_post_meta( $post_id, \'member\' );
echo "<p>The leader is: ".$lead."</p>";
echo "<p>Members:</p><ul>";
foreach ( $members as $member ) {
echo "<li>".$member."</li>";
}
echo "</ul>";
注意第三个参数
get_post_meta
, 如果
true
它返回找到的第一个值,但
false
它返回作为数组找到的所有值。
它对中继器领域非常有用。因此,可能有充分的理由为具有相同值的帖子存储多个帖子元键/值行。
至于为什么WooCommerce可能会存储多行相同的数据,您必须在WooCommerce论坛或支持渠道上询问,因为第三方插件不属于主题。在这里