php - 如何从 WooCommerce 中的元键和元值获取产品 ID

标签 php wordpress woocommerce metadata product

我是编码新手。但我这样做并得到了预期的值数组。太棒了!

$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/

相关文章:

php - 如何使用从一个类到另一个类的连接

php - 使用 IMAP/SMTP 在 Gmail 中创建邮件(即草稿)?

php - 从另一个数据库中定义的sku查询产品图片

php - MailChimp API 2.0 批量订阅 PHP

php - 折扣的 Magento paypal 舍入问题

wordpress - 配置新的 wordpress 安装时出现 403 错误

javascript - 滚动到联系表单 7 中的已验证字段(wordpress)

html - Woocommerce 在添加到购物车按钮后添加图片

wordpress - 我希望 WooCommerce 立即将现有的自定义帖子类型视为产品,而无需重新保存每个帖子

php - Woocommerce 更新订单行项目小计