_product_attributes
в составе упакованного массива.<body>
для страницы категории и карточки товара. Вы найдете разные классы которые определяют Вашу страницу./* например*/
body.archive .мой-класс {
... стили для страницы категории
}
body.single-product .мой-класс {
... стили для карточки товара
}
Т.е. после покупки товар должен "забыться" системойНастройте отображение только товаров в наличие, Поставьте контроль запасов и в запасе только 1шт. Как только товар будет куплен, он будет исключен из продажи.
следующий по спискуне понятно. Если покупатель видит несколько доступных товаров и тот который он хочет будет 5-ым в списке, то что он должен ждать пока купят предыдущие четыре?
/**
* Запрет на выполнение предзаказов
*/
add_filter( 'woocommerce_product_backorders_allowed', '__return_false' );
add_action( 'woocommerce_sale_flash', 'pancode_echo_sale_percent' );
/**
* Echo discount percent badge html.
*
* @param string $html Default sale html.
*
* @return string
*/
function pancode_echo_sale_percent( $html ) {
global $product;
/**
* @var WC_Product $product
*/
$regular_max = 0;
$sale_min = 0;
$discount = 0;
if ( 'variable' === $product->get_type() ) {
$prices = $product->get_variation_prices();
$regular_max = max( $prices['regular_price'] );
$sale_min = min( $prices['sale_price'] );
} else {
$regular_max = $product->get_regular_price();
$sale_min = $product->get_sale_price();
}
if ( ! $regular_max && $product instanceof WC_Product_Bundle ) {
$bndl_price_data = $product->get_bundle_price_data();
$regular_max = max( $bndl_price_data['regular_prices'] );
$sale_min = max( $bndl_price_data['prices'] );
}
if ( floatval( $regular_max ) ) {
$discount = round( 100 * ( $regular_max - $sale_min ) / $regular_max );
}
return '<span class="onsale">- ' . esc_html( $discount ) . '%</span>';
}
woocommerce_before_add_to_cart_button
поможет