フォーラムへの返信

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • フォーラム: プラグイン
    返信が含まれるトピック: MW WP Formの確認画面でemail参照
    トピック投稿者 mimix

    (@mimix)

    ishitaka様

    このような使い方があったんですね。
    とても参考になりました。

    同一メールであった場合は、特定のページへリダイレクトさせるように調整して、
    予定していた動作を完璧に行うことが出来ました。

    ありがとうございます。

    
    if ( class_exists( "MW_WP_Form_Abstract_Validation_Rule" ) ) {
    	class MW_WP_Form_Validation_Rule_Custom_Mail extends MW_WP_Form_Abstract_Validation_Rule {
    		protected $name = 'custommail';
    
    		public function rule( $key, array $options = array() ) {
    			$value = $this->Data->get( $key );
    			if ( $key == 'email' ) {
    				global $wpdb;
    				$user_count = 0;
    				$user_count = $wpdb->get_var( "SELECT COUNT(*) FROM $wpdb->postmeta WHERE meta_key='email' && meta_value='".$value."'" );
    				if ( $user_count > 0 ) {
    					header('Location: ' .home_url( 'justonce/' ) .$accessdir);
    					exit();
    				}
    			}
    		}
    
    		public function admin( $key, $value ) {
    			?>
    			<label><input type="checkbox" <?php checked( $value[ $this->getName() ], 1 ); ?> name="<?php echo MWF_Config::NAME; ?>[validation][<?php echo $key; ?>][<?php echo esc_attr( $this->getName() ); ?>]" value="1" />カスタムメールアドレス</label>
    			<?php
    		}
    	}
    
    	function mwform_validation_rule_custom_mail( $validation_rules ) {
    		$instance = new MW_WP_Form_Validation_Rule_Custom_Mail();
    		$validation_rules[$instance->getName()] = $instance;
    		return $validation_rules;
    	}
    	add_filter( 'mwform_validation_rules', 'mwform_validation_rule_custom_mail' );
    }
    
1件の返信を表示中 - 1 - 1件目 (全1件中)