Přesně tak, akce category_add_form_fields
a edit_category_form_fields
slouží k rozšíření formuláře (pro nově vytvářenou nebo upravovanou rubriku). Další akce edited_category
a create_category
pak hodnoty zpracovávají a ukládají někam do databáze. Mimochodem, kam je ukládáte?
Pokud jde o rychlé úpravy, tak je dostupná např. akce quick_edit_custom_box. Ale při ukládání hodnot jsou používány stejné akce, jako u klasického formuláře, tedy edited_category
a create_category
. A pokud ve funkcích kontrolujete, zda jsou hodnoty správně vyplněny a až potom je ukládáte, tak to právě u rychlých úprav narazí na problém, protože tam ten formulář není, takže odesílané hodnoty budou prázdné (a stejně tak i uloženy).
A co s tím? Nejsem si jist, zda WordPress někde automaticky odesílá informaci, zda zrovna provádíte rychlé nebo standardní úpravy, ale lze to obejít dvěma způsoby:
– Pomocí funkce get_current_screen() snadno zjistíte, odkud vlastně upravujete a můžete to v ukládací funkci ověřit.
– Nebo při standardním ukládání doplníte nějaké skryté pole “nejsem-rychla-uprava”, které bude vždy true
a budete ho kontrolovat, takže u rychlé úpravy poznáte, že tam to pole není a zadané hodnoty nemáte ukládat prázdné…
Pro další podrobnosti by už asi byla potřeba nějaká ukázka zdrojového kódu…