رفتن به مطلب

سوال : ارسال فقط یک کامنت برای هرفرد برای هر پست ؟؟


alishademan

پست های پیشنهاد شده

با سلام و خسته نباشید به شما دوستان یک سوال داشتم آیا می شه هر کاربر فقط بتونه یک نظر برای پست بده

منظورم اینکه هر فردی چه عضو باشه چه مهمان اگر یک بار برای یکی از پست های سایتم نظر داد و صبت شد نظرش دیگه نتونه برای اون پست نظر بده به همین صورت

ممنون می شم کمکم کنید. با تشکر

لینک به ارسال

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

این کد رو در محتوای فایل comment قرار بدین :

<?php
global $current_user;
$args = array('user_id' => $current_user->ID);
$usercomment = get_comments($args);
if(count($usercomment) >= 1){
echo 'disabled';
} else {
comment_form();
}
?>

لینک به ارسال

مممنونم از راهنمایی تون ولی یه سوال اگر کاربر عضو نبود چی نمی شه از طریق اون ایمیلی که ثبت کرده یا ای پیش نظرات رو بست

لینک به ارسال

برای کاربران غیرعضو یکی از راه ها کنترل کاربر از طریق ip هست.

لینک به ارسال

البته اینم بگم که کنترل کاربران از طریغ ای پی زیاد نمیتونه دوام داشته باشه،چون ای پی ها همه متغیر هستند... اما اگه بشه با حافظه کش مرورگر کنترل کرد کمی دائمی تر هست... ویا هر دو با هم دیگه...

لینک به ارسال

ممنون از نظراتتون واقعا عالی بود و ممنون از نظر اقای

مرتضی نظری

من هم با نظر این اقا موافق هستم ایا کدی هست که این کار رو واصه ما انجام بده با تشکر

لینک به ارسال

درسته آی پی خیلی ماندگار نیست ، بغیر این مجبور به استفاده از کوکی یا سشن میشید.

لینک به ارسال

ممنونم از نظراتتنو ولی اگر بخواییم بر اساس اون ایمیلی که ثبت کرده کاربر غیر عضو این کار رو انجام بدیم باید چی کار کنیم

لینک به ارسال

سلام

اول شما باید ایمیل نویسنده رو بگیرید. بعد هم تعداد دیدگاه رو طبق ایمیل و شماره آی دی پست بگیرید:

    $email  = $_POST['email'];
global $wpdb, $table_prefix;
$post_ID = get_the_ID();
$comment_count = $wpdb->get_var('SELECT COUNT(comment_ID) FROM '.$table_prefix.'comments WHERE comment_author_email = "' . $email . '" AND comment_post_ID = ' . $post_ID . '');

$comment_count تعداد دیدگاه این کاربر هست.

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

if($comment_count>=1){}else{ comment_form();}

موفق باشید

لینک به ارسال

ممنونم هنوز امتحانش نکردم جایی هستم اومدم تستش میکنم ببینم چی می شه

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...