2017-01-24 3 views
2

Я использую WooCommerce на моем сайте Wordpress как каталог (т. Е. С отключенной тележкой), и я хочу добавить виджеты на боковую панель страницы продукта на основе того, определенный тег или нет. Я пробовал использовать плагин и условные теги «Widget Logic», но даже если я отключил все другие плагины, я не смог заставить это работать где-нибудь на сайте (т. Е. В том числе с помеченным сообщением и главной боковой панелью), поэтому не только с тегами продукт в WooCommerce).Добавление виджетов на боковую панель WooCommerce с использованием тегов продуктов

Затем я добавил «PHP Code Widget» и добавил код, приведенный ниже, в нем:

<?php 
if (is_product_tag('adexample1')) { 
echo "test1"; 
} elseif (is_product_tag('adexample2')){ 
echo "test2";  
} elseif (is_product_tag('adexample3')){ 
echo "test3"; 
} elseif (is_product_tag('adexample4')){ 
echo "test4"; 
} elseif (is_product_tag('adexample5')){ 
echo "test5"; 
} else { 
echo "<p>test6</p>"; 
} 
?> 

Я проверил его с мечеными продуктов и других продуктов, но они все возвращаются «test6» в виджет.

Может ли кто-нибудь увидеть, что я делаю неправильно, или возможно, что теги продукта не работают/признаны по какой-либо причине (возможно, разрешения?). Проблема реплицируется по умолчанию в 2017 году и по основным темам WooCommerce, поэтому она не является проблемой темы?

Предложения по другому способу достижения этого также будут оценены по достоинству?

Благодаря

ответ

1

is_product_tag() Условные не будет работать, чтобы получить продукт, который имеет тег продукта, так как он используется для возврата верно при просмотре страницы архива продукта тегов.

Для этого добиться того, что вы хотите сделать, вам нужно использовать WordPress has_term() условной функции с определенным $ систематики аргумент 'product_tag', таким образом:

// Define BELOW your product tag ID, slug or name (or an array of values) 
$term = 'adexample1'; 
$term2 = 'adexample2'; // ... 

// HERE are your conditions with your code 
if(has_term($term, 'product_tag')){ 
    echo "test1"; 
} elseif(has_term($term2, 'product_tag')){ 
    echo "test1"; 
} else { 
    echo "<p>test6</p>"; 
} 

Это должно работать, как это работает для категорий товаров с определенный аргумент таксономии $ 'product_cat' ...

+0

Это сработало отлично, и ваш отзыв очень полезен, спасибо! – Riverbum75

+0

@ Riverbum75 Добро пожаловать ... Это был первый раз, когда я использовал функцию 'has_term()' с тегами продукта WooCommerce ... Но было логично, что если он работает с таксономией категорий товаров, он также будет работать с таксономией тегов продуктов ... – LoicTheAztec

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