3.1でのheader送信タイミング
-
自作プラグインで、ログインして投稿記事を表示しているときにformでボタンを表示し、ボタンを押したら「承認」などのデータをカスタムフィールドに登録するように作っています。
実際は2.9のときに作ったプラグインなので、現在3.1用にカスタマイズ中なのですが、カスタムフィールドへの登録などは正常に動いています。
で、ボタンを押したときの動作なのですが、ボタンが押されたときに
<form method="post" action="">
なので自分自身が呼び出されます。submitで「承認」などのpostデータが飛んでくるのでカスタムフィールドなどの処理を行い、header("Location: " . get_permalink() );
で自分自身にリダイレクトをかけています。ここが問題で、2.9まではボタンを押した瞬間に画面がリフレッシュされ、ボタンも「承認する」ボタンから「未承認にする」ボタンに変わっていました。しかし、3.1(3.0は試していないのでもしかしたら3.0でも)で同じ動作を行うと、リダイレクトされないことに気がつきました。
調べてみると今までheader("Location: " . get_permalink() );
でリダイレクトしていた部分がこの記述よりも前にheaderが送信されているらしくリダイレクトされないことがわかりました。しかし、残念ながらどのタイミングでheaderが送信されているのかわかりません・・・どなたか解決法、もしくは2.9と3.1でheader送信のタイミングの違いなどがわかる方はいませんでしょうか?よろしくお願いいたします。
3件の返信を表示中 - 1 - 3件目 (全3件中)
3件の返信を表示中 - 1 - 3件目 (全3件中)
- トピック「3.1でのheader送信タイミング」には新たに返信することはできません。