WooCommerce 제품이 실제로 품절되지 않은 경우 "품절" 메시지를 표시합니다.
제품이 무작위로 표시되는 클라이언트 웹 사이트에서 문제가 발생함
"이 상품은 현재 품절되어 구할 수 없습니다."
문제는 재고 추적이 켜져 있지 않다는 것입니다. 모든 상품은 항상 재고가 있어야 합니다.
WordPress admin으로 이동하여 제품 업데이트 버튼을 클릭하면(아무것도 변경하지 않고) 메시지가 사라지고 "Add to Cart(카트에 추가)" 버튼이 올바르게 표시됩니다.유감스럽게도, 이 문제는 앞으로도 반복되어 수정하려면 제품을 다시 업데이트해야 합니다(또한 WooCommerce 설정에서 업데이트를 클릭하면 일시적으로 문제가 해결됩니다.
이 문제가 다시 발생하지 않도록 영구적으로 해결할 방법을 찾아야 합니다.
사이트 상세:
- WordPress 3.9.1 사용
- WooCommerce 2.1.12
- PHP 5.3.10 (5.5.10을 사용하여 로컬로 시도)
내가 시도한 것
- WooCommerce를 제외한 모든 플러그인 제거
- 주제 변경(표준 WordPress 테마와 일부 WooThemes 테마를 모두 사용해 보았지만 소용이 없었다)
- 갱신된 WooCommerce (v 2.1.5)
- 하여 메타키 wp_postmeta를 합니다.
_manage_stock
로 설정합니다.no
가 보유하고 있는 된 바와 ( 제품에서 관찰된 바와 같이) - ''을 wp_postmeta에 하여 '_stock으로 설정
0
가 보유하고 있는 된 바와 ( 제품에서 관찰된 바와 같이) - 업데이트 버튼을 클릭하기 전과 후 제품의 포스트메타를 비교하여 문제의 원인이 되는 변경사항이 없는지 확인...아무 것도 없어요.
- 캐시가 켜져 있지 않습니다.
- 하여 XDebug
$available_variations
입니다.variable.php
★★★★★★★★★★★★★★★★★」class-wc-ajax.php
★★★★★★★★★★★★★★★★★」class-wc-product-variable.php
.
때, 에서는, 「」가 사용되고 있는 것을 알 수 .$available_variations
에는 제품 , 에서는 빈즉, 재고 부족 가 서비스된 됨).variable.php
[ 가 올바르게 됩니다.) [ Update ]버튼을 클릭하여 변수를 트래킹하면 정보가 올바르게 표시됩니다.
솔직히 이 시점에서 나는 막막하다.어느 쪽인가에 문제가 있는 것 같은데, 잘 모르겠어요.
이것에 대해 다른 문제를 가진 사람이 있나요?이 문제를 어떻게든 해결해서 이 클라이언트의 제품을 계속 업데이트할 필요가 없습니다.
품절 제품 링크(게시 시점) http://highlandsministriesonline.org/product/basement-tapes/resentment-in-the-church-135/
올바르게 표시되는 제품에 대한 링크 http://highlandsministriesonline.org/product/basement-tapes/bt0111-church-at-corinth-i/
오류 로그 제품 변동 클래스에 오류 로그를 추가했습니다.결과는 다음과 같습니다.
"품절" 메시지가 표시된 제품의 경우 로그에 아무것도 표시되지 않습니다.
올바르게 기능하는 제품의 예:
WC_Product_Variation Object
(
[variation_id] => 1310
[parent] => WC_Product_Variable Object
(
[children] => Array
(
[0] => 1311
[1] => 1310
)
[total_stock] =>
[id] => 1308
[post] => WP_Post Object
(
[ID] => 1308
[post_author] => 1
[post_date] => 2012-04-03 14:29:42
[post_date_gmt] => 2012-04-03 18:29:42
[post_content] => This audio presentation on homeschooling is a Basement Tape conversation on homeschooling.
<h2>What are The Basement Tapes?</h2>
<em>The Basement Tapes</em> are conversations between Dr. R.C. Sproul Jr., Rev. Laurence Windham, their friends and special guests, on subjects related to the “good life,” a simple, separate, and deliberate life, lived out for the glory of God and for the building of His Kingdom.
You might even say that the Basement Tapes serve to help us develop a Christian worldview. Started in 2002, we now have over #140 conversations on all areas of life that we are seeking to think biblically about so that we might take dominion over them for the King and His kingdom.
<strong>Format: Available in both CD and MP3</strong>
<strong>Length: Sixty minutes</strong>
[post_title] => Basement Tape #109: Homeschooling Redux
[post_excerpt] => It's been 108 weeks since we last talked about the subject of homeschooling our children. Our tykes have grown into teenagers. What have we learned in the past nine years? What has changed? What remains the same is that homeschooling means discipleship; passing down your most important convictions to your children and teaching them our holy religion.
[post_status] => publish
[comment_status] => open
[ping_status] => closed
[post_password] =>
[post_name] => bt0109-homeschooling-reducks
[to_ping] =>
[pinged] =>
[post_modified] => 2014-07-07 11:08:46
[post_modified_gmt] => 2014-07-07 15:08:46
[post_content_filtered] =>
[post_parent] => 0
[guid] => http://50.57.190.158/?post_type=product&p=1308
[menu_order] => 0
[post_type] => product
[post_mime_type] =>
[comment_count] => 0
[filter] => raw
)
[product_type] => variable
)
[variation_data] => Array
(
[attribute_pa_audio-options] => mp3-download
)
[variation_has_length] =>
[variation_has_width] =>
[variation_has_height] =>
[variation_has_weight] =>
[variation_has_stock] =>
[variation_has_sku] => 1
[variation_shipping_class] =>
[variation_shipping_class_id] =>
[variation_has_tax_class] =>
[variation_has_downloadable_files] => 1
[id] => 1308
[post] => WP_Post Object
(
[ID] => 1308
[post_author] => 1
[post_date] => 2012-04-03 14:29:42
[post_date_gmt] => 2012-04-03 18:29:42
[post_content] => This audio presentation on homeschooling is a Basement Tape conversation on homeschooling.
<h2>What are The Basement Tapes?</h2>
<em>The Basement Tapes</em> are conversations between Dr. R.C. Sproul Jr., Rev. Laurence Windham, their friends and special guests, on subjects related to the “good life,” a simple, separate, and deliberate life, lived out for the glory of God and for the building of His Kingdom.
You might even say that the Basement Tapes serve to help us develop a Christian worldview. Started in 2002, we now have over #140 conversations on all areas of life that we are seeking to think biblically about so that we might take dominion over them for the King and His kingdom.
<strong>Format: Available in both CD and MP3</strong>
<strong>Length: Sixty minutes</strong>
[post_title] => Basement Tape #109: Homeschooling Redux
[post_excerpt] => It's been 108 weeks since we last talked about the subject of homeschooling our children. Our tykes have grown into teenagers. What have we learned in the past nine years? What has changed? What remains the same is that homeschooling means discipleship; passing down your most important convictions to your children and teaching them our holy religion.
[post_status] => publish
[comment_status] => open
[ping_status] => closed
[post_password] =>
[post_name] => bt0109-homeschooling-reducks
[to_ping] =>
[pinged] =>
[post_modified] => 2014-07-07 11:08:46
[post_modified_gmt] => 2014-07-07 15:08:46
[post_content_filtered] =>
[post_parent] => 0
[guid] => http://50.57.190.158/?post_type=product&p=1308
[menu_order] => 0
[post_type] => product
[post_mime_type] =>
[comment_count] => 0
[filter] => raw
)
[product_type] => variation
[product_custom_fields] => Array
(
[_sku] => Array
(
[0] => BT0109MP3
)
[_price] => Array
(
[0] => 3
)
[_sale_price] => Array
(
[0] =>
)
[_weight] => Array
(
[0] =>
)
[_length] => Array
(
[0] =>
)
[_width] => Array
(
[0] =>
)
[_height] => Array
(
[0] =>
)
[_stock] => Array
(
[0] =>
)
[_thumbnail_id] => Array
(
[0] => 0
)
[_virtual] => Array
(
[0] => yes
)
[_downloadable] => Array
(
[0] => yes
)
[_download_limit] => Array
(
[0] =>
)
[_downloadable_files] => Array
(
[0] => a:1:{s:32:"a0a87d43e69ed9de646ba479c252c9fb";a:2:{s:4:"name";s:29:"109-Homeschooling-Reducks.mp3";s:4:"file";s:113:"http://highlandsministriesonline.org/wp-content/uploads/woocommerce_uploads/2012/04/109-Homeschooling-Reducks.mp3";}}
)
[_regular_price] => Array
(
[0] => 3
)
[_sale_price_dates_from] => Array
(
[0] =>
)
[_sale_price_dates_to] => Array
(
[0] =>
)
[_download_expiry] => Array
(
[0] =>
)
[attribute_pa_audio-options] => Array
(
[0] => mp3-download
)
)
[sku] => BT0109MP3
[downloadable_files] => a:1:{s:32:"a0a87d43e69ed9de646ba479c252c9fb";a:2:{s:4:"name";s:29:"109-Homeschooling-Reducks.mp3";s:4:"file";s:113:"http://highlandsministriesonline.org/wp-content/uploads/woocommerce_uploads/2012/04/109-Homeschooling-Reducks.mp3";}}
[downloadable] => yes
[virtual] => yes
[sale_price_dates_from] =>
[sale_price_dates_to] =>
[price] => 3
[regular_price] => 3
[sale_price] =>
[total_stock] => 0
[dimensions] =>
)
잠재적인 다음 단계 이 문제를 해결할 수 없는 경우, 제 다음 생각은 (일시적인 수정이 적어도 24일 동안 효과가 있을 것 같기 때문에) 매일 밤 웹사이트에서 각 제품을 업데이트하기 위한 스크립트를 작성하는 것입니다.시간을 절약할 수 있다면 다른 사람이 이 문제를 영구적으로 해결할 수 있다면 차라리 하지 않겠습니다.
2014년 10월 23일자로 갱신
이 문제는 다음 답변을 시도해도 여전히 발생합니다.재고 부족 메시지의 빈도를 추적하고 메시지와 웹사이트에서 수행된 모든 작업을 연관짓는 데 도움이 되기를 바라며 로그 플러그인을 만들었습니다.현재 이 특정 웹 사이트에 맞춤 제작되어 있지만, 제가 답을 찾을 수 없는 경우에도 누군가 찾을 수 있도록 여러분들과 공유할 버전을 만들고 있습니다.
나도 같은 문제가 있었는데, 이제 해결한 것 같아.CSV Import/Export: CSV Import/Export.재고가 다음과 같이 설정되어 있는 것을 알 수 있습니다.0
이 '''로 있을 때''null
여기에는 다음 두 가지 옵션이 있습니다.
- 하여 각 체크박스를 stock .[ Manage stock ] go 。[ Manage stock ] 。
- 데이터베이스에서 null 값을 0으로 대체하여 찾기 및 바꾸기를 수행할 수 있습니다.
제가 새로 만든 상품에서도 같은 문제가 발생하고 있었습니다.하지만 나에게 답은 더 간단했다.
모든 변형에 대해 "정가"를 입력해야 했습니다.
https://wordpress.org/support/topic/this-product-is-currently-out-of-stock-and-unavailable-4/httpswordpress.org/support/topic//
나는 이전에 나의 속성을 만들었다.
Variations에서 제 제품의 경우 Add variations를 선택해야 했습니다.그리고 나서 "Go" 버튼을 클릭했다.
속성이 가질 수 있는 각각의 다른 선택지에 대해 변형을 만들어야 했습니다.
그래서 색상 옵션에 대해 3가지 다른 종류(각 선택지마다 하나씩)를 만들어야 했습니다.
그런 다음 파란색 "Expand" 텍스트를 클릭하여 각 변형이 정규 가격인지 확인해야 했습니다.
(이것도 도움이 되었습니다.https://docs.woocommerce.com/document/variable-product/ )
지금은 2017년이지만, 저는 여전히 운영 운영의 정확한 문제를 보고 있습니다.
- WordPress 4.8.1
- WooCommerce 3.1.2
- PHP 5.6
- 수많은 플러그인과 잔키한 테마
버그가 무엇이든 간에 진정으로 고칠 시간은 없지만 해결 방법을 찾았습니다.
는 제는 the the the the the the the the the$product
이치노아이디, 아이디, 아이디. 방법이 $product
템플릿에서 사용되기 전에 미리 설정합니다.
1단계: 가격을 복사합니다.php 템플릿을 테마에 추가합니다.다음 사이트에서 WooCommerce 가격 템플릿으로 이동합니다./wp-content/plugins/woocommerce/templates/single-product/price.php
에 카피합니다.이것을 테마에 카피합니다./wp-content/themes/my-theme/woocommerce/single-product/price.php
「스텝」 이할 수 .php php 、 php php php php php php php php php php php php php php php.
WooCommerce 커스텀템플릿 동작에 관한 문서:https://docs.woocommerce.com/document/template-structure/
순서 2: 편집price.php
아래global $product;
★★★★★★★★★★★★★★★★★★:
if ( $product->is_type( 'variable' ) ) {
// this is a variable product, so let's ensure $product is set up correctly
// force the product to sync with its variations
$product->sync( $product->id );
// update $product with the synced product
$pf = new WC_Product_Factory();
$product = $pf->get_product( $product->id );
// update utility variables used in the variable.php template
$available_variations = $product->get_available_variations();
$attributes = $product->get_variation_attributes();
}
처음에는 작동하지 않는 것처럼 보이는 캐싱 문제가 몇 가지 있었습니다.동작하고 있는지 테스트하려면 , 드롭 할 수 있습니다.
echo '<pre style="display: none;">';
print_r( $product );
echo '</pre>';
if
수 위에는 두 가격 바로 위에는 숨겨진 두 개가 있습니다.<pre>
$product
★★★★★★★★★★★★★★★★★★★★★★★★★★★
하면 '아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 이런sync()
제품이 누락된 모든 변동 정보를 강제로 가져오도록 한 다음 템플릿에 사용할 변수를 업데이트합니다.템플릿에 사용되는 바리에이션 데이터 중 가장 빠른 가격이라고 생각합니다만, 이 스니펫은 필요에 따라 템플릿 체인으로 쉽게 상승할 수 있습니다.
편집: 위의 수정은 WC 2.x에만 유효합니다.WC 2.x에 대한 수정은 작성했지만 너무 크고 역겨워서 게시하지 않습니다.아직 2.x 스토어를 가지고 있다면 3.x에 접속할 수 있도록 하기 위해 어떤 종류의 정비가 필요합니다.
편집: 문제가 재발하여 잠시 후 다시 품절되었습니다.이 투고 덕분에 wp_postmeta 테이블에서 주의해야 할 엔트리가 많아졌습니다.아래에는 수정이 영원히 지속되도록 도와주는 업데이트 기능이 2개 추가되어 있습니다.
이 문제의 원인 중 하나는 재고 관리가 비활성화되어 있는 경우에도 재고 상태가 데이터베이스에 "재고 부족"으로 기록될 수 있다는 것입니다.
이것이 phpMyAdmin에서 당신의 문제인지 확인하려면 다음을 수행합니다.
SELECT * FROM `wp_postmeta` WHERE `meta_key` = '_stock_status'
"품절"이지만 "재고"가 예상되는 경우 수동으로 변경할 수 있습니다.또는 다음을 실행할 수 있습니다.
UPDATE `wp_postmeta` SET `meta_value` = 'instock' WHERE `meta_key` = '_stock_status';
UPDATE `wp_postmeta` SET `meta_value` = '999999999' WHERE `meta_key` = '_stock';
UPDATE `wp_postmeta` SET `meta_value` = 'no' WHERE `meta_key` = '_manage_stock';
제품을 삭제하고 동일한 제품을 만들어보고 같은 문제가 발생했고 나에게도 효과가 있었습니다.WooCommerce 2.1.12 재인스톨도 시도합니다.
저도 같은 문제를 겪고 있는데 그 이유를 찾은 것 같아요.WC_Product_Variable Class의 sync_stock_status 정적 함수와 관련이 있습니다.
기능: php php 、 php php php php php php php php : php : add_action('wp',function(){ $productId = 639; WC_Product_Variable::sync_stock_status(639); });
물론 이 솔루션은 한 번에 하나의 제품만 수정하기 때문에 좋은 솔루션은 아닙니다.
따라서 이 기능을 적절한 시점에 실행하는 것이 문제인 것 같습니다.
흥미로운 점은 코드를 보고 빠른 편집 저장으로 이 함수가 호출되고 제품도 수정된다는 것을 알게 되었습니다!
다른 흥미로운 점은 woocommerce 팀이 제품을 업데이트 했을 때 이 함수를 호출하고 있다는 것을 이 커밋을 통해 알게 되었기 때문에 완전히 수정한 것 같습니다.
같은 에러가 발생하여 php.ini에서 max_input_input=30000을 업데이트하면 정상적으로 동작합니다.난 사이트그라운드 공유 호스팅을 하고 있어
WordPress woocommerce 기반 재고 소진 제품 메시지를 표시하고 까다로운 옵션을 변경합니다.워드프레스 플러그인 개발자에 관심이 있는 경우 재고 아웃 훅을 덮어쓸 수 있습니다.또한 워드프레스 플러그인 디렉토리에서 이미 사용 가능한 다양한 워드프레스 프리 플러그인을 수행할 수 있습니다.
'품절 메시지'나 '품절 메시지 woocommerce'로 구글을 검색하시면 됩니다.
재고 소진 메시지를 해결할 수 있는 멋진 플러그인이 있습니다.플러그인 링크가 재고 부족 메시지입니다.
언급URL : https://stackoverflow.com/questions/24639288/woocommerce-products-showing-out-of-stock-message-when-not-actually-out-of-sto
'IT' 카테고리의 다른 글
MariaDB over SSL이 작동하지 않습니다. "인증서 확인 실패" (0) | 2022.11.17 |
---|---|
Mysql: 열 문자 집합 설정 (0) | 2022.11.17 |
SQL Query 결과를 PANDA Data Structure로 변환하는 방법 (0) | 2022.11.17 |
MySQL 오류 #1071 - 지정된 키가 너무 깁니다. 최대 키 길이는 767바이트입니다. (0) | 2022.11.17 |
파일의 첫 번째 N 행을 어떻게 읽습니까? (0) | 2022.11.17 |