Hook save_post nefunguje

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

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

    Scorpion94CZ
    Participant

    Ahoj,
    jsem nováček ve wordpressu. Píšu vlastní plugin a hned jsem narazil na pro mě nepochopitelný problém. Čekal bych od kódu níže, že po kliknutí na “Update” u příspěvku se mi zobrazí alert s hláškou “hey!”.

    add_action("edit_post", "mdz_on_save");
    
    function mdz_on_save() {
        add_action("edit_form_after_title", "mdz_alert");
    }
    
    function mdz_alert() {
        echo '<script type="text/javascript">alert("hey!");</script>';
    }

    Pokud vložím řádek add_action("edit_form_after_title", "mdz_alert"); mimo funkci mdz_on_save(), alert se skutečně zobrazí. Samozřejmě při každém obnovení stránky. Tímto jsem si tedy jistý, že alert je funkční.

    Může mi prosím někdo poradit?

    Díky!

    #27676

    admin
    Keymaster
    Web

    Na nováčka docela složitý dotaz :-) Myšlenka je to sice dobrá, ale bohužel to fungovat nebude, a to z jednoho prostého důvodu. Jakmile je totiž příspěvek uložen, tak je celá administrační stránka automaticky přesměrována. Takže v rámci akce edit_post je sice patrně zaregistrována i akce edit_form_after_title, ale ihned poté dojde k přesměrování, tedy obnovení stránky (nový request) a všechny akce nastavené v průběhu ukládání se ztratí…

    Řešení to ale také má, jen se ujistím, co je vlastně cílem? Je potřeba něco zobrazit v administraci, ale pouze když uživatele příspěvek upraví (tedy nikoli vytvoří)?

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

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

WordPress – novinky, návody a zajímavosti