Я хочу изменить способ отображения цен на продукты на моем сайте woocommerce. В частности, я хочу настроить таргетинг на товары, которых нет на складе, и вместо отображения цены отображать
Последний билет в ($Price) за (Год)
Я добавил год к своим продуктам в качестве атрибута ( на каждый продукт предоставляется только один год). Он называется «Год».
Я возился с этим фрагментом и не могу заставить его работать, главным образом потому, что понятия не имею, что делаю. (Этот код представляет собой модификацию того, что я нашел в других местах в Интернете)
Код: Выделить всё
add_filter( 'woocommerce_get_price_html', 'modify_price_out_of_stock_items', 9999, 2 );
function modify_price_out_of_stock_items( $price, $product ) {
global $product;
$year = $product->get_attribute('pa_Year');
if ( is_admin() ) return $price; // BAIL IF BACKEND
if ( ! $product->is_in_stock() ) {
$year = wc_get_product_terms( $product->get_id(), 'pa_Year', array( 'fields' => 'slugs' ) ) ;
$price = 'Last ticketed at ' . $price . ' in ' . $year[0];
}
return $price;
}
Я пробовал этот код, ожидая, что текст «Последний билет на сумму 1000 долларов США в 2017 году» появится рядом с товары на складе. Однако поле «Год» не отображается.
Подробнее здесь: https://stackoverflow.com/questions/767 ... roducts-in