WooCommerce wc_price ($ цена) и вариации и головная боль - PullRequest
1 голос
/ 15 апреля 2020

У меня начальные проблемы с некоторыми PHP ...

Я бы хотел изменить ценовую метку для переменного продукта в зависимости от того, сдан ли в аренду или продан вариант продукта. У каждого продукта есть оба варианта.

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

Так что я вырезал некоторый код, найденный здесь попытаться отобразить другой ярлык в зависимости от результатов публикации названия продукта. В настоящее время выглядит так (но не работает!), Есть ощущение, что это совершенно неправильный подход, кто-нибудь может помочь?

function sv_change_product_html( $price_html, $product ) {

$is_rental = get_post_meta( $product->id, 'post_title' );
$price = $product->get_regular_price();

if (strpos($is_rental, "Rent") !== false) {
    $price_html = '<span class="amount">' . wc_price( $price ) . ' per week</span>';    
}
 else
 {
$price_html = '<span class="amount">' . wc_price( $price ) . ' buy today</span>';
}

return $price_html;
}    

1 Ответ

1 голос
/ 15 апреля 2020

Вероятно, лучшим подходом было бы проверить сопутствующий атрибут продукта, в котором хранятся значения по базисам, по которым у вас есть варианты («аренда» / «купить»), а затем вести свой бизнес оттуда, поскольку этот подход кажется хакерским и может потерпеть неудачу, если владелец магазина решит изменить способ именования своих продуктов в будущем.

Кроме того, вы можете получить свойства продукта, такие как имя ($product->get_name()), атрибут ($product->get_attribute(<attr_name>)) и т. д. c., используя методы из классов WooCommerce ( Product / Product Variation )

Кроме того, ваша функция подключена к нужному фильтру?

...