我是编码新手。但我这样做并得到了预期的值数组。太棒了!
$thearray= get_post_meta( $product, $metakey, true );
如果我有meta_value(当然还有键)并且希望post_ids 作为数组怎么办?
谢谢
最佳答案
您无法从定义的元键和元值获取帖子 ID,因为许多帖子 ID 可以具有相同的元键和元值。
仅当元键的元值唯一时,您才可以使用自定义 SQL 查询,例如:
function get_post_id_from_meta( $meta_key, $meta_value ) {
return $wpdb->get_var( $wpdb->prepare("
SELECT post_id
FROM {$wpdb->prefix}postmeta
WHERE meta_key = '%s'
AND meta_value = '%s'",
$meta_key, $meta_value ) );
}
它应该可以工作(仅当元键的元值是唯一的时)。
使用示例:
$post_id = get_post_id_from_meta( '_color', 'Red' );
从 WC_product
对象获取元数据
对于 WC_product
对象,使用定义的元键中的 WC_Data
方法 get_meta()
:
$value = $product->get_meta('some_meta_key');
从帖子 ID(或产品 ID)获取元数据
使用 WordPress get_post_meta()
函数从定义的元 key 的产品 ID 中获取:
$value = get_post_meta( $product_id, 'some_meta_key', true );
在这两种情况下,some_meta_key
都需要替换为正确的所需元 key 。
关于php - 如何从 WooCommerce 中的元键和元值获取产品 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66067286/