WooCommerce : 상품이 품절되어 백오더를 허용하지 않는지 확인합니다.
재고가 부족하고(재고수량 0) 백오더가 불가능한 상품인지 확인하려면 어떻게 해야 합니까?다음 코드는 어떤 이유로 작동하지 않습니다.
add_action('woocommerce_before_add_to_cart_button','show_stock_single');
function show_stock_single() {
global $product;
if($product->get_stock_quantity()<1) {
if($product->backorders_allowed()) echo '<p>Backorders allowed</p>';
else echo '<p>Backorders not allowed</p>';
}
else echo '<p>Available</p>';
}
백오더가 가능한 제품에는 '백오더 허용'이라고 표시돼 있는데 백오더가 허용되지 않으면 아무 것도 표시되지 않는데요. 왜 그럴까요?
내 생각대로 되지 않는 if 진술이 나올 때마다, 내가 제일 먼저 시도하는 것은 그것을 뒤집는 것입니다. 그러니 이것을 다시 시도해보세요.
if($product->get_stock_quantity()>0) {
echo '<p>Available</p>';
} else {
if($product->backorders_allowed()) {
echo '<p>Backorders allowed</p>';
} else {
echo '<p>Backorders not allowed</p>';
}
}
- 또한 다양한 if 비트를 {...}에 포함시키겠습니다.} 대괄호PHP는 싱글 라인 if로 좀 더 완화된 요구사항을 허용해야 한다는 것을 알고 있지만, 그것이 원인일 수도 있습니다!
특정 코드에 문제가 있을 때는 항상 각 변수가 올바른 값을 반환하는지 확인합니다.
이 경우 저는 각 섹션을 분리하여 무엇이 실패할 수 있는지 확인하고 후크를 변경하여 충돌을 일으키지 않도록 했습니다.
코드가 너무 길었다면 죄송합니다.저는 각 파트가 하는 일을 이해하기 위해 각 파트에 코멘트를 달았습니다.그리고 각각의 결과에 대한 이미지를 추가했습니다.
사례1 https://i.stack.imgur.com/rmu5m.jpg
사례 2 https://i.stack.imgur.com/Zxnrt.jpg
사례 3 https://i.stack.imgur.com/v8Tzc.jpg
add_action('woocommerce_single_product_summary','show_stock_single',5);
function show_stock_single() {
global $product;
$StockQ=$product->get_stock_quantity();
if ($StockQ>=1)//Stock is Available
{
echo "<p>Available</p>";
}
elseif($StockQ<1)//Product is Out of Stock
{
echo "<p>Out of Stock</p>";
if ($product->backorders_allowed())//Product is out of stock AND allow backorders
{
echo "<p>Backorder Allowed</p>";
}
else//Product is out of stock AND DO NOT allow backorders
{
echo "<p>Backorder NOT Allowed</p>";
}
}
}
참고: 플러그인/템플릿 충돌을 방지하기 위해 사용하는 테마는 Storefront입니다.
언급URL : https://stackoverflow.com/questions/51327748/woocommerce-check-if-product-is-out-of-stock-and-doesnt-allow-backorders
'programing' 카테고리의 다른 글
AND() 함수를 이용한 조건부 포맷 (0) | 2023.10.24 |
---|---|
MySQL SELECT 쿼리에서 IF 문 사용 (0) | 2023.10.24 |
(ExpressJS 사용) AJAX Call 후 EJS 템플릿에서 배열을 루프하는 적절한 방법은 무엇입니까? (0) | 2023.10.24 |
도커 컨테이너가 과도하게 작동하지 않는 것에 대해 우려해야 합니까? (0) | 2023.10.24 |
Matplotlib의 하위 그림에서 행 및 열 머리글 (0) | 2023.10.24 |