サポート » バグ報告と提案 » wp_dieフィルタについて

  • まだ、公開されている機能ではないのですが…

    先日、コメントの重複チェックを行った際、必ずwp_dieを使ってエラーページに移行してしまうので困っていました。
    wp_dieについて調べていたところ、WordPress Tracにて

    「#6589 Add Filter To wp_die message」
    http://trac.wordpress.org/ticket/6589

    というソースが提案されていました。
    このフィルタは、試してみましたがすごく有用だと思いました。

    でも、できればこのパッチに以下のことを追加提案したいのですが、提案先がtrac内では手も足も出ません。それにまだ公開バージョンにはない機能ですし。
    まだtrac内にあるソースに対して提案する方法はないのでしょうか。
    方法等があったらどなたか教えてください。

    追加提案とは以下の通りです。
    1. フィルタの引数に「$admin_dir」を追加
    せっかく、wp_dieでwp_admin下であるかを調べているので、フィルタ側で再利用できればいいなぁと思ったのです。

    2. フィルタの結果が、偽の場合はwp_dieを終了。
    たとえば、コメントのチェックだけをしたいのに、必ずエラーページが生成され、dieしてしまいます。
    メッセージをfalseで返した場合、dieしないで「return false;」で返してくれればいいなぁと思うのですが…
    あるいは、dieせずwp_dieを抜ける方法があれば…

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • 自己レスです。
    書く場所を間違えました。
    これは「開発版」に書くべきでした。ごめんなさい。
    どうやったら削除、移動できるだろう…ごめんなさい。

    モデレーター IKEDA Yuriko

    (@lilyfan)

    このフォーラムのアカウントは trac でも使えますので、trac にログインできます。
    そして、該当チケットにコメントすればいいですよ。ソースをそのままコメントに書いてもいいですし、添付ファイルとして書いてもいいでしょう。

    で、提案内容に対しては、以下のように思いました。
    (1) フィルタ関数側で is_admin() 関数を使えばいいので、$admin_dir はなくてもいいはず。
    (2) これは、コメントの重複チェック時に wp_die を呼ぶのが問題なので、それを修正すべきです。重複検出後、wp_die を呼ぶかどうかをフィルターするとか、アクションを実行するとかが考えられます。wp_die を呼んでも、そこから戻ってくるというのは、WordPress コアやプラグインで想定してない事態なので、副作用が大きすぎます。

    ということで、ご提案をそのまま trac に送るのは、個人的にはいまいち感があります。

    で、書く場所ですが、WordPress に対する提案とも言えるので、あながち間違いとは言えないですよ。ナイトリービルドやRC版でバグ発見とかそういうのは、「開発版」でしょうけど。

    >lilyfanさん
    ご教授ありがとうございます。
    プラグインの提出をSubversionで出しているので、同様にアクセスすればよかったのですね。

    ご指摘の件ですが、

    (1) フィルタ関数側で is_admin() 関数を使えばいいので、$admin_dir はなくてもいいはず。

    確かにその通りです。が、せっかくwp_dieの中で判定まで行っているので、それを使わず改めてis_admin()をしなくてもよいのではと思いました。

    (2) これは、コメントの重複チェック時に wp_die を呼ぶのが問題なので、それを修正すべきです。

    実はその通りだと思います。コメントの重複チェックのみだと、wp_allow_comment関数側の修正を提案すべきものだと思います。
    実際、同じwp_allow_comment関数内で”flood-protection”は”comment_flood_filter”を使っているようなので、同じように”comment_duplicate_filter”(仮称)を設けるべきだと思います。

    tracに送るのはもう少し様子みてからにします。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック「wp_dieフィルタについて」には新たに返信することはできません。