为 WooCommerce 中的每种运输方式添加单独的图标

Add individual icon to each shipping method in WooCommerce

我正在尝试为每个送货选项添加自定义图标,但无济于事。

我试过这个答案:

到目前为止,我的代码如下所示:

add_filter( 'woocommerce_cart_shipping_method_full_label', 'filter_woocommerce_cart_shipping_method_full_label', 10, 2 ); 

function filter_woocommerce_cart_shipping_method_full_label( $label, $method ) { 
   // Use the condition here with $method to apply the image to a specific method.      

   if( $method->method_id == "shipping_method_0_flat_rate2" ) {
       $label = $label."https://example.com/wp-content/uploads/2020/05/icon.png";

   }
   return $label; 
}

但这就是行不通。我想我提供文件路径或方法 ID 的方式存在问题。

感谢任何帮助。

你离得很近了……你需要在IF语句中使用$method->id === "flat_rate:2"而不是$method->method_id == "shipping_method_0_flat_rate2"

对于图标,您还需要包含完整的 <img> html 标签和来源 link…

所以在你的代码中:

add_filter( 'woocommerce_cart_shipping_method_full_label', 'filter_woocommerce_cart_shipping_method_full_label', 10, 2 ); 

function filter_woocommerce_cart_shipping_method_full_label( $label, $method ) {      
   // Targeting shipping method "Flat rate instance Id 2"
   if( $method->id === "flat_rate:2" ) {
       $label .= '<img src="https://example.com/wp-content/uploads/2020/05/icon.png" />';

   }

   return $label; 
}

代码进入您的活动子主题(或活动主题)的 functions.php 文件。已测试并有效。