• Никакой политики на форуме. Иначе - бан!
  • Вопрос без рабочей ссылки на проблему считается риторическим. Без ссылки и скриншота - провокацией!
  • Темы озаглавленные с маленькой буквы или капсом удаляются без предупреждения!

Статус остатка "Под заказ"

Яна Шолойко

Новичок
Здравствуйте, дорогие форумчане.
На данном форуме нашла код для добавления статуса остатка "под заказ".
/**
* Статус остатка Под заказ
**/

function add_custom_stock_type() {
?>
<script type="text/javascript">
jQuery(function(){
jQuery('._stock_status_field').not('.custom-stock-status').remove();
});
</script>
<?php

woocommerce_wp_select( array( 'id' => '_stock_status', 'wrapper_class' => 'hide_if_variable custom-stock-status', 'label' => __( 'Stock status', 'woocommerce' ), 'options' => array(
'instock' => __( 'In stock', 'woocommerce' ),
'outofstock' => __( 'Out of stock', 'woocommerce' ),
'onrequest' => __( 'Под заказ', 'woocommerce' ), // The new option !!!
), 'desc_tip' => true, 'description' => __( 'Controls whether or not the product is listed as "in stock" or "out of stock" on the frontend.', 'woocommerce' ) ) );
}
add_action('woocommerce_product_options_stock_status', 'add_custom_stock_type');
function save_custom_stock_status( $product_id ) {
update_post_meta( $product_id, '_stock_status', wc_clean( $_POST['_stock_status'] ) );
}
add_action('woocommerce_process_product_meta', 'save_custom_stock_status',99,1);

function woocommerce_get_custom_availability( $data, $product ) {
switch( $product->stock_status ) {
case 'instock':
$data = array( 'availability' => __( 'In stock', 'woocommerce' ), 'class' => 'in-stock' );
break;
case 'outofstock':
$data = array( 'availability' => __( 'Out of stock', 'woocommerce' ), 'class' => 'out-of-stock' );
break;
case 'onrequest':
$data = array( 'availability' => __( 'Под заказ', 'woocommerce' ), 'class' => 'on-request' );
break;
}
return $data;
}
add_action('woocommerce_get_availability', 'woocommerce_get_custom_availability', 10, 2);

Все работает, но хотелось бы немного доработать код если это возможно.
Хотелось бы чтобы "под заказ" отображалось в запасах, а то сейчас подставляется "нет в наличии"
и чтобы в карточке товара при статусе "под заказ" была кнопка заказать при нажатии на которую товар также добавлялся в корзину или всплывала форма заказа, а то сейчас никакой кнопки нет как при статусе "нет в наличии".
Буду очень благодарна за помощь. Мой сайт tehnomagic.com.ua
 

Вложения

  • Скриншот 25-01-2017 130217.jpg
    Скриншот 25-01-2017 130217.jpg
    14.4 KB · Просмотры: 41
  • Скриншот 25-01-2017 130448.jpg
    Скриншот 25-01-2017 130448.jpg
    4.9 KB · Просмотры: 49

artemkomarov

Специалист
Местный
может я недопонял но в woo уже есть функция управления предзаказами с указанием наличия или нет плюс с возможностью указать текущий остаток.
 

Яна Шолойко

Новичок
может я недопонял но в woo уже есть функция управления предзаказами с указанием наличия или нет плюс с возможностью указать текущий остаток.
если разрешить предзаказ, по меняется статус с "под заказ" на "в наличии", а мне важно чтобы оставался именно статус "под заказ".
 

artemkomarov

Специалист
Местный
если разрешить предзаказ, по меняется статус с "под заказ" на "в наличии", а мне важно чтобы оставался именно статус "под заказ".
Там есть выбор разрешить предзаказ и уведомить. И если поставить так то будет написано "По предзаказу" или "Разрешен предзаказ" или как вы переведете так и будет при этом в наличии или нет не будет отображаться.
 

Яна Шолойко

Новичок
Там есть выбор разрешить предзаказ и уведомить. И если поставить так то будет написано "По предзаказу" или "Разрешен предзаказ" или как вы переведете так и будет при этом в наличии или нет не будет отображаться.
Может я что-то не правильно делаю, но я пробовала устанавливать и "разрешить предзаказы", и "разрешить и уведомить" как через карточку товара, так и через свойства товара, но так все и остается. При статусе "в наличии" кнопка покупки есть, а при статусах "под заказ" или "нет в наличии" никаких дополнительных кнопок не появляется, а хотелось бы чтобы была кнопка заказать.
 

Вложения

  • Скриншот 26-01-2017 111733.jpg
    Скриншот 26-01-2017 111733.jpg
    24.4 KB · Просмотры: 56
  • Скриншот 26-01-2017 111753.jpg
    Скриншот 26-01-2017 111753.jpg
    13.4 KB · Просмотры: 49

Vicos

Форумчанин
Так в чём проблема?
upload_2017-3-7_12-50-37.png
И всё работает. А тот код что выше чуточку для других целей.
Самому подобная задача попалась и решилась так.
При низком наличии товаров админу должно прийти уведомление об этом, он заходит, проверяет можно ли данный товар переводить в "Под заказ", выставялет нужные опции и готово.
Ну если мне такой вариант не одобрят, тогда буду пилить с тем что бы при достижении 0 автоматом всё делалось, тогда уж добьём тему.
 
Сверху Снизу