在 Woocommerce 中查找并显示产品自定义字段值

Find and display a product custom field value in Woocommerce

我正在尝试向作为产品导入的一部分创建的我的 Woocommerce 电子邮件模板显示自定义字段值。

此自定义字段名为 'Reference number'

我该怎么做?


编辑:

这个有效:

        <td class="td" style="text-align:<?php echo esc_attr( $text_align ); ?>; vertical-align:middle; font-family: 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif;">
            <?php echo wp_kses_post( $sku ); ?>
        </td>

这不是:

<td class="td" style="text-align:<?php echo esc_attr( $text_align ); ?>; vertical-align:middle; font-family: 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif;">
            <?php echo $product->get_meta( 'Reference number' );
 ?>
</td>

meta_key 已从数据库中取出

您似乎导入了带有自定义数据的产品,您需要获取特定的自定义值(自定义字段).

1) 首先你必须找出你的自定义字段是如何注册的 "product code":

在后端产品列表中,打开导入的产品编辑页面。在 "Custom fields" Metabox:

中搜索

如果您没有通过这种方式找到它,在管理产品列表中,将鼠标悬停在产品线时,您可以看到产品 ID 显示如下:

然后在您的数据库中使用 phpMyAdmin 搜索wp_postmeta table 上查找特定产品 ID (此处 53 ):

您将获得产品元数据项的列表……在 meta_key 列中搜索:

这次你应该找到了。


2) 一旦你有了 这个元键 ,假设 _product_code 是元键,你将很容易获得值。获取和显示这个自定义字段值主要有2种方式:

  • 使用 WC_Data 方法 get_meta() 从定义的 WC_Product 对象 $product:

    echo $product->get_meta( '_product_code' );
    
  • 使用来自 $product_id 定义的产品 ID 变量的 WordPress get_post_meta() 函数:

    echo get_post_meta( $product_id, '_product_code', true );
    

    或来自定义的WC_Product对象$product

    echo get_post_meta( $product->get_id(), '_product_code', true );