Добавьте индивидуальный значок для каждого способа доставки в WooCommerce - PullRequest
2 голосов
/ 07 мая 2020

Я пытаюсь добавить пользовательский значок к каждому варианту доставки, но безрезультатно.

Я попробовал этот ответ: Добавление пользовательских значков в варианты доставки в Woocommerce Cart и Checkout .

И мой код пока выглядит так:

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 метода.

Любая помощь приветствуется.

1 Ответ

1 голос
/ 07 мая 2020

Вы очень близко ... Вам нужно использовать $method->id === "flat_rate:2" вместо $method->method_id == "shipping_method_0_flat_rate2" в операторе IF.

Также вам нужно для значка включить полный тег <img> html со ссылкой на источник…

Итак, в вашем коде:

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 файл вашей активной дочерней темы (или активной темы). Проверено и работает.

...