شخصی سازی بخش نظرات در وردپرس (ایجاد بخشی متفاوت برای کامنت‌ها)


نویسنده:
دوشنبه 6 بهمن 1399
شخصی سازی فرم نظرات در وردپرس

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

نحوه نمایش باکس نظرات در وردپرس

اگر از بخش تنظیمات وردپرس، نظرات کاربران را مسدود نکرده باشید آنگاه با استفاده از تابع زیر می‌توانید باکس نظرات را در قالب وردپرسی خود نمایش دهید:

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

اگر مشکل شما فقط سایز هر فیلد، رنگ نوشته‌ها یا سایز دکمه‌ ارسال و یا مواردی از این قبیل است، نیازی نیست به سراغ بخش بعدی بروید، شما فقط به چند خط کد CSS برای استایل دهی نیاز دارید. اگر با CSS آشنایی ندارید می‌توانید از یک طراح وب کمک بگیرید.

سفارشی سازی بخش نظرات در وردپرس

برای اینکه بخش نظرات را از نو همانطور که خودمان می‌پسندیم چیدمان کنیم، کافیست در مسیر اصلی قالب یک فایل جدید به نام comments.php ایجاد کنیم. حالا در این فایل چیدمان دلخواه خودمان را ایجاد می‌کنیم. وردپرس برای نمایش نظرات، ابتدا به دنبال این فایل می‌گردد و اگر این فایل موجود نبود فرم پیش فرض را نمایش می‌دهد.

شخصی سازی فرم نظرات با تابع ()comment_form

برای اینکه فیلدها ، متون و تگ‌های فرم نظرات را تغییر دهید باید از تابع comment_form استفاده کنید. این تابع دارای آرگمان‌های مختلفی است که می‌تواند به ما در مسیر شخصی سازی فرم نظرات کمک کند. نمونه‌ای از روش استفاده از این تابع را در ادامه مشاهده می‌کنید:

در قطعه کد بالا، ما آرگمانهایی برای تابع comment_form تنظیم کردیم. در خط دوم این پروژه مشخصات کاربری که در حال نظر گذاشتن است گرفته می‌شود. خطوط ۴ تا ۱۵ مربوط به فیلدهای نام و ایمیل کاربر است. شما می‌توانید تگ‌های دلخواه خود را در این قسمت وارد کنید. در کدبالا برای این قسمت، از کلاسهای بوت استرپ استفاده شده است که اگر در قالب خود فایلهای بوت استرپ را اضافه کرده باشید خروجی این کد را مشاهده خواهید کرد.

از خط ۱۷ سایر مشخصات فرم نظرات بازنویسی شده‌اند. ۲ ورودی اول برای عنوان کامنتهای پاسخ‌دهی است.

در گزینه cancel_reply_link عنوانی برای لغو ارسال پاسخ به سایر نظرات وارد کنید.
در label_submit میتوانید یک عنوان برای دکمه ارسال نظر وارد کنید.
کلاسهایی که می‌خواهید به تگ فرم اعمال شود را در class_form وارد کنید.
comment_notes_before این قسمت برای درج تگ‌هایی قبل از پیام‌های هشداری کامنت است.

submit_button: در این قسمت برای دکمه ارسال نظرات یک کد Html‌ بنویسید.
همچنین در comment_field می‌توانید برای فیلد درج نظر ، تگهای دلخواه وارد کنید.

آخرین ورودی این کد fields است که باید همان فیلدهایی که از قبل در متغیر fields$ تنظیم کرده‌ایم را به این قسمت اضافه کنیم و در آخر کل این ورودی را به تابع اصلی نمایش نظرات یعنی comment_form بفرستیم.

توجه کنید که این تابع دارای ورودی‌های بیشتری است که برای مطالعه کامل آن می‌توانید به وب‌سایت وردپرس مراجعه کنید.


شخصی سازی نمایش آخرین نظرات با تابع wp_list_comments

خب به سراغ شخصی سازی نمایش آخرین نظرات می‌رویم. برای اینکار در ادامه کد بالا کافیست از توابع زیر استفاده شود:

به کمک این کد مشخص کردیم که نظرات درون تگ ul قرار بگیرند و برای چیدمان و نحوه نمایش از تابع myCustomCommentsList استفاده شود. این یک تابع دلخواه است که می‌تونید در آن، چیدمان دلخواه خود را ایجاد کنید:

تابع بالا بسیار ساده است. تگ‌های دلخواه خود را برای هر نظر ایجاد کرده‌ایم و از یک سری توابع برای نمایش اسم کاربر، متن نظر، ساعت و تاریخ درج نظر استفاده کرده ایم:

get_avatar: نمایش تصویر آواتار کاربر، میتوانید از یک تصویر پیش فرض هم استفاده کنید که باید آدرس آن را در بخش default$ وارد نمایید.

get_comment_author: دریافت نام کاربری که نظر گذاشته است.
get_comment_date: دریافت تاریخ درج نظر
get_comment_time: دریافت زمان درج نظر
comment_text: نمایش متن نظر

خب حالا کافیست تمامی کدهای بالا را به ترتیب در فایل comments.php قرار دهید و در هر صفحه و بخشی که می‌خواهید این فرم را نمایش دهید تابع comments_template را فراخوانی کنید.

تنظیم بخش نظرات در وردپرس

فرمی که در تصویر بالا مشاهده می‌کنید به کمک همین روش و چند خط کد css جهت استایل دهی ایجاد شده است.

مطالب زیر را حتما بخوانید

آموزش کامل حلقه مطالب وردپرس | آموزش توابع درون حلقه

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

نمایش مطالب بیشتر با Ajax بدون افزونه در وردپرس

در این مقاله قصد داریم نحوه‌ی نمایش مطالب بیشتر با Ajax را به صورت مرحله به مرحله بررسی کنیم. به...

فعالسازی ویجت‌ و ساخت ناحیه ابزارک در وردپرس

در این آموزش قصد داریم بررسی کنیم چگونه چند ناحیه ابزارک به وب‌سایت خود اضافه کنید. و اینکه چگونه بخش...

آموزش ساخت شورت‌کد در وردپرس

به کمک این مقاله می‌آموزید چگونه یک شورت کد در وردپرس بسازید و آن را اجرا کنید.

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

14 پاسخ به “شخصی سازی بخش نظرات در وردپرس (ایجاد بخشی متفاوت برای کامنت‌ها)”

  1. امین گفت:

    سلام و ممنون از مطلب مفیدتون. تو این کد اول فرم ثبت نظر رو نمایش میده و زیر اون نظرات کاربران رو. چطور کدها رو تغییر بدم که اول نظرات کاربران رو نمایش بده و بعد فرم ارسال نظر؟
    هر کاری کردم با خطا مواجه شدم.

  2. Hossein گفت:

    سلام و درود، برای من در قسمت ابتدای نظرات، اون قسمتی که می نویسه با نام کاربری فلان وارد شده اید، به لاتین هست و ترجمه نمیشه، اما بقیه قسمت ها ترجمه میشن. باید چه کار کنم؟

  3. علی زارعی گفت:

    سلام وقت شما بخیر ،ممنون از مطلب مفید شما، حقیقتش من هر جوره دارم این کدها رو به ترتیب جاگذاری میکنم به نتیجه درست نمیرسم، اگه امکانش هست کد کامل رو یکجا بزارید. ممنون

  4. ابوالفضل گفت:

    سلام خسته نباشید من بخش کامنت هارو ساختم ولی وقتی متنی مینویسم و دکمه ارسال میزنم داخل دیتابیس ذخیره نمیشه میشه راهنمایی کنید

    • سلام کدهای بالا رو بدون تغییر تست کنید. باید نظر در پنل وردپرس بخش دیدگاه ها ذخیره بشه در غیر اینصورت باید توسط یک برنامه نویس کدها و قالبتون کنترل بشه

  5. شاهین گفت:

    سلام
    اگر من بخواهم بخش شماره تلفن در نظرات اضافه کنم چه کدی باید وارد کنم کد نویسی هم نمیدونم

  6. مصطفی گفت:

    واقعا ممنون. خیلی خوب بود. ولی من نمیخوام مثل شما از col ها استفاده کنم و به صورت عادی زیر هم بیان. ولی مشکل اینه که اول textarea میاد بعد بقیه فیلدها. چطور میتونم textarea رو جابجا کنم؟

  7. سعید اسلام پناه گفت:

    کدهاتون مشکل دار هستند

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