ご注意!

この記事には PHP コードが含まれており、開発者を対象としています。このコードは便宜上提供していますが、コードのカスタマイズやサードパーティの開発についてはサポートを提供していません。

追加のガイダンスについては、WPBeginner の カスタムコードの追加方法に関するチュートリアル を参照してください。

閉じる

カスタムキャプチャフィールドのキャプチャ計算を変更する方法

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

デフォルトでは、カスタムキャプチャフィールドは、1から15までの数値範囲で加算と乗算を使用します。

このチュートリアルでは、PHPを使用して、使用される最小および最大数値、およびPHPを使用した計算方法を変更する方法を説明します。

フォームの作成

まず、新しいフォームを作成し、フォームにカスタムキャプチャフォームフィールドを追加する必要があります。

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

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

スニペットの追加

以下に、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 );

このスニペットを使用してキャプチャ計算を変更できます

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

参照フィルター

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 );