カスタムCaptchaフィールドのCaptcha Mathを変更する方法

カスタムキャプチャフィールドを使用して、訪問者のためにキャプチャの計算を変更したいですか?もし、使用する計算を変更したい場合、方程式で使用する数値の範囲を制限したい場合、または計算方法自体を制限したい場合は、カスタムコードスニペットで簡単に行うことができます。

デフォルトでは、カスタムCaptchaフィールドは足し算と掛け算を使用し、1から15までの数値を計算します。

このチュートリアルでは、PHPを使用して、使用する最小値と最大値、および計算方法を変更する方法を紹介します。

フォームの作成

まず、新しいフォームを作成し、カスタムCaptchaフォームフィールドをフォームに追加します。

カスタムCaptchaフォームフィールドを使用したフォームの設定方法についてヘルプが必要な場合は、こちらのドキュメントをご覧ください。

フォームを作成し、カスタムキャプチャフォームフィールドを追加します。

スニペットの追加

以下に、2つの異なるスニペットをお見せしよう。1つは方程式が使用する最大数を変更するだけで、もう1つは計算を追加のみに変更します。

以下のオプションの中からお好きなものを選び、サイトに追加してください。

あなたのサイトにスニペットを追加する方法についてサポートが必要な場合は、こちらのチュートリアルをご覧ください

ミニナンバーの変更

以下の例では、方程式の最小数を2に設定する。

/**
 * Adjust math captcha settings.
 *
 * @link   https://wpforms.com/developers/change-the-captcha-math-for-the-custom-captcha-addon/
 */

function wpf_dev_math_captcha_settings( $settings ) {
	
	/* Default settings
		array(
			'min' => 1,
			'max' => 15,
			'cal' => array( '+', '*', '-' ),
		);
	 */

	// Change min number 2 for easier math
	$settings[ 'min' ] = 2;

	return $settings;
}

add_filter( 'wpforms_math_captcha', 'wpf_dev_math_captcha_settings', 30, 1 );

最大数の変更

以下の例では、方程式の最大数を4に設定している。

/**
 * Adjust math captcha settings.
 *
 * @link   https://wpforms.com/developers/change-the-captcha-math-for-the-custom-captcha-addon/
 */

function wpf_dev_math_captcha_settings( $settings ) {
	
	/* Default settings
		array(
			'min' => 1,
			'max' => 15,
			'cal' => array( '+', '*', '-' ),
		);
	 */

	// Change max number 4 for easier math
	$settings[ 'max' ] = 4;

	return $settings;
}

add_filter( 'wpforms_math_captcha', 'wpf_dev_math_captcha_settings', 30, 1 );

掛け算だけを使う

同様に、足し算と引き算の代わりに掛け算だけを使うようにキャプチャを変更することもできる。

この例では、掛け算だけを使うように計算を変更する。

/**
 * Adjust math captcha settings.
 *
 * @link   https://wpforms.com/developers/change-the-captcha-math-for-the-custom-captcha-addon/
 */

function wpf_dev_math_captcha_settings( $settings ) {
	
	/* Default settings
		array(
			'min' => 1,
			'max' => 15,
			'cal' => [ '+', '*', '-' ],
		);
	 */

    // Use multiplication only for calculations
	$settings[ 'cal' ] = [ '*' ];

	return $settings;
}
add_filter( 'wpforms_math_captcha', 'wpf_dev_math_captcha_settings', 30, 1 );

このスニペットを使って、captchaの計算を変更することができます。

これで完了です!このコードスニペットで、カスタム Captchaフィールドで使用される数値や計算を変更することができます。ユーザーがフォームフィールドに入力できる文字数を制限したいですか?テキストフィールドの文字数を制限する方法をご覧ください。

リファレンス・フィルター

wpforms_math_captcha

よくあるご質問

Q:同じ機能ですべての機能を変更するにはどうすればいいですか?

A:このスニペットを使えば、1つの関数に最小、最大、計算のすべてを含めることができます。

function wpf_dev_math_captcha_settings( $settings ) {
     
    /* Default settings
        array(
            'min' => 1,
            'max' => 15,
            'cal' => [ '+', '*' ],
        );
     */
 
    // Use addition only for easier math
    // Use the minimum number of 1
    // Use the maximum number of 10
    $settings[ 'cal' ] = [ '+' ];
	$settings[ 'min' ] = [ '1' ];
	$settings[ 'max' ] = [ '10' ];
 
    return $settings;
}
add_filter( 'wpforms_math_captcha', 'wpf_dev_math_captcha_settings', 30, 1 );