Добавить текст / HTML после описания страницы продукта Woocommerce

У меня возникают проблемы с объединением текста / html с описанием страницы продукта Woocommerce на основе категории продукта.

Я добавил в свой файл темы functions.php следующее:


    add_filter('woocommerce_short_description', 'caution_text');

    function caution_text($desc){
        if(is_product_category('stone')){
            $desc .= 'Text/HTML To Add';
        }
        return $desc;
    }

Я пробовал его как с проверкой категории продукта, так и без нее, но он все еще не объединяет текст, поэтому я склонен думать, что создал свой фильтр неправильно.

Для справки, я использую тему StoreFront с некоторыми пользовательскими модификациями, ни одна из которых не должна вызывать с ней конфликтов.

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

Спасибо!


person David Siemers    schedule 02.11.2015    source источник
comment
Я не знаю о woocommerce, но в PHP, если $desc имеет значение null, .= не сработает. У вас должен быть чек: if(isset($desc)){$desc.="Text/HTML to Add";}else{$desc="Text/HTML to Add";}.   -  person Sablefoste    schedule 02.11.2015


Ответы (1)


Код не работает, потому что is_product_category() проверяет, просматриваете ли вы категорию продукта. Код выполняется на странице одного продукта, поэтому всегда будет иметь значение false.

Вместо этого используйте has_term().

Заменять:

if(is_product_category('stone')){

С участием:

if ( has_term( 'stone', 'product_cat' ) ) {

Дополнительная литература: https://codex.wordpress.org/Function_Reference/has_term

person Nathan Dawson    schedule 02.11.2015
comment
Спасибо, это поможет с одной порцией, но у меня все еще есть проблема. Я упомянул в своем исходном посте, что пробовал его как с проверкой категории продукта, так и без нее, и он все еще не работает :(. - person David Siemers; 02.11.2015