サポート » プラグイン » MW WP Formのmwform_validation_rulesについて

  • 解決済 higurashi

    (@higurashi)


    独自のバリデーションルールを追加するために、filter hook「mwform_validation_rules 」をテストしていますが思うように機能しませず途方に暮れております。
    PHPは殆ど素人ですので、私のコード及び使い方に誤りがあるのかもしれません。
    何卒ご教示頂けましたら幸いです。

    1.まず、該当のフィルターフックです。
    (/mw-wp-form/mw-wp-form.php)

    $this->validation_rules = apply_filters(
    			'mwform_validation_rules',
    			$this->validation_rules,
    			null
    		);

    このフィルターを利用しようと下記add_filter()を記入しましたが、全く機能しませんでした。
    (/theme/mytheme/functions.php)

    require_once(WP_PLUGIN_DIR . '/mw-wp-form/classes/models/class.abstract-validation-rule.php');
    class MW_Validation_Rule_Hoge extends MW_WP_Form_Abstract_Validation_Rule {
      ~略~
    }
    function hoge_validation( $validation_rules, $key ) {
        $validation_rules['hoge'] = new MW_Validation_Rule_Hoge($key);
        return $validation_rules;
    }
    add_filter( 'mwform_validation_rules','hoge_validation',10,2);

    2.ロジックでエラーとなっているのかと思い、上記コード(add_filter以外)を/mw-wp-form/mw-wp-form.phpの中で定義し、該当箇所で直接呼び出したところ、期待通りの動作を致しました。

    3.そのため、add_filter()自体プログラムが走っていないのかもしれないと思い、下記のコードを試しましたところ無反応でした。

    function hoge_validation( $validation_rules, $key ) {
        var_dump($validation_rules); // javascript alert();も試したが無反応
        return $validation_rules;
    }
    add_filter( 'mwform_validation_rules','hoge_validation',10,2);

    4.上記何れもエラーは出ておりません。
    なぜ、フックが通らないのか2日かけて調べてもわからず、こちらで質問をさせて頂きました。
    このフックを利用する上で当方に間違いがございましたら、ご指摘頂けますでしょうか?
    何卒宜しくお願い致します。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • コードは間違っていないように見えますね…。
    フックするタイミングの問題ですかね?
    テーマではなくプラグイン化して実行するとどうでしょうか?

    トピック投稿者 higurashi

    (@higurashi)

    Kitajima様

    ご回答頂きまして誠にありがとうございます。
    ご教示頂きました通りに致しましたら、無事フックされました。

    MW WP Formはとても素晴らしいPluginです。
    (ささやかながら応援させて頂ければと思います。)

    今後ともMW WP Formの更なる機能充実を期待しております。
    ありがとうございました。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「MW WP Formのmwform_validation_rulesについて」には新たに返信することはできません。