Отображать текст после краткого описания товара для определенного атрибута товара в WooCommerce - PullRequest
1 голос
/ 10 мая 2019

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

Я попробовал несколько фрагментов кода, но ни один из них не работает. У меня нет проблем, чтобы заставить их работать с категориями, но я просто хочу это для определенных атрибутов продуктов - Agave

function filter_woocommerce_short_description( $post_excerpt ) {
    global $post;

    if ( has_term( "agave", "categories", $post->ID ) ) {
        $post_excerpt .= "<br/>" . "Text Here";
    }
    return $post_excerpt; 
};

add_filter('woocommerce_short_description', 'filter_woocommerce_short_description',10, 1  );

Я ожидаю, что текст будет отображаться под определенными атрибутами (Агава), но они не

Я пытался использовать это

    add_filter('woocommerce_short_description', 
    'filter_woocommerce_short_description',10, 1  );
    function filter_woocommerce_short_description( $short_description ) {
     global $product;

   $string_values = $product->get_attribute('agave');

   if ( strpos($string_values, 'agave') !== false ) {
  $short_description .= '<br>' . __("Testing This Out - AGAVE");
    }
   return $short_description;
   }

Ответы [ 2 ]

1 голос
/ 10 мая 2019

Для определенного атрибута продукта"агава" вы будете использовать что-то немного другое:

add_filter('woocommerce_short_description', 'filter_woocommerce_short_description',10, 1  );
function filter_woocommerce_short_description( $short_description ) {
    global $product;

    $string_values = $product->get_attribute('agave');

    if ( ! empty($string_values) ) {
        $short_description .= '<br>' . __("Text Here");
    }
    return $short_description;
}

Код помещается в файл function.php вашей активной дочерней темы (или активной темы)).Протестировано и работает.

Теперь, если "agave" является термином атрибута продукта, вам нужно установить имя атрибута продукта в $product->get_attribute('attribute-name'); и заменить условие на что-то вроде:

if ( strpos($string_values, 'agave') !== false ) {

Примечание: Таксономия для категории продукта product_cat, но не categories

0 голосов
/ 14 мая 2019
 add_filter('woocommerce_short_description', 'filter_woocommerce_short_description',10, 1  );
 function filter_woocommerce_short_description( $short_description ) {
     global $product;

   $string_values = $product->get_attribute('agave');
   $agave = $attributes["agave"];
   if ( $agave ) {
        $short_description .= '<br>' . __("Testing This Out - AGAVE");
    }
   return $short_description;
   }
...