- Home
- Categorie
- Coding e Sistemistica
- WordPress
- Disabilitare altri metodi di pagamento quando selezionato il contrassegno su Woocommerce
-
Ciao @eleclipse,
una volta arrivati in cassa ho la scelta del tipo di spedizione: spedizione gratuita, contrassegno, espressa.Una volta selezionata la spedizione ho i metodi di pagamento disponibili:
pagamento alla consegna, paypal, bonifico bancario.Vorrei che se selezionata la spedizione contrassegno, i metodi di pagamento paypal e bonifico non fossero visibili, in modo da lasciare solo la voce pagamento alla consegna come opzione disponibile.
Perché lo ritieni strano?
Grazie
-
Ok adesso ho capito, diciamo che non metterei contrassegno in primo luogo come opzione di spedizione, perché è un'opzione di pagamento non di spedizione.
Invertendo l'ordine e mettendola come metodo di spedizione ti nasce questo problema ma lo risolvi molto più facilmente se la lasci come metodo di pagamento e basta, e al massimo imposti in woocommerce quali metodi di spedizione consentono il contrassegno e quali no (se necessario).
1 Risposta -
eh lo so ma ho un vincolo.
Alla somma xxx parte la spedizione gratuita e voglio che la spedizione a pagamento venga nascosta.Se dovessi assegnare il contrassegno alla spedizione a pagamento, non visualizzerei l'opzione con il relativo costo aggiuntivo.
Se lascio il contrassegno solo come metodo di pagamento inoltre, come posso applicare un costo essendo selezionata la spedizione gratuita?
-
Ho risolto momentaneamente utilizzando il plugin Conditional Payments for WooCommerce. Preferirei trovare una soluzione tramite codice, ma se dovesse servire a qualcuno è una soluzione rapida.
Se qualcuno potesse darmi un'aiuto tramite snippet ne sarei felice.
1 Risposta -
@brum perfetto!
La sposto in Wordpress che forse è più adatta lì
1 Risposta -
@giorgiotave certo!
-
c'è il plugin payment method by shipping
-
Giusto per capirci il tuo flusso potrebbe essere:
Arrivo in cassa
Se ho superato la soglia XX visualizzo Spedizione gratuita e basta ( codice per nascondere le altre spedizioni)
Se non ho superato la soglia XX visualizzo costi di spedizioneTipo di pagamento, posso scegliere
- contrassegno
- bonifico
- paypal
Nel dettaglio, se ho la spedizione gratuita, posso scegliere uno qualsiasi dei tre
Se ho la spedizione a pagamento e seleziono contrassero va aggiunto un costoÈ corretto?
quindi nel caso il flusso di andasse comodo, il codici per nascondere altri pagamenti se passa quello gratuito può essere questo:
function nascondi_spedizioni_diverse_da_gratuita( $rates ) {
$free = array();
foreach ( $rates as $rate_id => $rate ) {
if ( 'free_shipping' === $rate->method_id ) {
$free[ $rate_id ] = $rate;
break;
}
}
return ! empty( $free ) ? $free : $rates;
}
add_filter( 'woocommerce_package_rates', 'nascondi_spedizioni_diverse_da_gratuita', 100 );riguardo il costo di contrassegno, lo metti come pagamento e non spedizione, e dovresti aggiungere un costo , una fee aggiuntiva, per la scelta del contrassegno
1 Risposta -
@shazarak qualcosa del genere...
https://wordpress.org/support/topic/woocommerce-add-fee-for-cash-on-delivery-payment-method-cod/