如何更改 woocommerce 购物车中的 "Available on backorder" 文本

How to change "Available on backorder" text in woocommerce cart

我想将“延期交货时可用”更改为其他文字

function change_specific_availability_text( $availability ) {

    $targeted_text = __( 'Available on backorder', 'woocommerce' );
    $targeted_text2 = __('In stock (can be backordered)', 'woocommerce');
    $targeted_text3 = __('Available on backorder', 'woocommerce');

    if ($availability[ 'class' ] == 'available-on-backorder' && $availability[ 'availability' ] == $targeted_text) {

        $availability[ 'availability' ] = __( '預購款  |  Backorder Item', 'your-theme-textdomain' );

    }
    
     if ($availability[ 'class' ] == 'in-stock' && $availability[ 'availability' ] == $targeted_text2) {

        $availability[ 'availability' ] = __( '現貨  |  Readystock Item', 'your-theme-textdomain' );

    }
    


    return $availability;

}


add_filter( 'woocommerce_get_availability', 'change_specific_availability_text', 20, 1 );

以前我使用上面的代码更改产品页面中的延期交货消息,但是即使我再添加一个 class "backorder_notification" 也无法更改购物车中的文本函数

您可以使用 woocommerce 过滤器 woocommerce_get_availability_text 过滤可用性文本,而不是您正在做的事情。此过滤器将产品对象作为第二个参数传递。您可以根据需要添加其他条件。

add_filter( 'woocommerce_get_availability_text', 'filter_product_availability_text', 10, 2 );
function filter_product_availability_text( $availability_text, $product ) {
    // Check if product status is on backorder
    if ($product->get_stock_status() === 'onbackorder') {
        $availability_text = __( 'Your Custom Text Here', 'your-text-domain' );
    }
    return $availability_text;
}