حان الوقت لإضافة تعليق تعليق الرد. تعليقات ووردبريس – تصميم مظهر كامل

يحتوي WordPress على عدة أنواع من المحتوى مثل المنشورات والصفحات والتعليقات. يعد WordPress منصة مرنة للغاية تسمح لك بتخصيص المحتوى الأساسي ليناسب موقعك. يمكنك تغيير المظهر والوظيفة. سنوضح لك في هذا البرنامج التعليمي كيفية تغيير سلوك ومظهر التعليقات على موقع WordPress.

الخطوة 1. فهم وظيفة comment_form ووسائطها

دعونا نلقي نظرة على وظيفة comment_form في WordPress. وهو المسؤول عن عرض نموذج التعليق الذي يظهر في الصفحة أو المنشور. يمكن العثور على استدعاء هذه الوظيفة بشكل أساسي في ملف comments.php الموجود في مجلد السمات. يتم تضمين هذا الملف في أماكن مختلفة، على سبيل المثال في ملفات Single.php وpage.php، مباشرة أو من خلال استدعاء وظيفة comments_template.

يمكن العثور على وصف الوظيفة في مخطوطة WordPress.

إذا كنت تستخدم وظيفة comment_form لعرض نموذج، فسيتم عرضه باستخدام المعلمات الافتراضية وسيحتوي على حقول مثل الاسم والبريد الإلكتروني (كلا الحقلين مطلوبان) وموقع الويب ومحتوى التعليق. في قالب Twenty Eleven الافتراضي، سيبدو النموذج بهذا الشكل.

بعض الوسائط المهمة للدالة comment_form:

  • الحقول - يمكنك استخدامه للتحكم في عرض الحقول في نموذج التعليق.
  • comment_notes_before و comment_notes_after - يُستخدم لعرض المعلومات قبل النموذج وبعده.
  • title_reply - يُستخدم لتغيير عنوان الرد، والذي يكون افتراضيًا هو "اترك ردًا".
  • label_submit - يُستخدم لتغيير النص الموجود على زر إرسال التعليق.
الخطوة 2. قم بتخصيص نموذج التعليق باستخدام وظيفة comment_form

لنقم الآن بإعداد نموذج التعليق الخاص بنا عن طريق تمرير الوسائط إلى وظيفة comment_form.

في حالة أردنا تخصيص الحقول في نموذج التعليق، نحتاج إلى تمرير قائمة بها إلى وظيفة comment_form. بشكل افتراضي، تستخدم الدالة قائمة الحقول التالية:

الحقول $ = المصفوفة ("المؤلف" => "

" . "" . __("الاسم") . " " . ($req ? "*" : "") . "

", "البريد الإلكتروني" => " ", "عنوان URL" => "

" . __("موقع إلكتروني") . "" . "

",);

إذا أردنا إزالة حقل، على سبيل المثال موقع الويب، نحتاج ببساطة إلى استبعاده من المصفوفة وتمرير المصفوفة إلى وظيفة comment_form.

$commenter = wp_get_current_commenter(); $req = get_option("require_name_email"); $aria_req = ($req ? " aria-required="true"" : ""); الحقول $ = المصفوفة ("المؤلف" => "

" . "" . __("الاسم") . " " . ($req ? "*" : "") . "

", "البريد الإلكتروني" => " ",); $comments_args = array("fields" => $fields); comment_form($comments_args);

بالإضافة إلى ذلك، سنقوم أيضًا بتغيير اسم النموذج إلى "من فضلك أعطنا تعليقك الثمين"، والنقش الموجود على الزر إلى "أرسل تعليقي".

لإكمال المهمة، نقوم بتمرير الوسائط التالية إلى الدالة comment_form:

$commenter = wp_get_current_commenter(); $req = get_option("require_name_email"); $aria_req = ($req ? " aria-required="true"" : ""); الحقول $ = المصفوفة ("المؤلف" => "

" . "" . __("الاسم") . " " . ($req ? "*" : "") . "

", "البريد الإلكتروني" => " ",); $comments_args = array("fields" => $fields, "title_reply"=>"يرجى تزويدنا بتعليقك الثمين"، "label_submit" => "أرسل تعليقي"); comment_form($comments_args);

الآن سيبدو نموذج التعليق كما يلي:

الخطوه 3. إزالة الحقول من النموذج باستخدام الخطاف

كما يمكن تعديل نموذج تعليق WordPress باستخدام الخطافات والمرشحات. يمكن أن يكون هذا الإعداد مفيدًا بشكل خاص عند العمل باستخدام مكون إضافي، عندما تحتاج إلى تخصيص عدة عناصر، ولكن ليس تغيير ملفات السمات. مرشح لإضافة أو إزالة الحقول من النموذج - ' comment_form_default_fields '

لنقم بإزالة حقل URL باستخدام عامل التصفية. يمكن استخدام الكود أعلاه في مكون إضافي أو في ملف jobs.php الخاص بالقالب النشط.

الوظيفة Remove_comment_fields($fields) ( unset($fields["url"]); return $fields; ) add_filter("comment_form_default_fields"، "remove_comment_fields")؛

الخطوة 4. أضف البيانات إلى نموذج التعليق باستخدام الخطاف

يمكننا إضافة حقول إلى النموذج باستخدام مرشح "comment_form_default_fields". دعونا نضيف حقل عمر المؤلف باستخدام مرشح ونحفظ هذا الحقل ببيانات إضافية ونعرضها في التعليق.

أضف حقل مثل هذا:

الوظيفة add_comment_fields($fields) ( $fields["age"] = "

" . __("عمر") . "" . "

"؛ إرجاع الحقول $؛ ) add_filter("comment_form_default_fields"، "add_comment_fields")؛

#respond تسمية نموذج التعليق-المؤلف، #respond تسمية نموذج التعليق-البريد الإلكتروني، #respond تسمية نموذج التعليق-url، #respond تسمية نموذج التعليق-العمر، #respond تسمية نموذج التعليق-التعليق ( الخلفية: #eee -webkit-box-shadow: 1px 2px 2px rgba(204,204,204,0.8); -moz-box-shadow: 1px 2px 2px rgba(204,204,204,0.8); : 13 بكسل؛ الحد الأدنى للعرض: 4 بكسل 10 بكسل؛

الآن سيبدو نموذج التعليق الخاص بنا كما يلي:

يتم الآن تخزين العمر كمعلومات إضافية. تحتاج إلى استخدام الخطاف في "comment_post":

الوظيفة add_comment_meta_values($comment_id) ( if(isset($_POST["age"])) ( $age = wp_filter_nohtml_kses($_POST["age"]); add_comment_meta($comment_id, "age", $age, false); ) ) add_action("comment_post", "add_comment_meta_values", 1);

بمجرد حفظ البيانات، يمكن إخراجها كتعليق مثل هذا:

الخطوة 5. إعداد التعليقات لأنواع منشورات محددة

في بعض الأحيان تريد استخدام حقول التعليقات فقط لأنواع معينة من المنشورات. فلنغير الكود لعرض حقل العمر فقط لنوع سجل كتاب:

الوظيفة add_comment_fields($fields) ( if(is_singular("books")) ( $fields["age"] = "

" . __("عمر") . "" . "

"; ) إرجاع الحقول $; ) add_filter("comment_form_default_fields"، "add_comment_fields");

الخطوة 6. قم بإنشاء وظيفة رد اتصال لعرض التعليقات

يتم استخدام وظيفة wp_list_comments لعرض التعليقات على المشاركات. في كود ووردبريسيتم وصف الوظيفة بالتفصيل.

يحتوي wp_list_comments على وسيطة "رد الاتصال" التي يمكنك من خلالها تحديد وظيفة يتم استدعاؤها عند عرض التعليق.

في قالب Twenty Eleven في ملف comments.php، يمكنك العثور على السطر:

Wp_list_comments(array("callback" => "twentyeleven_comment"));

دعنا نغيره إلى:

Wp_list_comments(array("callback" => "my_comments_callback"));

سيتم استدعاء وظيفة my_comments_callback لكل مشاركة.

الخطوة 7: تعليقات التصميم

الآن سنقوم بتغيير نمط التعليق قليلاً. سنقوم ببساطة بعرض محتويات المنشور وحقل العمر الذي أضفناه سابقًا. سنقوم أيضًا بتغيير لون الخلفية للتعليقات.

رمز الوظيفة "my_comments_callback":

الدالة my_comments_callback($comment, $args, $ Deep) ( $GLOBALS["comment"] = $comment; ?>

للحصول على وصف ووسائط مقبولة لوظيفة comments_template() وغيرها من الوظائف المذكورة في المقالة، ابحث في WordPress Codex.

تحضير القالب

دعونا نحاول فهم قوالب تعليقات WP وإنشاء ملف خاص بنا لعرض التعليقات على منشورات وصفحات المدونة. كأمثلة كمرجع، يمكنك أخذ قوالب من سمات WordPress القياسية. لنقم بإنشاء مستند جديد في أي محرر نصوص، ونسميه comments.php ونبدأ في التحرير.

  • من حيث المبدأ، يمكنك تسمية الملف بأي شيء تريده، ثم كتابة المسار إلى هذا الملف في comments_template()، ولكن من الأفضل الالتزام بالاسم القياسي
  • يمكنك أيضًا تحرير الملف في لوحة إدارة WP، بالمناسبة.
  • من الأفضل بالطبع كتابة التعليمات البرمجية واختبار تأثيرها على الفور على مدونتك أو على خادم محلي.

في WordPress، من الممكن تعطيل التعليقات للمشاركات الفردية، لذا قبل عرضها، عليك التحقق من "الانفتاح":

هذا هو رمز المجمع لإجراءاتنا الإضافية. لنقم الآن بإعداد حاوية لكتلة التعليق باستخدام فئة أو معرّف صحيح لغويًا (الفئة هي الأفضل بالطبع):

سنكتب عنوانًا بالداخل حتى يفهم القراء أن هناك تعليقات هنا ولا شيء آخر، وستكون العلامة مناسبة تمامًا لهذا:

"

لقد أشرنا هنا إلى إحدى وظائف WordPress - the_title()، وستكون نتيجة تنفيذ هذه الوظيفة هي إخراج عنوان المنشور أو الصفحة الحالية. إذا كنت لا ترغب في عرض العنوان، يمكنك ببساطة كتابة "تعليقات القراء".

بعد ذلك، قبل عرض التعليقات، عليك التأكد من وجودها، أي. تحقق، إذا كان هناك، فاعرض القائمة الكاملة، وإذا لم يكن الأمر كذلك، فيمكنك إظهار المستخدم شيئًا مثل "". بهذه الطريقة، سيكون واضحًا لزائر منشورك/صفحتك أنه لم يكتب أحد شيئًا بعد، والعبارة المحفزة "يمكنك أن تكون الأول" ستزيد من احتمالية أن يكتبوا لك شيئًا بشكل أسرع.

لذا، بعد هذه الصيغة للمشكلة، يصبح من الواضح أننا سنحتاج للتنفيذ إلى بنيات if/else ووظيفة لعرض عدد التعليقات get_comments_number() . إذا أعادت الدالة 0 (صفر)، فإننا نعرض "لا توجد تعليقات بعد..."، وإلا "تعليقات القراء...":

لا توجد تعليقات حتى الآن، ولكن يمكنك أن تكون أول تعليقات القراء على المقال "" المناقشات مغلقة لهذه الصفحة

إخراج التعليقات

رائع، لقد عرضنا العناوين اعتمادًا على وجود التعليقات أو عدم وجودها، والآن أصبح من المنطقي عرض التعليقات نفسها - وظيفة wp_list_comments() هي المسؤولة عن ذلك. تقوم الوظيفة الافتراضية بتغليف جميع التعليقات في العلامات

  • ، لذلك يجب عليك إضافة غلاف مع قائمة المهام الخاصة بالفصل الدراسي:

    يأخذ wp_list_comments() مجموعة من الوسائط التي يمكن استخدامها لتخصيص عرض التعليقات بمرونة. على سبيل المثال، يمكنك تغيير حجم الصورة الرمزية ونص الرد على التعليق والإعدادات الأخرى عن طريق تمرير كلمة رئيسية وقيمة:

    $args = array("avatar_size" => 64, // حجم الصورة الرمزية 64*64px، الافتراضي 32 "reply_text" => "Reply" // نص الرد على التعليق "callback" => "my_comments" // الوظيفة لإنشاء نوع خارجي من التعليق)

    تستحق معلمة رد الاتصال اهتمامًا خاصًا، حيث تأخذ قيمة اسم دالة مخصصة لعرض التعليق. بمساعدتها، يمكنك تخصيص مظهر كل تعليق بمرونة. هذا هو الشكل الذي تبدو عليه وظيفة الإخراج القياسية من ملف comment-template.php:




     

    قد يكون من المفيد أن تقرأ: