جلوگیری از ارسال متن انگلیسی در دیدگاه ها (ضد اسپم)

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

یکی دیگر از بزرگترین مشکلاتی که هر مدیر وب‌سایت می‌تواند با آن مواجه شود ارسال و ثبت دیدگاه های اسپم می باشد.از کاربردهای مهم این ترفند جلوگیری از ثبت دیدگاه های اسپم می باشد که میتواند تا حد زیادی از بروز این مشکل جلوگیری کند و دیگر نیازی به استفاده از افزونه های کپچا یا ضد اسپم نمی باشد.

جهت استفاده کد زیر را به انتهای فایل Functions.php قالب خود اضافه کنید.

نکته : کاربرانی که از محصولات ماهدیس وب استفاده می کنند، باید این کد را به انتهای فایل myfunctions اضافه کنند.

 

add_filter( 'preprocess_comment', 'mweb_preprocess_comment' );

function mweb_preprocess_comment( $commentdata ) {
    // چک کردن محتوای کامنت برای حروف فارسی
    if ( !mweb_contains_persian_characters( $commentdata['comment_content'] ) ) {
        // اگر کامنت شامل حروف فارسی نبود، یک پیام خطا نمایش دهید و کامنت ثبت نشود
        wp_die( 'خطا: متن کامنت باید حاوی حروف فارسی باشد.' );
    }
    return $commentdata;
}

function mweb_contains_persian_characters( $str ) {
    // بررسی آیا متن حاوی حروف فارسی است یا خیر
    return preg_match( '/\p{Arabic}/u', $str );
}

این کد به صورت خودکار کامنت‌هایی که شامل حروف فارسی هستند را قبول می‌کند و کامنت‌هایی که فاقد حروف فارسی هستند را به عنوان اسپم تشخیص می‌دهد.

 

بیشتر بخوانید : مرتب سازی محصولات براساس موجودی در پیشخوان وردپرس

دیدگاه کاربران
  • احمدرضا ۲۱ اسفند ۱۴۰۲

    سلام. وقت بخیر.
    خیلی وقت بود دنبال همچین کدی بودم. دست شما درد نکنه تست کردم عالی بود.

ارسال دیدگاه

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

کد امنیتی Time limit is exhausted. Please reload CAPTCHA.