Sie müssen die Strings filtern, die den Preis und die Zwischensumme im Warenkorb anzeigen. Der Link, den Sie erwähnt haben, besprach die Änderung des tatsächlichen Preises. In Ihrem Fall ist der Preis $ 0, bis Sie später einen tatsächlichen Preis festlegen. Es gibt wahrscheinlich Filter für die Karre zu Summen, aber dies sollte ein Anfang sein:
add_filter('woocommerce_cart_item_price', 'so_38057349_cart_item_price', 10, 3);
function so_38057349_cart_item_price($price, $cart_item, $cart_item_key) {
if ($cart_item[ 'data' ]->price == 0) {
$price = __('Special Order', 'yourtheme');
}
return $price;
}
add_filter('woocommerce_cart_item_subtotal', 'so_38057349_cart_item_subtotal', 10, 3);
function so_38057349_cart_item_subtotal($subtotal, $cart_item, $cart_item_key) {
if ($cart_item[ 'data' ]->price == 0) {
$subtotal = __('To be determined', 'yourtheme');
}
return $subtotal;
}
add_filter('woocommerce_order_formatted_line_subtotal', 'so_38057349_order_item_subtotal', 10, 3);
function so_38057349_order_item_subtotal($subtotal, $item, $order) {
if (isset($item[ 'line_subtotal' ]) && $item[ 'line_subtotal' ] == 0) {
$subtotal = __('To be determined', 'yourtheme');
}
return $subtotal;
}
Natürlich wird dies auch mit einem 0 Preis für jedes Produkt gelten und vielleicht nicht nur die, die Sie konfigurieren haben Gewohnheit zu sein gebaut, so dass Sie möglicherweise mehr bedingte Logik benötigen, als ich hier angegeben habe.
Folgen Sie Ihrem Kommentar .... woocommerce_order_amount_total
ist die numerische Summe und nicht die angezeigte HTML. Sie können die aufgerufenen Funktionen in der Vorlage sehen.
function so_38057349_woocommerce_cart_subtotal($cart_subtotal, $compound, $cart) {
if($cart->subtotal == 0){
$cart_subtotal = __('Order subtotal to be determined', 'yourtheme');
}
return $cart_subtotal;
};
add_filter('woocommerce_cart_subtotal', 'so_38057349_woocommerce_cart_subtotal', 10, 3);
// define the woocommerce_order_amount_total callback
function so_38057349_woocommerce_order_amount_total($order_total) {
if(WC()->cart->get_total() == 0){
$order_total = __('Order total to be determined', 'yourtheme');
}
return $order_total;
};
add_filter('woocommerce_cart_totals_order_total_html', 'so_38057349_woocommerce_order_amount_total');
Aktualisiert Screenshot: 
Vielen Dank Helga, es ist genau das, was benötigt wurde. Erweitert um Ihr Beispiel, um auch die Cart & Checkout-Seiten abzudecken! – radug
Überprüfen Sie meine Bearbeitung. Ähnlich wie der Fehler in Ihrer Frage ist 'woocommerce_order_amount_total' nicht als HTML-String gedacht. – helgatheviking