WordPress

Kodo gabalai, idėjos, pastebėjimai

Įvairios formos WordPress front-ende

by


2013-05-06

Supratau, kad mano ankstesnis pavyzdys ne visiškai geras ir netinka, jei front-ende turim daugiau nei vieną formą. Todėl sudėliojau tokį bendresnį karkasą darbui su WordPress front-endo formomis. Kodas  – iš trijų dalių. Pirma dalis – formos nr. 1 vaizdavimas, antra dalis – formos nr. 2, o trečia dalis – visų formų apdorojimas, kai vartotojas paspaudžia ‘submit’. Paprastumo dėlei iš šio pavyzdžio išėmiau klaidų ir sėkmės pranešimų vaizdavimą.

Pirmi du blokai – labai panašūs. Esminis kodas yra get_tiny_formX() (pakeiskite X į formos numerį) funkcijoje, kur suformuojama forma. Esminis triukas yra input[type=hidden] laukas ‘tiny_action’, nes čia pažymima, kuri tai forma ir ta reikšmė (‘form1’/’form2’/etc.) bus naudojama apdorojimo funkcijoje tiny_handle(). Pagal ‘tiny_action’ reikšmę tiny_handle() atpažįsta, kuri forma buvo išsiųsta ir gali atlikti atitinkamus apdorojimo veiksmus. get_tiny_formX() turi vieną neprivalomą argumentą $redirect, jei jis nustatytas, sėkmės atveju forma nukreipia vartotoją į nurodytą URL.

Tikiuosi, šis pavyzdys bus aiškesnis. P.S. šis kodas talpinamas į temos functions.php failą, arba gali būti naudojamas įskiepyje.