在我的代码中,我通过以下代码增强了我的内容类型:
add_post_meta( $post->ID, 'favourite_fruit_code', $value )
一切都进行得很顺利,但我希望能够指定我希望在DB中创建的列类型。
在某些情况下,我们需要不同的DB列类型是合适的-取决于我们要存储的数据。我如何具体说明这一点?(例如,如果我希望我的字段以TinyIntegerField
或BigIntegerField
等的形式存储在DB中)。
发布于 2019-02-25 22:57:35
使用add_post_meta
时,数据库中没有创建任何列。所有post元数据都存储在wp_postmeta
表(https://codex.wordpress.org/Database_Description#Table:_wp_后元)中。这是那张表的结构:
post_id
是分配给这个元数据的post的ID。meta_key
是元数据的关键(在您的例子中是favourite_fruit_code
)meta_value
是该元的值。所以您不能设置列的类型,因为没有列,也不能设置值的类型,因为所有的值都存储为LONGTEXT。
另一方面,不需要设置该列的类型。在设置值之前,您应该对这些值进行清理和验证,并且可以使用meta_type
在元查询中,以便正确地比较这些值。
https://wordpress.stackexchange.com/questions/329915
复制