Условно изменить несколько специфических цен на товары в Woocommerce - PullRequest
0 голосов
/ 13 сентября 2018

Я использую код отсюда: Условно измените цену конкретного продукта в Woocommerce , чтобы увеличить цену определенного продукта на 10 долларов США, за исключением страниц с товарами из определенной категории, и если в корзине есть что-то из этогоКатегория.

Однако теперь у меня есть более одного продукта, который мне нужно увеличить цену.Я попытался изменить строку 7:

if( $product->get_id() != 87 ) return $price_html;

на что-то вроде

if( $product->get_id() != 87 || $product->get_id() != 2799 ) return $price_html;

для целевого продукта 87 или 2799, но он просто нарушает код, и даже продукт 87 больше не отображается на 10 долларов больше.Я пробовал вариации на ||и или, но ничего, что я делаю, не работает.

Помощь очень ценится:)

Ответы [ 2 ]

0 голосов
/ 13 сентября 2018

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

add_filter( 'some_hook', 'some_function' );
function some_function( $price_html, $product ){
    if( $product->get_id() != 87 || $product->get_id() != 2799 ) return $price_html;

    // The function code 

    return $price_html; // at the end
}

Вы будете использовать что-то вроде:

add_filter( 'some_hook', 'some_function' );
function some_function( $price_html, $product ){
    if( in_array( $product->get_id(), array( 87, 2799 ) ) ){

        // The function code 

    }

    return $price_html; // at the end
}

И это будет работать для массива из нескольких продуктов

0 голосов
/ 13 сентября 2018

Ваше , если условие не имеет смысла, потому что оно всегда будет возвращать true.Попробуйте заменить или на и :

if( $product->get_id() != 87 && $product->get_id() != 2799 ) return $price_html;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...