检查Woocommerce 3中的订单商品元数据值

时间:2018-06-13 05:10:36

标签: php wordpress woocommerce metadata orders

我正在使用Woocommerce最新版本3.4.2。插件:" WC Fields Factory"或者" Woocommerce Custom Product Addons"。 如何对元数据进行值检查? 我读了很长时间的官方文​​档,但找不到解决方案。

实施例: 我在数组中有自定义值。我想检查一下 - 如果有"糖"的值,那么......

Meta $key - '可选择选择'

$custom_meta = $item->get_meta('Optionally select'); // Show all value

foreach( $order->get_items() as $item_id => $item){
    $skus[] = $product->get_sku();

    // Here need add check and formate meta value
}

我想实现这个目标: $skus[] = //如果$custom_meta有价值'糖,我为$skus[] = '50000'提供了价值

2 个答案:

答案 0 :(得分:2)

由于订单商品元数据值为 a逗号分隔字符串,您可以这样使用strpos()

$ops = $item->get_meta('Optionally select');
if( strpos( $ops, 'Sugar' ) !== false ) $skus[] = '50000';

答案 1 :(得分:0)

您可以使用array_search

$custom_meta = $item->get_meta('Optionally select'); // Show all value

$sku = (array_search('Sugar', $custom_meta) !== false)
  ? '50000'
  : '0'; // default value