سلام دوستان عزیز، در این مقاله از آموزش وردپرس قصد داریم نحوه افزودن Google reCAPTCHA به وردپرس بدون افزونه بهمراه فیلم آموزشی شرح دهیم.

خیلی مواقع پیش میاد که در وب سایت های وردپرسی ما ، ربات ها با استفاده از صفحات کامنت ، لاگین یا ثبت نام اقدام به ارسال اسپم می کنند و با این کار باعث ایجاد اختلال در روند کار وب سایت می شوند، یکی از موثرترین راه های برای جلوگیری از اسپم ، استفاده از امکان reCAPTCHA که گوگل در اختیار ما قرار داده می باشد.

فیلم آموزشی افزودن Google reCAPTCHA به وردپرس

افزودن Google reCAPTCHA به وردپرس :

برای استفاده از امکان reCAPTCHA در وب سایت خود ، ابتدا باید از طریق این لینک وارد صفحه reCAPTCHA شده و سپس با اکانت گوگل خود لاگین کنید.افزودن Google reCAPTCHA به وردپرس بدونه افزونه

بعد از لاگین وارد صفحه مدیریت reCAPTCHA می شوید، در این صفحه ابتدا در بخش  Register a new site یک عنوان دلخواه در قسمت Label وارد کرده و در قسمت بعد گزینه reCAPTCHA V2 را انتخاب می کنیم ، در بخش Domains دامنه ای که قرار است reCAPTCHA از طریق آن مورد استفاده قرار گیرد را وارد میکنیم (مانند wpschool.ir) ، در قدم بعدی گزینه Accept the reCAPTCHA Terms of Service. را تیک زده و در انتها روی دکمه Register کلیک می کنیم.

نحوه افزودن Google reCAPTCHA به وردپرس بدونه افزونه

در صفحه بعدی (مانند تصویر زیر) در بخش Keys مقدار موجود در Site key کلید اختصاصی شما جهت استفاده در کدهای Html و مقدار Secret key کلید اختصاصی شما جهت برقرار ارتباط بین وب سایت شما و گوگل می باشد و باید به صورت محرمانه حفظ و نگهداری شود.

افزودن Google reCAPTCHA به وردپرس بدونه افزونه

حالا باید وب سایت خود را جهت ارتباط با گوگل پیکربندی کنیم ، برای این کار ابتدا باید کد اسکریپت reCAPTCHA را به وب سایت خود در تگ <head> اضافه کنیم ، جهت رعایت استاندارد کدنویسی در وردپرس اسکریپت مربوطه را از طریق تابع wp_enqueue_script به صفحه اضافه می کنیم ، جهت انجام این کار کدهای زیر را به فایل functions.php اضافه می کنیم:

توجه : جهت استفاده از امکانات زبان فارسی در reCAPTCHA در انتهای اسکریپت مقدار ?hl=fa را اضافه کرده ایم.

پس از انجام مراحل بالا باید صفحه ای جهت به کار بردن reCAPTCHA انتخاب کنیم ، ما در این آموزش از صفحه ثبت نام که در آموزش جایگزین صفحه ثبت نام در وردپرس ، طراحی کرده بودیم استفاده خواهیم کرد. (شما می توانید در هر صفحه ای که نیاز دارید مراحل زیر را انجام دهید)

ابتدا باید در صفحه مورد نظر قبل از بسته شدن تگ <form> هر جایی که می خواهید ویجت I am not robot نمایش داده شود کد زیر را اضافه کنید و در قسمت data-sitekey کلید اختصاصی Site Key  خود را که از گوگل دریافت کرده اید، جایگزین کنید:

حالا در قسمت کدهای سرور باید اعتبارسنجی لازم را با استفاده از Secret Key انجام داده و در صورت موفقیت به کاربر اجازه ادامه کار دهیم.

برای انجام این کار تابع زیر را به فایل functions.php اضافه میکنیم و هر جا که در کدهای خود (برای مثال در کدهای لاگین ، کامنت یا ثبت نام) نیاز به اعتبارسنجی می باشد تایع check_recaptcha() را صدا زده و در صورت که مقدار برگشتی true باشد اجازه انجام کار و غیر این صورت پیام مناسب به کاربر نشان می دهیم.

در صفحه ثبت نام کافیست تابع بالا را قبل از انجام عمل ثبت نام صدا زده و اعتبار سنجی را انجام دهیم ، کدهای موجود در تابع register_user به شکل زیر تغییر می کنند:

جهت نمایش پیام مناسب به کاربر نیز کدهای زیر را به switch..case موجود در صفحه ثبت نام (فایل custom-register.php) اضافه کنید:

در صورتیکه تمام مراحل بالا را روی صفحه ثبت نام انجام داده باشید باید صفحه ای مانند تصویر زیر داشته باشید:

افزودن Google reCAPTCHA به وردپرس بدونه افزونه

توجه : جهت بدست آوردن آمار ترافیک کاربران مراجعه کننده به صفحه ثبت نام می توانید از مقاله افزودن Google Analytics به وردپرس استفاده کنید.

بروزرسانی : در صورتی  که میخواهید از Ajax جهت ارسال اطلاعات و اعتبارسنجی استفاده کنید کد زیر را به data ارسالی توسط ajax اضافه کنید :

مقاله افزودن Google reCAPTCHA به وردپرس بدون افزونه به پایان رسید اگر مشکل یا سوالی بود در قسمت کامنت های همین مطلب عنوان کنید.

موفق باشید.

4 دیدگاه برای “افزودن Google reCAPTCHA به وردپرس + فیلم آموزشی

  • محمد شیخ زاهدی
    - ۱ اسفند , ۱۳۹۶

    سلام،خیلی ممنون برای آموزش های خوبتون
    من تمامی مراحل را انجام دادم اما همیشه شرط if ( check_recaptcha() == false ) درست است و خطا به کاربر نمایش داده می شود! من می خواسم ازین آموزش در ساخت صفحه ارتباط با ما استفاده کنم
    کد زیر را در تابع wpschool_ajax_contact() قرار دادم اما خطا نمایش داده میشود
    if(check_recaptcha() == false){
    $message = ‘روی عبارت من ربات نیستم کلیک کنید’;
    $hasError = true;
    }

    • الناز
      - ۱ اسفند , ۱۳۹۶

      سلام و خسته نباشید،
      مواردی زیادی وجود داره که شما ممکنه به خطا بخوردید ، لطفا جهت راهنمایی راحت تر به آیدی تلگرام مدرسه وردپرس پیام بدید:
      https://t.me/wpschool_support
      با تشکر

  • غریب
    - ۲۵ فروردین , ۱۳۹۷

    سلام عزیز
    بنده از افزونه استفاده کردم و کامل تنظیماتش رو انجام دادم کپچای گوگل هم بدون مشکل اضافه شد و کار کرد . منتها یه مشکل هست اونم اینکه هنوز اون کپچای عددی قبلی هم هست یعنی کپچای گوگل فقط اضافه شد به بخش کامنتم جایگزین نشد با کپچای قبل مشکل چیه ؟
    افزونه تمام کارها رو ضاهرا خودکار انجام میده ولی این مورد رو نه چیکار کنم الان ممنون میشم راهنمایی کنید

    • الناز
      - ۲۵ فروردین , ۱۳۹۷

      با سلام
      برای عدم نمایش کپچای قدیمی که عددی هستش باید افزونه مربوط به اون کپچا رو غیر فعال کنید، تا دیگه نمایش داده نشه
      موفق باشید

دیدگاه خود را بیان کنید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

Captcha loading...