
Czytałam o obsłudze formularzy w panelu administracyjnym. Natknęłam się na informacje, że powinno się to robić w taki sposób:
function funkcja_obsługująca_formularz() { //wykorzystanie przesłanych danych } wp_redirect( plugins_url( 'przekierowanie-na-jakąś-stronę.php', __FILE__ ) ); exit; } add_action( 'admin_post_nazwa_akcji', 'funkcja_obsługująca_formularz' ); <input type="hidden" name="action" value="nazwa_akcji" /> <table> <caption><h1>Add new slide</h1></caption> <tbody> <tr class="narrow"> <td><label for="title">Title:</label></td> <td><input name="title" id="" type="text" value="" maxlength="255" title="title" /></td> </tr> <tr> <td><label for="content">Content</label></td> <td><textarea name="content" id="" rows="10" title="content"></textarea></td> </tr> </tbody> </table> <input type="submit" value="Submit" /> </form>';
Czyli w skrócie:
ustawienie akcji na ../wp-admin/admin-post.php
ustawienie ukrytego inputa o nazwie 'action' i dowolnej wartości
wywołanie haka add_action('admin_post_wartość_z_inputa', 'funkcja_obsługująca_formularz');
Niestety u mnie po wciśnięciu submita przekierowuje normalnie na admin-post, czyli włącza się biała pusta strona. Jest na to jakiś inny sposób? Jeśli nie to czy pozostawienie pustej wartości action i wysyłanie danych przez plik do siebie samego jest dobrym rozwiązaniem? Gdy robię to w normalny sposób, czyli jako action osobny plik php to nie otwiera się on w panelu administracyjnym tylko jako osobna strona.