شماره گذاری نظرات در وردپرس

September 14, 2006 at 01:52 pm

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

برای اینکه بتوانیم برای نظراتی که در هر پست وارد شده شماره ای متناسب در نظر بگیریم به طوریکه نظر اول شماره 1 نظر دوم شماره 2 و … را داشته باشد، راه های زیادی وجود دارد. من پلاگینی در این مورد ندیدم (لازم نیست، پلاگینی باشد) چند خط کد ساده در قالب مشکل را حل می کند.

راه حل اول: به سراغ محتویات قالب وبلاگ بروید، حتما فایل comments.php را می بینید، کد زیر را در بالای فایل قبل از همه کدها قرار دهید، در اینجا متغیر i با عدد صفر مقدار دهی شده است:

<?php $i = 0; ?>

در همین فایل بگردید و دستور foreach .را به شکل زیر پیدا کنید
(اطراف خط شماره 27 در قالب پیشفرض وردپرس):

<?php foreach ($comments as $comment) : ?>

بعد از این خط دستور زیر را قرار دهید.
در هر بار تکرار حلقه یک واحد به عدد قبلی که در متغیر i قرار گرفته اضافه می شود:

<?php $i++; ?>

حال برای نمایش متغیر i که نشانگر شماره مربوط به هر نظر است، بدنبال تابع comment_author_link (تابعی است که نام نظر دهنده را بر می گرداند) کمی پایین تر از خط بالا بگردید و کد زیر را در کنارش قرار دهید. فایل تان را ذخیره و نتیجه را مشاهده کنید. البته این قسمت به سلیقه طراح بر می گردد و می توانید برای انعطاف بیشتر، المانی در فایل css تان برایش تعریف کنید:

<?php echo $i; ?>

اما راه حل دوم: این شیوه شاید کمی مشکل تر باشد اما جالب تر و فنی تر است. در همان فایل comments.php حلقه شروع کامنت ها را پیدا کنید. این حلقه با دستور if و به صورت زیر شروع می شود معمولا در پایین خط توضیح You can start editing here قرار دارد:

<?php if ($comments) : ?>

قبل از این حلقه دستور زیر را قرار دهید. در این دستور به کمک تابع count تعداد عناصر آرایه comments$ را می شماریم و در comment_number قرار می دهیم:

<?php  $comment_number = count ( $comments ); ?>

مطابق قسمت نهایی شیوه قبل تابع comment_author_link را پیدا کنید و بعد از آن دستورات زیر را قرار دهید. خط اول شماره نظر را چاپ می کند، این شماره برای اولین نظر برابر است با تعداد کل نظرات وارد شده و خط دوم برای هر نظر بعد یک واحد کم می کند. بدین ترتیب شماره ها به صورت نزولی خواهند بود:

<?php echo $comment_number; ?>
<?php $comment_number--;?>

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

دسته: وردپرس | نویسنده: مرتضی الوانی
  1. 8 نظر برای این مطلب ارسال شده است. نظر خود را ارسال کنيد »

  1. 1

    احسان


    خوندم ! الان ميخوام روي لوكال هاست اجراش كنم ببينيم چطورياست !!!

    September 15, 2006 at 11:43 am

  2. 2

    خسروبيگي


    سلام
    يه آدرس ايميل بده چند تا سوال وردپرسي دارم بپرسم
    ممنون

    September 16, 2006 at 11:28 am

  3. 3

    وب نويس


    ماشالله برادر ….

    میگم عزیز ایمیل هات رو همیشه اینجوری جواب میدی :)

    مخلصیم !

    September 17, 2006 at 4:47 pm

  4. 4

    سيد ايمان (كوروش) ضيابري


    شما آقاي دوربيني رو مي‌شناسيد؟ وقتي دوربين مي‌بينه خود به خود شارژ مي‌شه. مي‌گه به دوربين يه سمپاتي خاص دارم. اسم منم بايد بذارن كوروش لينكي! باور كنيد لذت‌بخش ترين كار دنيا تبادل لينكه. مي‌خوايد امتحان كنيد…
    راستي، فكر نكنيد ما خدمت شما ارادت نداريم يا نمي‌خوانيمتان. نه خير! ما مدتهاست از خوانندگان شماييم. نشانه‌‌اش بي‌خبري و بي‌سروصدايي‌مان است. شايد برايتان عجيب باشد بعد از اين همه مدت كامنت گذاشتن… حق داريد. ولي خوب اين كامنت به افتخار يك ساله شدن وبلاگم بود!! متشكرم

    September 17, 2006 at 5:29 pm

  5. 5

    وب نويس


    من به شخصه مخلصتم الوان جان ! :)

    راستي كم پيدا شدي ؟ قضيه چيه ؟

    September 20, 2006 at 11:29 pm

  6. 6

    Bonyanalam


    سلام !

    خیلی خوشحالم که یه ایرانی رو می بینم تو اشتراک اطلاعات خساست به خرج نمی ده !

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

    یه بحثی بود در مورد شناسائی مرورگر کاربر … که با توجه به نوع مرورگر کاربر استایل مخصوصی رو فراخونی می کرد . اگه در این مورد با css خارجی بحث بشه ، فکر می کنم کمک بزرگی باشه واسه طراحان وب .

    با آرزوی موفقیت برای تو دوست خوب .

    September 27, 2006 at 1:58 am

  7. 7

    mostafa


    سلام دادا این فرم ارتباط با ما رو چجوری ردیف کردی؟

    October 12, 2006 at 3:20 pm

  8. 8

    مهدی


    سلام
    ممنون از شما
    یه افزونه برا این کارر هستش ولی باس 10 برابر کد هایی که شما گفتید رو بعد نصب افزونه به قابل نظرات اضافه کرد :)
    Greg’s Threaded Comment Numbering

    September 10, 2015 at 6:34 am