M-am lovit de aceasta problema acum cateva zile in timp ce lucram la un modul care face conversie din valuta in RON, pentru a obtine asta, aveam nevoie sa adaug la fiecare variatie a produsului doua campuri custom: un select si un text input.
Solutia a fost gasita initial de Remi Corson eu numai o traduc si o explic in limba Romana.
Incepem prin adaugarea a doua functii pe hook-urile oferite de WooCommerce.
Functia care inregistreaza field-urile trebuie sa fie adaugata pe hook-ul „woocommerce_product_after_variable_attributes” si functia care salveaza field-urile va fi adaugata pe hook-ul „woocommerce_save_product_variation”.
Pentru a inregistra un nou field, ne folosim de functiile deja disponibile in WooCommerce:
- woocommerce_wp_text_input()
- woocommerce_wp_textarea_input()
- woocommerce_wp_select()
- woocommerce_wp_checkbox()
- woocommerce_wp_hidden_input()
Fiecare input are urmatorii parametri generici:
- id – Id-ul field-ului, trebuie sa fie unic, in exemplu se adauga id-ul variatiei – string
- label – Numele field-ului – string
- desc_tip – bool
- description – Daca dorim descriere o sa setam „desc_tip” pe true si aici v-om completa descrierea – string
- value – valoarea actuala a field-ului – string
Salvarea field-urilor se face cu functia update_post_meta(), aici este si codul complet:
[gist id=”289e00a1bc3dcb3b3a26″]
Lasă un răspuns