آموزش ساخت پلاگین برای وردپرس

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

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

جلوگیری از دسترسی مستقیم به comments.php

این کد باعث جلوگیری ورود کاربر به صفحه comments.php می شود ، برای چاپ مقداری می تونید از
die
استفاده کنید.

کد درخواست رمز:

این قطعه کد قبل از دیدن پست از شما پسورد می خواد و اگر شما پسورد را نداشته باشید نمی تونید پست مربوطه را ببنید.
If
اول چک می کند آیا پسوردی ست شده است یا نه ،
if
دوم کوکی را چک می کند و اگر پسوردی نباشد پیغامی چاپ می کند ، می توانید پیغام دل خواه خود را در
if
دوم قرار دهید.

کد نمایش کامنت ها :

اولین شرط چک می کند آیا کامنتی هست ؟ اگر هست آن را داخل یک
foreach
قرار می دهد ، داخل
foreach
شرط دیگری هست که چک می کند اگر کامنت ها تایید شده بودند نمایش می دهد و اگر تایید نشده بودند پیغامی چاپ می کند.

مثال دیگر

چند تیمپلیت تگ مهم و مثال :

Template Tag Description
<?php comment_ID(); ?> ای دی کامنت
<?php comment_author(); ?> کامنت نویسنده
<?php comment_author_link(); ?> اگر نویسنده سایت خودش را معرفی کرده باشد لینک آن را می دهد
<?php comment_type(); ?> نوع کامنت pingback, trackback or a comment
<?php comment_text(); ?> کامنت واقعی
<?php comment_date(); ?> تاریخ پست کامنت
<?php comment_time(); ?> زمان پست کامنت

نتیجه‌ی نهایی:

این کد را درcomment.php وارد کنید یک لیست از کامنت ها و اطلاعات آنها به شما می دهد و اگر کامنتی نباشد می گوید کامنتی نیست .

عبارات شرطی :

اولین شرطی که می بینید
&lt;?php if(comments_open()) : ?&gt;
اگر کامنت باز است که واضحه چی می شه اما اگر کامنت بسته باشد شما نمی توانید کامنتی بگذارید و البته به جای کامنت هم نیازی نسیت .

شما می تونید پیام مناسبی را برای نمایش بین <?php else : ?> و <?php endif; ?> قرار دهید .

دومین شرط <?php if(get_option(‘comment_registration’) && !$user_ID) : ?>

این شرط چک می کنید آیا برای گذاشتن کامنت باید لوگین کنید یا نه اگر لوگین نباشید لینکی برای لوگین به شما نمایش داده خواهد شد

اگر لوگین کردن نیازی نباشد و یا شما لوگین کرده باشید فرم را به شما نشان می دهد.

و آخرین شرط چک می کند اگر شما لوگین کرده اید یا نه ؟

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

اضافه کردن فرم :

ما اینجا فرم را ایجاد کی کنیم ، و شرط ها را نیز می نویسیم .

همان طور که قبلا گفتم آخرین شرط چک می کند آیا شما لوگین هستید یا نه ؟

فیلد های نام وب سایت و ایمیل زمانی به شما نشان داده می شود که شما لوگین نباشید .

بیاید آن را داخل کد ببینیم :

تقریبا کاملش کردیم و فقط چند خط کد ساده نیاز داریم برای ایجاد texteara و submit button و این ها را بعد از آخرین شرط قرار می دهیم.

Gravatars

از ورد پرس 2.5 کاستم تیمپلیت های وجود دارد که gravatars را امبد کرده است . اون gravatar رااز ایمیل کاربر میکشد و این هم کد آن

می تونید $author_email را با get_comment_author_email(); عوض کنید ، size ارتفاع و عرض را مشخص می کند . $default_avatarاگر کامنت گذار آواتاری نداشته باشد یک آواتار به صورت پیشفرض می گذارد.

این کد را داخل حلقه foreach قرار دهید تا کامنت ها را برای شما نمایان کند چیزی که به شما نمایش خواهد داد یک عکس با کلاس آواتار و avatar-$size همان سایزی که مشخص کردید ، با کمی سی اس اس می توانید چیزی شبیه شکل زیر داشته باشید .

شماره کامنت ها :

در بعضی موارد می بینید که نوشته ای با این مضمون وجود دارد 3 نظر تا کنون ، انجام این کار به لطف تمپلیت تگ های ورد پرس بسیار را حت است .

$zero_comments متنیست که زمانی که کامنتی نسیت نمایش داده می شود

$one_comment زمانی که یک کامنت وجود داشته باشد نمایان می شود

$more_comments زمانی نمایان می شود که بیش از یک کامنت وجود داشته باشد .

مثال :

من از % برای چندین کامنت استفاده کردم

فانکشن comments_number به جای % اعداد 2و3و… قرار خواهد داد .

تو فایل comments.php خودمون ازش استفاده می کنیم و شما چیزی شبیه این خواهید دید.

لینک کامنت ها :

برای اضافه کردن لینک کامنت از کد زیر استفاده می کنیم .

3 پارامتر اول مثل پارامتر های فانکشن comments_number هستند .

Css_class که واضح برای سی اس اس شماست

comments_closed متنی است که موقع بستن کامنت نمایش داده می شود.

مثال:

comments-link به شما لینک سی اس اس را می دهد .

ویرایش کامنت :

در مواقعی می خواهید کامنت را ویرایش کنید برای این کار از فانکشن زیر استفاده می کنیم :

این کد را باید در داخل یک foreach قرار دهید .

link_text یک نوشته anchor است برای لینک ویرایش

after_link به ترتیب متن و یا کدی است که قبل و بعد لینک قرار می گیرد.

رنگ های متناوب برای کامنت :

برای اینکه کامنت ها یکی در میان رنگی شود از کد زیر استفاده می کنیم :

شما باید این کد را داخل یک foreach قرار دهید ، همین طور می توانید li id=”comment-<?php comment_ID(); ?>”> با

<?php $i++; ?><li<?php alternate_rows($i); ?> id=”comment-<?php comment_ID(); ?>”>

عوض کنید .

این تمام کامنت هایی که کلاس alt دارند را به شما می دهد و به این ترتیب می تونیم با css تغییرش بدیم .

نمایش تگ های مجاز :

برای نمایش تگ هایی که کامنت گذار مجاز به استفاده است می توانید از فانکشن زیر استفاده کنید :

Allowed tags: <?php echo allowed_tags(); ?>

Comments RSS link:

برای دادن یک لینک به rss از کد زیر استفاده می کنیم :

$link_test را با متن anchor برای لینک RSS تعویض کنید .

پایان :

امید وارم از این آموزش کوتاه لذت برده باشید ، می توانید تمام این کد ها را از این لینک دریافت کنید ، واضح است comments link کار نمی کند مگر اینکه داخل یک لوپ استفاده بشود .

comments.php

پیشنهاد می‌کنم این مقالات هم بخوانید

15 پاسخ

  1. سلام
    میشه یک نگاه به بخش کد های قالب من بندازید؟
    پاسخ هایی که من میدم رو نشون نمیده همچنین پاسخ به این نظر رو هم نشون نمیده مثلا در این صفحه
    http://cesardl.info/%D8%AF%D8%A7%D9%86%D9%84%D9%88%D8%AF-%D9%81%DB%8C%D9%84%D9%85-%DA%AF%D8%B1%DA%AF-%D9%88-%DA%A9%D9%88%D8%AF%DA%A9-the-fox-and-the-child-2007-%D8%AF%D9%88%D8%A8%D9%84%D9%87-%D9%81%D8%A7%D8%B1%D8%B3/
    ۴ تا کامنت هستش ولی فقط یکیشو نشون میشده
    اینم کد های کامنت هستش
    http://cesardl.info/wp-content/uploads/2017/07/comments.txt
    ممنون

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

    1. با سلام

      شما می‌توانید یک صفحه به صورت یک popup ایجاد کنید و در آن صفحه نظرات را نمایش دهید.

      موفق باشید

  3. سلام.خسته نباشید
    دیدگاه ها در مطالب سایت من نمایش داده نمی شد و اون کد نمایش دیدگاه که زحمت کشیدید گذاشاید مشکل را رفع کرد..ولی با یک گرافیک ضعیف.یعنی اصلا مشخص نیست که کدام پیام پاسخ من به کدام پیام مشتری بوده..همه دیدگاه ها به یه ترتیب شمارشی نمایش داده می شود و فرم نقل و قول ندارد..ممنون می شم در این پست ببینید و راهنماییم کنید..

    https://****.ir//

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

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

۱ ستاره۲ ستاره۳ ستاره۴ ستاره۵ ستاره
(ستاره دهید)
Loading...
Share on twitter
Share on linkedin
Share on telegram
Share on whatsapp
Share on facebook