在一個金流 Discord 討論留言板上看到有網友在詢問這個問題,看了看也忽然覺得這個修改應該不至於太難,改一改以後有可能某一天會用到。這種無庫存下單就像是預購的 FU 吧?只是顯示提示修改,或許可以像似應用在預購的模式,話不多說,立即開始:
修改完之後會長這樣,原本會顯示「無庫存允許下單」一個很奇怪難以理解的意思,一般做法就是用翻譯的去改最快,但是就是要變換通知的話,當物品有庫存後又要顯示提示,這時程式就派上用場。
add_filter( 'woocommerce_get_availability', 'wcs_custom_get_availability', 1, 2); function wcs_custom_get_availability( $availability, $_product ) {
// 有庫存與沒庫存的時候通知
if ( $_product->is_in_stock() && ! $_product->backorders_allowed() ) {
$availability['availability'] .= __('目前有現貨', 'custom'); }
if ( $_product->is_in_stock() && $_product->backorders_allowed() ) {
$availability['availability'] = __('當有現貨時我們會立即通知您', 'custom'); }
// 沒庫存的時候通知
if ( ! $_product->is_in_stock() ) { $availability['availability'] .= __('當有現貨時我們會立即通知您', 'custom'); }
return $availability; }
但是上面的只有顯示在「商品頁」沒改到購物車的地方,購物車會也會有一串一樣的字,接著要加上下面這串就能一起改到了。
// 翻譯購物車提示
function uni_transfer_wccart_backorder_text ( $text ) {
if ($text == '允許無庫存下單'){$text = '當有現貨時我們會立即通知您';}
return $text;
}
add_filter( 'gettext', 'uni_transfer_wccart_backorder_text' );
就這樣,很簡單的