Solution:
I think you need to filter the woocommerce_get_availability_text
. Add this to your theme’s functions.php
or to a site-specific “snippets” plugin.
function so_42345940_backorder_message( $text, $product ){
if ( $product->managing_stock() && $product->is_on_backorder( 1 ) ) {
$text = __( 'Please allow 2 – 4 weeks for delivery of this item', 'your-textdomain' );
}
return $text;
}
add_filter( 'woocommerce_get_availability_text', 'so_42345940_backorder_message', 10, 2 );