الأحد، 30 مارس 2014

شرح تصميم قوالب ووردبريس -الجزء العاشر-


شرح تصميم قوالب ووردبريس -الجزء العاشر-
فى الدرس السابق -التاسع- كنا قد وصلنا إلى منطقة عرض بيانات التعليقات، وآخر ما ذكرناه هو دالة comment_date و comment_time وتعرفنا على فائدتهما، والآن سنقوم بوضع زر Reply والمخصص للرد على التعليقات، وذلك عبر دالة comment_reply_link، ولكن تلك الدالة ستأخذ بعض البارامترات كالتالي:
عندما بدأنا فى إنشاء دالة لعرض التعليقات وهي دالة my_comments قمنا بوضع ثلاثة Arguments وهم: comment و args و depth، الآن سنقوم بوضع args و depth على الترتيب كبارامترات داخل دالة array_merge داخل دالة comments_reply_link، كما فى الكود التالي:
comment_reply_link(array_merge($args,array("depth"=>$depth, "max_depth"=>$args['max_depth'])));
اعتقد أنها جزئية معقدة بعض الشيء، والآن لننتقل إلى الجزء الخاص بعرض صورة كاتب التعليق، أولاً سنقوم بإنشاء متغير يحمل قيمة حجم الصورة، ولتكن 80 بيكسل على سبيل المثال، فسنقوم بتعريف المتغير كالتالي:
$avatar_size = 80;
والآن سنقوم بالتحقق ما اذا كان التعليق -الذي سنقوم بعرض صورة كاتبه- تعليقًا رئيسيًا ام ردًا على تعليق آخر، فإذا كان ردًا على تعليق آخر فسنقوم بتغيير حجم الصورة إلى 64 بيكسل، وتلك العملية تتم عبر الشيفرة التالية:
if($comment->comment_parent !=0){
$avatar_size = 67;
}
والآن سنقوم بطباعة الصورة وذلك عبر دالة get_avatar والتي تأخذ بارامترين فقط، البارامتر الأول وهو الـArgument الأول الذي قمنا بوضعه فى دالة my_comments وهو comment، ثم البارامتر الثاني وهو حجم الصورة والذي قمنا بتعريفها وهي avatar_size، كما فى هذا السطر:
echo get_avatar($comment, $avatar_size);
والآن لننتقل إلى جزء آخر، وهو الجزء الخاص بعرض جملة تفيد بأنه لن يتم عرض التعليق الذي أدخله المستخدم إلا بعد موافقة مشرفين الموقع، ففي المنطقة المخصصة بذلك ستقوم بعمل التالي:
سنقوم بعمل تحقق ما اذا كان التعليق تم الموافقة عليه ام لا فإذا لم تتم الموافقة سيتم عرض تلك الجملة، كما فى الكود التالي:
comment_approved == '0'): ?>

تعليقك بإنتظار موافقة المشرفين!


والآن حان وقت عرض محتوى التعليق نفسه، وهذا ببساطة عبر دالة comment_text، بدون آية بارامترات :)
ملحوظة: قم بحذف
فى نهاية الشيفرة؛ لأن برنامج الووردبريس سيقوم بإضافته بعد كل تعليق تلقائيًا.
والآن سنقوم بأخذ عنصر تعليق جديد ((li جديد)) وسنقوم بوضعه بداخل دالة my_comments وعمل نفس الخطوات السابقة به ما عدا اننا سنقوم بوضع class للـli باسم pingback، وسنقوم بإستبدال اسم صاحب التعليق إلى Pingback، وبدلاً من وضع تاريخ التعليق وزر الرد عليه، سنقوم بوضع دالة edit_comment_link، ولن نحتاج إلى وضع صورة لصاحب التعليق، وبدلاً من كتابة محتوى التعليق سنقوم بوضع دالة comment_author_link.
هذا كل ما لدينا فى هذا الدرس، وفى الدرس القادم بإذن الله سنقوم بتطوير نموذج كتابة تعليق جديد.

ليست هناك تعليقات:

إرسال تعليق