محمد
2 سال پیش توسط محمد مطرح شد
4 پاسخ

کد محدود کردن کلمه در کامنت

سلام خسته نباشید من این کد رو دارم فقط میشه یه کلمه رو محدود کرد نمیشه کاری کرد که بسه چندتارو باهم محدود کرد

add_action('comment_post', 'my_comment_post_callback', 10, 3);

function my_comment_post_callback($comment_id, $comment_approved, $commentdata) {
    if (strpos($commentdata['comment_content'],'ali') !== false) {
        $post_url = get_permalink($commentdata['comment_post_ID']);
        wp_delete_comment($comment_id, true);
        wp_redirect($post_url);
        exit;
    }       
}

مثلان در کامنت نوشته باسه ali نمایش داده نمیشه ولی میخوام بیشتر محدود کنم ممنون میشم کمکم کنید


ثبت پرسش جدید
مهران مرندی
تخصص : برنامه نویس
@mehranmarandi 2 سال پیش آپدیت شد
0

سلام
کلمات مورد نظر خودتون رو باید داخل یک آرایه قرار بدید و از رجکس استفاده کنید.
متد زیر این کار رو براتون میکنه

function contains($commentString, Array $blackListArray, $caseInsensitive = false) {
    $exp = '/'
        . implode('|', array_map('preg_quote', $blackListArray))
        . ($caseInsensitive ? '/i' : '/');
    return preg_match($exp, $commentString) ? true : false;
}

محمد
@mohammadafrozei1395 2 سال پیش مطرح شد
0

سلام خسته نباشید ممنون ولی من متوجه نشدم الان میخوام کلمه علی محدود بشه و کامنت خودکار حذف بشه باید کلمه علی رو بزارم کجایی این کدی که شما دادین


مهران مرندی
تخصص : برنامه نویس
@mehranmarandi 2 سال پیش آپدیت شد
0

@mohammadafrozei1395
مثلا شما ميخواييد بفهميد در كامنت شما كمله Ali و چند كلمه ديگه وجود داره يا نه، اينجوري ميتونيد از متد بالا استفاده كنيد.

$comment = $commentdata['comment_content'];
$blackList = ['Ali','Reza'];
if($this->contains($comment,$blackList,true)){
    //شامل كلمات بلك ليست هست در اينجا ميتونيد كامنت رو حذف كنيد
}

محمد
@mohammadafrozei1395 2 سال پیش مطرح شد
0

@mehranmarandi
سلام ببخشید میشه کاملش کنید من کپیش کنم بزارمش تو فانکشن سایتم ممنون میشم اخه زیاد ازش سر درنمیارم


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام