comment_form

comment_form(array $args = array(), int|WP_Post $post_id = null)

نمایش کامل یک فرم نظردهی با یک قالب مشخص با استفاده از comment_form

توضیحات تابع comment_form

بیشتر فیلدهای متنی در فرم به وسیله آرایه args کنترل می‌شود و با این آرایه به تابع ارسال می‌گردد. در صورتی که بخواهید می‌توانید با استفاده از ‘comment_form_default_fields’ فیلدهای پیش فرض فرم نظرات را فیلتر کنید یا اگر بخواهید فیلدی را حذف یا اضافه کنید.

تمام فیلدها به صورت جداگانه با استفاده از فیلتر ‘comment_form_field_$name’  ارسال می‌شوند و شما می توانید به جای متغیر name می‌توانید از نام فیلدها استفاده کنید.

پارامترهای تابع comment_form:

  1. args: این پارامتر دلخواه است و در صورتی که بخواهید فیلدهای پیش فرض فرم نظرات را تغییر دهید از آن استفاده میکنید.(مقدار از نوع آرایه و اختیاری است).
    • fileds: این پارامتر درون آرایه args استفاده می شود و می‌تواند فیلدهای فرم نظرات را شخصی سازی کند. این تغییرات با فراخوانی هوک comment_form_default_fields انجام می‌شود و شامل فیلدهای زیر است:
      • author: فیلد HTML مربوط به ارسال‌کننده(author) می‌باشد.
      • email: فیلد HTML مربوط به ایمیل ارسال‌کننده(email) می‌باشد.
      • url: فیلد HTML مربوط به آدرس وب‌سایت ارسال‌کننده(URL) می باشد.
      • cookies: فیلد HTML مربوط به تایید کاربر برای کوکی می‌باشد.
    • comment_fileds: فیلد HTML مربوط به توضیحات(textarea) نظرات می‌باشد.
    • must_log_in: فیلد HTML مربوط به نمایش پیغام “برای ثبت نظر باید به حساب کاربری خود وارد شوید” می‌باشد.
    • logged_in_as: فیلد HTML نمایش پیغام به کاربر ” شما با عنوان [نام کاربر] وارد شده‌اید” می‌باشد.
    • comment_note_before: فیلد HTML مربوط به نمایش پیغام ” ایمیل شما منتشر نخواهد شد” قبل از فیلدهای نظرات اگر کاربر وارد نشده باشد.
    • action: تعریف ویژگی اکشن مربوط به فرم نظرات. به صورت پیش فرض فایل wp-comments-post.php می‌باشد.
    • id_form: تعریف ویژگی id فرم. به صورت پیش‌فرض مقدار commentform برای آن ثبت شده است.
    • id_submit: ویژگی id مربوط به دکمه submit. به صورت پیش‌فرض بر روی مقدار submit تنظیم شده است.
    • calss_submit: ویزگی کلاس مربوط به دکمه submit در فرم است که با مقدار پیش فرض submit تنظیم شده است.
    • name_submit: ویژگی نام دکمه submit می باشد و به صورت پیش‌فرض بر روی submit تنظیم شده است.
    • title_reply: برچسب قابل ترجمه دکمه reply . به صورت پیش‌فرض با مقدار Leave a Reply تنظیم شده است.
    • title_reply_to: متن برچسب قابل ترجمه دکمه ‘reply-to’. به صورت پیش‌فرض مقدار آن بر روی ‘Leave a Reply to %s’ تنظیم شده است .
    • title_reply_before: تگ HTML مربوط به قبل از عنوان فرم نظرات می‌باشد و به صورت پیش‌فرض مقدار <h3 id="reply-title" class="comment-reply-title"> تنظیم شده است.
    • title_reply_after: تگ HTML که بعد از عنوان فرم نظرات قرار می‌گیرد. پیش‌فرض بر روی </h3> ست شده است.
    • cancel_reply_before: تگ HTML قبل از دکمه انصراف از پاسخ.
    • cancel_reply_after: تگ HTML بعد از دکمه انصراف از پاسخ.
    • cancel_reply_link: متن برچسب قابل ترجمه دکمه انصراف از پاسخ.
    • label_submit: متن برچسب قابل ترجمه label_submit . به صورت پیش فرض مقدار ‘Post a comment ‘ می‌باشد.
    • submit_button: فرمت تگ HTML مربوط به دکمه submit می باشد و به صورت پیش فرض مقدار <input name="%1$s" type="submit" id="%2$s" class="%3$s" value="%4$s" /> برای آن ست شده است.
    • submit_button: فرمت تگ HTML برای دکمه submit و فیلدهای مخفی فرم. به صورت پیش‌فرض بر روی مقدار <p class="form-submit">%1$s %2$s</p> تنظیم شده است. به جای مقادیر %1$s و %2$s فیلدهای مخفی قرار می‌گیرد.
    • format: فرمت فرم را تعیین می‌کند مقدار پیش‌فرض ‘xhtml’ می‌باشد و مقدار ‘html5’ را هم می‌توان برای آن ست کرد.مقدار پیش‌فرض این پارامتر از نوع آرایه می‌باشد.
  2. post_id: مقدار این پارامتر POST ID یا WP_Post که به صورت object برای فرم تولید می‌شود. مقدار پیش‌فرض پست جاری است. ( اختیاری از نوع عددی). مقدار پیش فرض آن null می‌باشد.

منبع comment_form:

File: wp-includes/comment-template.php

مثال: یک نمونه کد ساده برای سفارشی سازی فرم comment_form

$comments_args = array(
        // Change the title of send button 
        'label_submit' => __( 'Send', 'textdomain' ),
        // Change the title of the reply section
        'title_reply' => __( 'Write a Reply or Comment', 'textdomain' ),
        // Remove "Text or HTML to be displayed after the set of comment fields".
        'comment_notes_after' => '',
        // Redefine your own textarea (the comment body).
        'comment_field' => '< p class="comment-form-comment">
< textarea id="comment" name="comment" aria-required="true"></ textarea></ p>',
);
comment_form( $comments_args );

می‌توانید مقالات زیر را برای درک تابع comment_form مطالعه کنید.

 

 

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