Come visualizzare il campo personalizzato negli ordini di woocommerce nel pannello di amministrazione?
-
-
Ilprimoblocco di codicenellatua domandamodificail campopredefinito "Numero ditelefono".Non aggiunge alcunnuovo campo almodulo di checkout.I campi di checkoutnon saranno disponibiliin "campipersonalizzati",quindiperfavorenon cercarli lì.Se desiderimodificare uno qualsiasi dei campi dell'indirizzo difatturazione o dell'indirizzo di spedizione,vai albackende fai clic su qualsiasi ordine sotto l'elenco degli ordini.Quindi vedrai unapiccolaicona dimodifica accanto alleintestazioni "Dettagli difatturazione"e "Dettagli di spedizione".Facendo clic su questoti permetterà dimodificare quei dettagli.Spero chepossa aiutare.The first code block in your question, modifies the default 'Phone no' field. It does not add any new field to checkout form. The checkout fields won't be available under "custom fields", so please don't search it there. If you want to edit any of the field from billing address or shipping address, go to backend and click on any order under order list. Then you will see a small edit icon besides 'Billing Details' and 'Shipping Details' headings. Clicking on that will allow you to edit those details. I hope this helps.
- 0
- 2016-01-22
- Prasad Nevase
-
Perfavore controllailmio codice adessoPlease check my code now
- 0
- 2016-01-23
- Ron
-
2 risposta
- voti
-
- 2016-01-23
Il codice che haifornito èincompleto. Non sono sicuro che sia l'unico codice che stai usandoper ottenere ciò che desideri. Quindi,oltre alprimoblocco di codice che haifornito,di seguito aggiungotuttoil resto del codice che ènecessariopermostrareilnuovo campo sulbackendnella casella "Dettagli ordine"e renderlomodificabiletramite campipersonalizzati. Tienipresente chenel secondoblocco di codice hai denominato la chiave del campo
_billing_new_phone
. Qualsiasinome chiave del campopersonalizzato cheinizia con _ (trattinobasso) è un campopersonalizzatonascosto & amp;non verrà visualizzatonelbackendin "Campipersonalizzati"./** * Elaborail checkout */ add_action ('woocommerce_checkout_process','my_custom_checkout_field_process'); functionmy_custom_checkout_field_process () { //Controlla seimpostato,senonimpostato aggiunge unerrore. if (! $ _POST ['billing_phone_new']) wc_add_notice (__ ('Iltelefono 2 è obbligatorio. Inserisci un valore'),'errore'); } /** * Aggiornailmeta dell'ordine conil valore del campo */ add_action ('woocommerce_checkout_update_order_meta','my_custom_checkout_field_update_order_meta'); functionmy_custom_checkout_field_update_order_meta ($ order_id) { if (!empty ($ _POST ['billing_phone_new'])) { update_post_meta ($ order_id,'billing_phone_new',sanitize_text_field ($ _POST ['billing_phone_new'])); } } /** * Visualizzail valore del camponellapagina dimodifica dell'ordine */ add_action ('woocommerce_admin_order_data_after_billing_address','my_custom_checkout_field_display_admin_order_meta',10,1); functionmy_custom_checkout_field_display_admin_order_meta ($ order) { echo "& lt;p > & lt; strong >" .__ ("Telefono 2"). ": & lt;/strong > & lt;br/> " .get_post_meta ($ order- >get_id (),'billing_phone_new',true). "& lt;/p >"; } WooCommercenon rendeilnuovo campo di checkoutmodificabilenella casella standard "Dettagli ordine". Sarà disponibilein modalità "solo visualizzazione"in quella casella,ma èpossibilemodificarlotramiteilblocco dei campipersonalizzati standard di WordPress. Vedi lo screenshot qui sotto.
The code you have provided is incomplete. Not sure if that is the only code you are using to achieve what you want. So, besides first code block which you have provided, bellow I am adding all rest of the code which is required to show the new field on backend in 'Order Details' box and make it editable through custom fields. Please note, in your second code block you have named the field key as
_billing_new_phone
. Any custom field key name which starts with _ (underscore) is a hidden custom field & won't show up on backend under "Custom Fields"./** * Process the checkout */ add_action('woocommerce_checkout_process', 'my_custom_checkout_field_process'); function my_custom_checkout_field_process() { // Check if set, if its not set add an error. if ( ! $_POST['billing_phone_new'] ) wc_add_notice( __( 'Phone 2 is compulsory. Please enter a value' ), 'error' ); } /** * Update the order meta with field value */ add_action( 'woocommerce_checkout_update_order_meta', 'my_custom_checkout_field_update_order_meta' ); function my_custom_checkout_field_update_order_meta( $order_id ) { if ( ! empty( $_POST['billing_phone_new'] ) ) { update_post_meta( $order_id, 'billing_phone_new', sanitize_text_field( $_POST['billing_phone_new'] ) ); } } /** * Display field value on the order edit page */ add_action( 'woocommerce_admin_order_data_after_billing_address', 'my_custom_checkout_field_display_admin_order_meta', 10, 1 ); function my_custom_checkout_field_display_admin_order_meta($order){ echo '<p><strong>'.__('Phone 2').':</strong> <br/>' . get_post_meta( $order->get_id(), 'billing_phone_new', true ) . '</p>'; }
WooCommerce does not make the new checkout field editable under its standard 'Order Details' box. It will be available as 'view only' mode in that box but you can edit the same through WordPress' standard custom fields block. See below screenshot.
-
"" Qualsiasinome di chiave del campopersonalizzato cheinizia con _ (trattinobasso) è un campopersonalizzatonascostoe non verrà visualizzatonelback-endin "Campipersonalizzati"."" da doveprendi questeinformazioni?""Any custom field key name which starts with _ (underscore) is a hidden custom field & won't show up on backend under "Custom Fields". "" from where you get this information ?
- 0
- 2016-01-24
- Ron
-
Sul codice WordPress.Puoi [otteneremaggioriinformazioni qui] (https://codex.wordpress.org/Function_Reference/add_post_meta#Hidden_Custom_Fields)On WordPress codex. You may [get more info here](https://codex.wordpress.org/Function_Reference/add_post_meta#Hidden_Custom_Fields)
- 2
- 2016-01-25
- Prasad Nevase
-
Siprega di aiutare a risolvere la domanda delmio amico https://stackoverflow.com/questions/49505056/woocommerce-create-new-discount-functionalityPlease helpt solve my friend question https://stackoverflow.com/questions/49505056/woocommerce-create-new-discount-functionality
- 0
- 2018-03-27
- Ron
-
nelmio caso,ho ottenuto risultati utilizzandoget_post_meta ($ order->get_id (),'_billing_phone_new',true).Ho dovutomettere untrattinobasso davanti alnome della variabilenellafunzioneget_post_meta.in my case,I got results by using get_post_meta( $order->get_id(), '_billing_phone_new', true ). I had to put underscore in front of variable name in get_post_meta function.
- 0
- 2019-05-19
- Dashrath
-
- 2017-12-13
-
Come risponde alla domanda?How is this answering the question?
- 0
- 2020-05-21
- Tofandel
attualmente aggiungo un campo difatturazionepersonalizzatoin woocommerce da
devomodificare questo valore di camponel lato amministratore. Attualmentepossomodificaretuttigli altri valorinell'indirizzo difatturazionema questo valorenon viene visualizzatonella sezione di amministrazione. Usoil codice seguente soloper vedereil valorenella sezione admin.
Ho letto la documentazione https://docs.woothemes.com/document/tutorial-customising-checkout-fields-using-actions-and-filters/. Matuttoin questo documentofunziona correttamente aspettatibilling_phone/Phone ènota vedi sotto campopersonalizzato. Controllo l'opzione dello schermoma hogià spuntatoil campopersonalizzato. L'altro campopersonalizzatoe il relativo valore sono visibilie modificabili.
Comepossomodificare questo valorenelback-end. Perfavore aiutatemi.