WooCommerce - если заявление о категории товара на странице одного товара - PullRequest
0 голосов
/ 03 марта 2019

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

Я знаю, что не могу использовать is_product_category() вне страниц архива категории.Итак, я попытался использовать has_term Но это не отражает то, что я хочу.Вот код, который я использую до сих пор.

<?php if( has_term( array( 'mac', 'imac', 'macbook', 'imac-pro' ), 'product_cat' ) ) {
    echo '<a href="#">All Mac Accessories</a>';
} ?>

Что мне здесь не хватает?

1 Ответ

0 голосов
/ 06 марта 2019

Кажется, has_term нужен идентификатор записи в третьем параметре.Он не принимает третий параметр автоматически в качестве идентификатора текущего сообщения.Вы должны вручную передать текущий идентификатор сообщения.По умолчанию значение null передается в третьем параметре в соответствии с документацией.

Проверьте это здесь, https://developer.wordpress.org/reference/functions/has_term/

Я протестировал следующий код в content-single-product.php, и он отлично работает.

<?php 
    $terms = ['sagar', 'tamang'];
    if ( has_term( $terms, 'product_cat', get_the_ID() ) ) {
       echo '<h1>Yes</h1>';
    } else {
        echo '<h1>No</h1>';
    }

?>

Вы можете изменить свой код следующим образом.

<?php
    if( has_term( array( 'mac', 'imac', 'macbook', 'imac-pro' ), 'product_cat', get_the_ID() ) ) {
        echo '<a href="#">All Mac Accessories</a>';
    } 
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...