Uložení custom fieldu u rubrik

Úvodní stránka Fórum podpory WordPressu Pluginy (funkčnost webu) Uložení custom fieldu u rubrik

Zvolené téma obsahuje celkem 2 odpovědi. Do diskuze (2 účastníci) se naposledy zapojil uživatel  kidnec a poslední změna je stará 8 let, 11 měsíců.

Aktuálně jsou na stránce zobrazeny 3 příspěvky - 1. až 3. (z celkem 3)
  • Autor
    Příspěvky
  • #23055

    kidnec
    Participant
    Web

    Zdrávím přítomné,
    při tvorbě šablon jsem dospěl k problému, který prozatím nevím, jak vyřešit.

    pomocí add_action odchytnu category_add_form_fields, edit_category_form_fields, edited_category a create_category. Čímž mohu při vytvoření rubriky a pri editaci odchytit obsah mnou přidaného formuláře a uložit ho. Ale mám problém s “fast edit” nebo jak se tomu říká. Jelikož při rychlé úpravě je formulář pomocí akce edit_category_form_fields nenačte. Našel jsem jak přidat prvky do rychlé úpravy, ale to nechci. Polopatě bych to řešil tak, že bych při uložení detekoval prázdnost polí a pokusil se pomocí term_id do výsledného pole[inputu] nahrat již ulozena data z databaze a tim je případně přeuložit.

    pokud by někdo chtěl přiložit sceeny nebo části kódu, tak dodám, ale podlě mě se jedná spíše o teoretickou odpověď.

    případně díky všem

    #23073

    admin
    Keymaster
    Web

    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…

    #23119

    kidnec
    Participant
    Web

    Děkuji, jen jsem potřeboval trošku popostrčit v myšlence.

Aktuálně jsou na stránce zobrazeny 3 příspěvky - 1. až 3. (z celkem 3)

Pokud chcete odpovědět na toto téma, musíte se nejdříve přihlásit.

WordPress – novinky, návody a zajímavosti