wordpress comment

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

فرم دیدگاه وردپرس

فرم دیدگاه شامل فیلدهای نام، ایمیل، وبسایت، کوکی و متن دیدگاه است. این فیلدها با استفاده از تابع comment_form که درون فایل comments.php قرار می گیرد قابل ویرایش هستند. این تابع شامل دو آرگومان ورودی است. آرگومان اول یک آرایه شامل پارامترهای مختلف و آرگومان دوم آیدی پست که بصورت پیشفرض null بوده می باشد.

comment_form( array(), $post_id )

پارامترهایی که ما در این مطلب با آنها آشنا می شویم بدین صورت است:

  • ‘fields’
    فیلدهای پیشفرض فرم دیدگاه
    • ‘author’
      نویسنده نظر
    • ’email’
      ایمیل نویسنده نظر
    • ‘url’
      وبسایت نویسنده نظر
    • ‘cookies’
      کوکی
  • ‘comment_field’
    متن دیدگاه
  $args =array(
        'comment_field' => '',
        'fields' => array(
            'author' => '',
            'email' => '',
            'cookies' => '',
        ),
    );

در قطعه کد بالا یک آرایه ایجاد و مقادیر دلخواه پارامترها را در ‘ ‘ درج کرده و آن را درون یک متغییر با نام args میریزیم. توجه داشته باشید که پارامتر fields خود شامل یک آرایه بوده و نباید به اشتباه author, email, url و cookies را در آرایه اول وارد کرد. نمونه ای از مقادیر وارد شده در قطعه کد زیر می بینید:

$fields = array(
    'comment_field' => '<p class="comment-form-comment">
<textarea placeholder="' . __('Comment (required)', 'dangoweb') . '" id="comment" name="comment" cols="45" rows="8" maxlength="65525" required="required"></textarea>
</p>',
    'fields' => array(
        'author' => '<p class="comment-form-author"><input placeholder="' . __('Name (required)', 'dangoweb') . '" id="author" name="author" type="text" value="" size="30" maxlength="245" required="required"></p>',
        'email' => '<p class="comment-form-email"><input placeholder="' . __('Email (required)', 'dangoweb') . '" id="email" name="email" type="email" value="" size="30" maxlength="100" aria-describedby="email-notes" required="required"></p>',
        'cookies' => '',
    ),
);

حال کافیست متغییر ساخته شده را به تابع comment_form معرفی و خروجی را مشاهده کنیم:

comment_form($fields);

حذف فیلدهای دیدگاه

برای حذف یکی از فیلدهای فرم دیدگاه وردپرس مانند: نام، ایمیل یا وبسایت از فیلتر comment_form_default_fields استفاده می کنیم:

تابع زیر باید در فایل functions پوسته قرار بگیرد.

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

موارد بیشتر شخصی سازی فرم دیدگاه در آموزش های بعدی قرار خواهد گرفت.

دیدگاه