Un utente ha chiesto informazioni su WooCommerce Cart Stock Reducer di Wordpress

Ganci quando si prenota un prodotto

Un utente ha chiesto ūüĎá

Hey!

Ho impostato il mio testo ‘Esaurito’ in modo che dica ‘Riservato’ quando aggiungo un prodotto al carrello di qualcuno (ho solo 1 prodotto per ogni prodotto).
Dopo che un prodotto √® stato effettivamente venduto e non solo nella tabella di qualcuno, l’etichetta non cambia. Ci√≤ si traduce in prodotti venduti come “Riservati”.

Il problema è che alcuni clienti che non hanno familiarità con la funzione di possesso del carrello stanno aspettando un prodotto che chiaramente non sarà di nuovo disponibile a differenza degli altri che hanno un timer.

Ci sono dei ganci che posso usare che vengono tirati quando un prodotto √® sospeso? Vorrei che il testo “Esaurito” dicesse “Riservato” mentre l’articolo √® sospeso e “Venduto” quando l’articolo √® controllato.

Spero di aver avuto molto senso, apprezzeremmo qualsiasi aiuto!

Autore del plugin

(@jamesgol)

7 mesi, 3 settimane fa

Come si modifica il testo esistente? Non credo di avere un metodo per sovrascrivere l’impostazione del testo “Non disponibile”, ma dovrebbero esserci alcuni hook di WooCommerce per modificare il testo predefinito visualizzato o semplicemente sovrascriverlo prima che venga visualizzato.

In un pizzico quando lavoravo con altri plugin che non avevano ganci per modificare del testo ma avevano impostato le funzioni dei diritti di internazionalizzazione, inserivo quei filtri per regolare il testo.

(@ljackl)

7 mesi, 2 settimane fa

Ciao James,

C’√® un campo nella personalizzazione del tema che sto usando per cambiare il testo Non disponibile. Chieder√≤ agli sviluppatori cosa stanno usando e lo sovrascriver√≤ se posso.

Quello che voglio ora √® un modo per determinare se il riduttore di stock charter ha un articolo riservato, o se √® effettivamente venduto e non √® pi√Ļ disponibile. Hai idea del modo migliore per farlo?

Autore del plugin

(@jamesgol)

7 mesi, 2 settimane fa

Che tema stai usando? Potresti averlo menzionato prima, ma non ricordo.

Non esiste una funzione da chiamare facilmente per ottenere ciò che stai cercando, è sempre meglio attenersi alla metodologia WooCommerce. Quindi, a seconda di come viene gestito il tema, potrebbero esserci diversi metodi per farlo.

(@ljackl)

7 mesi, 2 settimane fa

Ciao James,

Sto usando un tema chiamato Woostify. Ho parlato solo con il loro team di supporto, che mi ha fornito il seguente codice, che utilizza un filtro WooCommerce integrato:

add_filter('woocommerce_get_availability', 'availability_filter_func');
function availability_filter_func($availability)
{
$availability['availability'] = str_ireplace('Out of stock', 'Sold Out', $availability['availability']);
return $availability;
}

Quindi, ora che abbiamo la metodologia ridotta, quale suggeriresti sia il modo migliore per distinguere tra un articolo prenotato e un articolo venduto?

A parte questo, se non ci sono troppi problemi, non posso mai dire come le persone sembrano sapere quali strutture di dati vengono rimesse a posto da questi hook, qual è il segreto? Sto usando questo sito per visualizzarli: http://hookr.io/filters/woocommerce_get_availability/ ma devo perdere qualcosa, perché tutto quello che vedo da quella pagina è che sto ricevendo una modifica.

Comunque, apprezziamo sempre il tuo aiuto!

Questa risposta è stata modificata 7 mesi, 2 settimane fa da. Autore del plugin

(@jamesgol)

7 mesi, 1 settimana fa

Penso di essere un po ‘confuso qui. Perch√© non impostare il “Testo comando in sospeso” nella configurazione del plug-in su “Riservato” e quindi, utilizzando il tema, modificare il testo da stock a “Esaurito”? Sembra che dovrebbe fare quello che vuoi che faccia.

Di solito mi immergo nel codice per scoprire come funziona qualcosa, non mi fido che la documentazione sia accurata o aggiornata.

(@ljackl)

7 mesi, 1 settimana fa

Tuttavia, questa √® un’opzione che sembra confusa in quanto agli utenti verrebbe detto che il testo oos ha un elemento “Esaurito”, ma solo il testo del comando in sospeso √® riservato.

Guarda l’immagine qui per quello che sto guardando attualmente: https://snipboard.io/n7OES5.jpg

Il mio problema √® che voglio lasciare i prodotti attivi sul sito quando vengono venduti. Questo √® il motivo per cui, se un cliente desidera restituire un prodotto, ha comunque accesso alla descrizione del prodotto in modo che possa verificare da solo se l’articolo era come descritto senza la necessit√† di contattarci. Tuttavia, con l’articolo ancora accessibile sul sito ed elencato come “Riservato”, altri clienti hanno atteso lunghi periodi per restituire la merce in magazzino, il che ovviamente √® molto fastidioso.

La funzionalità che voglio ottenere è:
1. Un utente aggiunge qualcosa a un carrello e l’articolo viene contrassegnato come riservato.
– Testo OOS: “Riservato”
– Testo dell’ordine in sospeso: in sospeso
2. Quando l’articolo viene venduto, il testo OOS cambia in “Esaurito”

La mia soluzione nella mia testa √® impostare il testo OOS su “Esaurito” nelle impostazioni del tema, ma poi sovrascriverlo tenendo premuto per dire invece “Riservato”.
Ora che menzioni il testo del comando in sospeso, c’√® qualcosa che posso usare allora?

Autore del plugin

(@jamesgol)

7 mesi, 1 settimana fa

Stai parlando del testo “Riservato” sopra l’immagine, giusto? Deve essere qualcosa che sta facendo il tema?

Se è così, allora dobbiamo vedere come lo stanno decidendo. In caso contrario, la gestione delle scorte predefinita dovrebbe funzionare qui.

Autore del plugin

(@jamesgol)

7 mesi, 1 settimana fa

Capisco cosa sta succedendo adesso. Non mi rendevo conto che si tratta di un’etichetta separata esaurita che gestisce il tema.

Ho trovato una soluzione che risolve il problema, tutto quello che devo fare è aggiungere un filtro al plugin che consenta di sapere quale sia lo stato / quantità reale di uno stock e ciò che il virtuale viene regolato.

(@ljackl)

7 mesi, 1 settimana fa

Mi spiace, non mi ero reso conto che questo tema fornisce funzionalit√† personalizzate. Ho appena preso l’etichetta che era nell’angolo in alto a sinistra e l’ho indirizzata con CSS, assumendo che l’etichetta fosse normale WooCommerce.

Quindi capisco correttamente quando dico che questa etichetta utilizza la funzionalit√† WooCommerce predefinita, ma viene visualizzata sopra l’immagine del prodotto per tema?

Per quanto riguarda la soluzione, come sarebbe implementata esattamente qualcosa di simile per fornire la funzionalità che desidero ottenere?

Autore del plugin

(@jamesgol)

7 mesi, 1 settimana fa

Se desideri visualizzare il testo in sovrimpressione in un modo diverso, puoi sostituire la funzione che utilizzano per visualizzare il testo. Non hanno affatto un filtro da utilizzare per regolare il testo. Se guardi woostify / inc / woocommerce / woostify-woocommerce-template-functions.php ha una funzione ‘woostify_print_out_of_stock_label’ e controlla se esiste prima del caricamento, quindi puoi sostituirlo prima che venga caricato.

Quello che far√≤ √® aggiungere un filtro al plugin che consenta di elencare le funzioni (nello stack) che otterranno lo stock virtuale reale. Si assicurer√† quindi di non visualizzare il testo esaurito quando l’articolo √® quasi esaurito.

(@ljackl)

7 mesi, 1 settimana fa

Oh ok, ho esaminato la funzione e mi sembra un’operazione relativamente semplice sostituirla.

Se capisco cosa stai dicendo correttamente, il processo sarà il seguente:
1. Utilizza il tuo nuovo filtro per aggiungere la funzione “woostify_print_out_of_stock_label” all’elenco.
2. Sostituisci “woostify_print_out_of_stock_label” in functions.php e controlla se l’articolo ha uno stock reale o virtuale e modifica di conseguenza il ritorno della funzione

Dopo aver aggiunto la funzione all’elenco, come si recuperano i livelli di stock virtuali e virtuali nella nuova versione della funzione ‘woostify_print_out_of_stock_label’?

Questa risposta è stata modificata 7 mesi, una settimana fa da. Autore del plugin

(@jamesgol)

7 mesi, 1 settimana fa

Dovrò aggiungere una nuova funzione per restituire lo stock effettivo senza saltare attraverso i cerchi.

Dopo aver aggiunto la funzione ‘get_actual_stock_available ()’ puoi aggiungere qualcosa di simile a un plugin (da qualche parte caricato prima del tema)


if ( ! function_exists( 'woostify_print_out_of_stock_label' ) ) {
	/**
	 * Print out of stock label
	 */
	function woostify_print_out_of_stock_label() {
		global $product;
		$out_of_stock = woostify_product_out_of_stock( $product );
		$options      = woostify_options( false );

		if ( ! $out_of_stock || 'none' === $options['shop_page_out_of_stock_position'] ) {
			return;
		}

		$csr = WC()->integrations->get_integration('woocommerce-cart-stock-reducer');
		$actual_stock = $csr->get_actual_stock_available( $product );
        if ( $actual_stock > 0 ) {
            $oos_text = 'On Hold';
        } else {
	        $oos_text = $options['shop_page_out_of_stock_text'];
        }

		$is_square = $options['shop_page_out_of_stock_square'] ? 'is-square' : '';
		?>
		<span class="woostify-out-of-stock-label position-<?php echo esc_attr( $options['shop_page_out_of_stock_position'] ); ?> <?php echo esc_attr( $is_square ); ?>"><?php echo esc_html( $oos_text ); ?></span>
		<?php
	}
}

(@ljackl)

7 mesi, 1 settimana fa

Oh wow, grazie per questo, non mi rendevo conto che potresti recuperare un plug-in / riferimento di integrazione come quello. Molto bello.

Quindi non ho bisogno di toccare le funzioni wc_csr_whitelist_get_stock_status o wc_csr_whitelist_get_stock_quantity?

Grazie mille per la soluzione. Aggiornerò il plugin, lo applicherò e riporterò indietro.

Questa risposta è stata modificata 7 mesi, una settimana fa da. Autore del plugin

(@jamesgol)

7 mesi, 1 settimana fa

No, non dovresti utilizzare i filtri “wc_csr_whitelist_get_stock_status” nella configurazione. Li ho aggiunti perch√© sono sicuro che altri funzioneranno con problemi simili con plugin / temi personalizzati in futuro.

Tirare il caso dell’oggetto in questo modo √® il modo in cui WooCommerce integra la loro integrazione, non √® cos√¨ ovunque.

(@ljackl)

7 mesi fa

Grazie di tutto James, la soluzione che hai fornito sopra ha funzionato perfettamente. Apprezzo il tuo aiuto con questo.
Andrò avanti e contrassegnerò questo come risolto.

Questa risposta è stata modificata 7 mesi fa da.

Was this helpful?

0 / 0

Lascia un commento 0

Your email address will not be published. Required fields are marked *