「Simple Cloudflare Turnstile」に限らず、導入できないか考え、他のプラグインを使用せずPHPの編集で導入できるか試してみました。
1.テンプレート
member/wc_login_page.php等の各PHPファイルの(form)タグ内の送信ボタンの直前に下記を記載。
2.functions.phpの下部に下記コードを記載。
function validate_turnstile_response() {
if (empty($_POST[‘cf-turnstile-response’])) return false;
$response = sanitize_text_field($_POST[‘cf-turnstile-response’]);
$secret = ‘発行したCloudflare Turnstileのシークレットキー’;
$verify = wp_remote_post(‘https://challenges.cloudflare.com/turnstile/v0/siteverify’, [
‘body’ => [
‘secret’ => $secret,
‘response’ => $response,
‘remoteip’ => $_SERVER[‘REMOTE_ADDR’]
]
]);
$result = json_decode(wp_remote_retrieve_body($verify), true);
return isset($result[‘success’]) && $result[‘success’];
以上を他のプラグインを使用せずに追加で書き込んだところ、コンタクトフォーム7に設定したものと同様の動作をしているようにみえました。
ただ、実際に動作が正常に動いているかは不明であるので、よろしければ追加で検証を頂けると幸いです。