doudao1950 2018-10-26 11:54
浏览 37
已采纳

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

I am trying to display a custom field value to my Woocommerce email template that was created as part of a product import.

This custom field is called 'Reference number'.

How do I do this?


Edit:

This works:

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

This doesn't:

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

The meta_key has been taken from the DB

enter image description here

  • 写回答

1条回答 默认 最新

  • dongzai0020 2018-10-26 13:19
    关注

    It seems that you have imported products with custom data and you need to get a specific custom value (a custom field).

    1) First you have to find out how is registered your custom field "product code":

    In backend product list, open an imported product edit page. Search in "Custom fields" Metabox:

    enter image description here

    If you don't find it this way, in admin product list, when hovering a product line, you can get the product ID displayed as follow:

    enter image description here

    Then in your database using phpMyAdmin search on wp_postmeta table for a specific product ID (Here 53):

    enter image description here

    You will get the list of the product metadata items… Search in the meta_key column:

    enter image description here

    You should find it this time.


    2) Once you have this meta key, let say that _product_code is the meta key, you will get easily the value. There is mainly 2 ways to get and display this custom field value:

    • Using the WC_Data method get_meta() from the defined WC_Product Object $product:

      echo $product->get_meta( '_product_code' );
      
    • Using WordPress get_post_meta() function from a $product_id defined product ID variable:

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

      or from the defined WC_Product Object $product

      echo get_post_meta( $product->get_id(), '_product_code', true );
      
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题
  • ¥20 云服务Linux系统TCP-MSS值修改?
  • ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)
  • ¥20 怎么在stm32门禁成品上增加查询记录功能
  • ¥15 Source insight编写代码后使用CCS5.2版本import之后,代码跳到注释行里面
  • ¥50 NT4.0系统 STOP:0X0000007B
  • ¥15 想问一下stata17中这段代码哪里有问题呀
  • ¥15 flink cdc无法实时同步mysql数据
  • ¥100 有人会搭建GPT-J-6B框架吗?有偿