2014-10-23 5 views
0

Я хочу заменить миниатюру продукта на основе запаса. Это работает, если я переверну его непосредственно в wcocommerce_get_product_thumbnail функции wc-template-функции, но не тогда, когда я пытаюсь подключиться к ней из functions.php. Это мой код:Woocommerce add_action не работает

function sold_out_thumb ($size = 'shop_catalog', $placeholder_width = 0, $placeholder_height =  0) { 
    global $product; 
    global $post; 
    if (has_post_thumbnail()) 
     if ($product->price > 0 && !$product->is_in_stock()) 
      return get_the_post_thumbnail($post->ID, $size,array('class' => 'lighter')); 
     else 
      return get_the_post_thumbnail($post->ID, $size); 

    elseif (wc_placeholder_img_src()) 
     return wc_placeholder_img($size); 
    } 

    add_action ('woocommerce_get_product_thumbnail','sold_out_thumb',90); 

Любые идеи?

ответ

2

Как вы можете видеть в wc-template-functions.php, почти все функции шаблона находятся внутри if (!function_exists()). Таким образом, создатели плагина позволили нам переопределить функции шаблона, поэтому просто создайте функцию woocommerce_get_product_thumbnail() в функции functions.php, и оригинал не будет загружен.

1

Существует никаких действий под названием woocommerce_get_product_thumbnail, поэтому это не работает для вас. На самом деле это функция, называемая woocommerce_get_product_thumbnail(). Если вы посмотрите на код no action hook.

Смежные вопросы