ارسال دیدگاه با نام مستعار در وردپرس

سلام؛

در وبسایت های وردپرسی بصورت پیش فرض هیچ کاربری بدون عضویت نمیتونه دیدگاه ارسال کنه و این خودش گاهی وقتا باعث دلسردی کاربران میشه و حتی ممکنه دوست نداشته باشن دیگه وارد همچین سایتی بشن!امروز میخوام به شما آموزش بدم که چطوری به کاربراتون این امکان رو بدید تا بدون عضویتدر سایت بتونن نظرات خودشون رو ارسال کنند و مشارکت داشته باشن.در واقع میتونم بگم شما میتونید این امکان رو داشته باشید که فیلدهای مربوط به نام و ایمیل رو مخفی کنید تا تمامی کاربران آزادانه عمل کنند!

نام مستعار:راه حل ایده آل

بهترین راه برای جلوگیری از اسپم ها همین راه هستش!چه راهی ؟ اینکه به کاربر اجازه بدید به جای اسم اصلی خودش یه نام مستعار برای خودش انتخاب کنه تا بتونه مشارکت داشته باشه.مسلماً این دسترسی و آزادی یک ارتباط سازنده بین شما و کاربرانتون ایجاد میکنه!

ساخت نام و پست الکترونیک به صورت اختیاری :

میتونید با چند خط کد نویسی و طی کردن فرآیند ساده ای به این لایه امکان ثبت نام و ایمیل رو به صورت اختیاری بدید ،یعنی اگه کاربر خواست ثبت کنه اگه نه مسئله ای نیست!
خب در گام اول وارد بخش تنظیمات >>گفت و گوها بشید و تیک مربوط به گزینه ی ” نویسنده ی دیدگاه باید نام و نشانی ایمیل خود را بنویسد رو بردارید.

comment-1

حالا با اعمال این امر احتیاج به یک سری تنظیمات در دیدگاه داریم،برای ایجاد این تنظیمات کدهای زیر را دورن فایل function.php وارد کنید:


function wpb_alter_comment_form_fields($fields) {

// Modify Name Field and show that it's Optional
$fields['author'] = '<p class="comment-form-author">' . '<label for="author">' . __( 'Name (Optional)' ) . '</label> ' . ( $req ? '<span class="required">*</span>' : '' ) .
'<input id="author" name="author" type="text" value="' . esc_attr( $commenter['comment_author'] ) . '" size="30"' . $aria_req . ' /></p>';

// Modify Email Field and show that it's Optional
$fields['email'] = '<p class="comment-form-email"><label for="email">' . __( 'Email (Optional)', 'twentythirteen' ) . '</label> ' .
      ( $req ? '<span class="required">*</span>' : '' ) .
      '<input id="email" name="email" type="text" value="' . esc_attr(  $commenter['comment_author_email'] ) .
      '" size="30"' . $aria_req . ' /></p>';

// This line removes the website URL from comment form.
	  $fields['url'] = '';

    return $fields;
}
add_filter('comment_form_default_fields', 'wpb_alter_comment_form_fields');

این کدها تنظیمات ساده ای رو شامل نام و آدرس ایمیل در فرم دیدگاه ایجاد می کنند که در واقع باعث میشه آدرس زمینه ی مورد نظر در فرم نظرات باقی بمونه یا حذف بشه!

  تست افزونه وردپرس و رفع خطای افزونه های وردپرس

comment-2

اگه تمایل دارید که فیلد نام و آدرس ایمیل بصورت کامل حذف بشه و نمایش داده نشه باید از قطعه کد زیر در function.php استفاده کنید:

function wpb_alter_comment_form_fields($fields) {
    unset($fields['author']);
    unset($fields['email']);
    unset($fields['url']);
    return $fields;
}
add_filter('comment_form_default_fields', 'wpb_alter_comment_form_fields');

اگر فرم دیدگاه شما بدون وارد کردن آدرس ایمیل دیدگاه رو نشون نمیده میتونید با ویرایش کردن comment.php و تغییر دادن تگ

با کد زیر این مشکل رو برطرف نمایید:

<?php
comment_form(array(
'comment_notes_before' => '<p class="comment-notes">' . __( 'No name or email address required.' ) . ( $req ? $required_text : '' ) . '</p>'
    ));
?>

comment-3

آیا این مقاله برای شما مفید بود؟
تقریبا
خیر

دیدگاهتان را بنویسید

ارسال دیدگاه به معنی این است که شما ابتدا قوانین ارسال دیدگاه را مطالعه کرده‌اید و با آن موافق هستید.

دیدگاه‌های این نوشته جدید ترین ها شاخص

  1. سلام
    من به شدت نیاز به قسمت آخر این مطلب دارم و دنبالش بودم. اونجا که گفتید:
    “اگر فرم دیدگاه شما بدون وارد کردن آدرس ایمیل دیدگاه رو نشون نمیده میتونید با ویرایش کردن comment.php و تغییر دادن تگ
    با کد زیر این مشکل رو برطرف نمایید:”
    چند مطلب از خانم کوهستانی دیدم که میتونم بگم بارزترین خصلتشون، بسیار بسیار بسیار کوتاه و خلاصه پاسخ دادنه، جوری که هچی دستگیر کسی نشه! 🙂
    ولی الان میخوام لطف کنید و هر کسی میتونه مفصل و کامل جواب بده تا مشکلم حل بشه.
    در وب سایت من که یه وب سایت شخصیه و عضویت نداره، برای دیدگاه ها، نام و ایمیل رو اختیاری کردم. اما مشکل اینجاست که وقتی ایمیل وارد نمیشه، دیدگاه هم پیش نمایش نمیشه. و پیام “دیدگاه شما در انتظار بررسی است” ظاهر نمیشه. به صورتی که مخاطب فکر میکنه اصلا دیدگاهش ارسال نشده…
    مطلب بالا اصلا در این مورد گویا نیست. لطفا کامل پاسخ بفرمایید.
    کد بالا رو کجای comments.php قرار بدم؟ و چه تغییری باید ایجاد کنم؟
    ممنونم.
    ممنون میشم پاسخ بدید.

    • لازم نبود جواب بدید؟

  2. من عضویت زدم که اگه عضو شدن بتونن کامنت بذارن. ولی چیکار کنم که نام مستعارشون رو تو کامنت ها نمایش بده و نام کاربری نشون نده؟