إعداد التعليقات في ووردبريس. السماح للمستخدمين بترك تعليقات مجهولة المصدر في WordPress. كيفية إزالة حقلي الاسم والبريد الإلكتروني بالكامل من نموذج التعليق

💖 هل يعجبك؟شارك الرابط مع أصدقائك

يحتوي 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. إزالة الحقول من النموذج باستخدام الخطاف

شكل أيضا تعليقات ووردبريسيمكن تعديلها باستخدام الخطافات والمرشحات. يمكن أن يكون هذا الإعداد مفيدًا بشكل خاص عند العمل باستخدام مكون إضافي، عندما تحتاج إلى تخصيص عدة عناصر، ولكن ليس تغيير ملفات السمات. مرشح لإضافة أو إزالة الحقول من النموذج - ' 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);-box-shadow: 1px 2px 2px rgba(204,204,204, 0.8)؛ اللون: #555؛ العرض: كتلة مضمنة؛ حجم الخط: 13 بكسل؛ اليسار: 4 بكسل؛ الحد الأدنى للعرض: 60 بكسل؛ الحشو: 4 بكسل 10 بكسل؛ الموضع: نسبي؛ الأعلى: 40 بكسل؛ فهرس z: 1؛ )

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

الآن يتم تخزين العمر ك معلومات إضافية. تحتاج إلى استخدام الخطاف في "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; ?>

">

أخبر الأصدقاء