ستساعدك المقالة التالية: الموضوع الجديد في WPCult
لقد أوضحت لك كيفية إنشاء عنصر واجهة مستخدم مخصص في منشور سابق. ولكن ماذا عن إضافة عنصر واجهة مستخدم “أرشيفات” إضافي والذي لن يسرد آخر 3 سنوات (إذا كنت موجودًا في هذا الوقت الطويل) في نموذج الشهر الذي يمتد إلى أسفل الشريط الجانبي بالكامل؟
حسنًا ، دعنا نلقي نظرة على الكود الأصلي الموجود في ملف widgets.php في المجلد ./wp-includes/.
<؟ php / ** * عرض ودجة المحفوظات. * *since 2.2.0 * *param array $ args Widget. * / function wp_widget_archives ($ args) {extract ($ args)؛ خيارات $ = get_option ('widget_archives') ؛ $ c = خيارات $['count'] ؟ '1': '0' ؛ $ d = خيارات $['dropdown'] ؟ '1': '0' ؛ $ title = فارغ ($ options['title'])؟ __ ("المحفوظات"): apply_filters ('widget_title'، $ options['title']) ؛ صدى $ before_widget؛ صدى $ before_title. العنوان. $ after_title؛ if ($ d) {؟> <؟ php} else {؟>
- <؟ php wp_get_archives ("type = Monthly & show_post_count = $ c")؛؟>
<؟ php} echo $ after_widget؛} / ** * نموذج خيارات عناصر واجهة استخدام أرشيفات العرض والعملية. * *since 2.2.0 * / function wp_widget_archives_control () {$ options = $ newoptions = get_option ('widget_archives') ؛ if (isset ($ _ POST["archives-submit"])) {$ newoptions['count'] = مجموعة ($ _ POST['archives-count']) ؛ $ newoptions['dropdown'] = مجموعة ($ _ POST['archives-dropdown']) ؛ $ newoptions['title'] = strip_tags (خطوط مائلة ($ _ POST["archives-title"])) ؛ } if ($ options! = $ newoptions) {$ options = $ newoptions؛ update_option ('widget_archives'، $ options) ؛ } عدد دولارات = خيارات دولار['count'] ؟ 'محدد = "محدد":' '؛ القائمة المنسدلة بالدولار = خيارات الدولار['dropdown'] ؟ 'محدد = "محدد":' '؛ العنوان $ = attribute_escape ($ options['title']) ؛ ؟>
<؟ php}؟>
بسيطا بما فيه الكفاية؟ أم لا..
على أي حال ، دعونا نضيف فقط بعض الأشياء وتغييرها. ثم ستضيف الكود النهائي إلى ملف jobs.php الخاص بك.
حسنًا ، بدءًا من الوظيفة الأولى: wp_widget_archive وأعد التسمية إلى widget_archive_limit
يجب أن تبدو هكذا الآن:
الدالة widget_archives_limit ($ args) {
ثم تحت هذا الخط:
$ title = فارغ ($ options[‘title’])؟ __ (“المحفوظات”): apply_filters (‘widget_title’، $ options[‘title’]) ؛
يضيف:
الحد $ = فارغ ($ options[‘limit’])؟ __ (“الحد”): application_filters (“widget_limit” ، خيارات $[‘limit’]) ؛
في هذا الخط:
<؟ php wp_get_archives ("type = Monthly & format = option & show_post_count = $ c & limit = $ limit")؛ ؟>
لقد أضفنا في & Limit = الحد بالدولار. الشيء نفسه ينطبق على wp_get_archives الثاني:
<؟ php wp_get_archives ("type = Monthly & show_post_count = $ c & limit = $ limit")؛ ؟>
أضف في نهاية هذا الرمز:
wp_register_sidebar_widget (‘archives limits’، __ (‘Archive Limit’) ، ‘widget_archives_limit’ ، $ widget_ops) ؛
يجب أن تبدو الكود بالكامل كما يلي:
الدالة widget_archives_limit ($ args) {extract ($ args)؛ خيارات $ = get_option (‘widget_archives’) ؛ $ c = خيارات $[‘count’] ؟ ‘1’: ‘0’ ؛ $ d = خيارات $[‘dropdown’] ؟ ‘1’: ‘0’ ؛ $ title = فارغ ($ options[‘title’])؟ __ (“المحفوظات”): apply_filters (‘widget_title’، $ options[‘title’]) ؛ الحد $ = فارغ ($ options[‘limit’])؟ __ (“الحد”): application_filters (“widget_limit” ، خيارات $[‘limit’]) ؛ صدى $ before_widget؛ صدى $ before_title. العنوان. $ after_title؛ if ($ d) {؟> <؟ php} else {؟>
- <؟ php wp_get_archives (" type = Monthly & show_post_count = $ c & limit = $ limit ")؛؟>
<؟ php} echo $ after_widget؛} wp_register_sidebar_widget ('archives limits'، __ ('Archive Limit')، 'widget_archives_limit'، $ widget_ops)؛
هذا يعتني بالقطعة بنفسه ، نحتاج الآن إلى إنشاء عناصر التحكم. ابحث مرة أخرى عن الوظيفة الثانية وقم بتغيير wp_widget_archive_control إلى widget_archives_limit_control
ابحث عن هذا الخط:
$ newoptions[‘title’] = strip_tags (خطوط مائلة ($ _ POST[“archives-title”])) ؛
وأضف هذا السطر أدناه:
$ newoptions[‘limit’] = strip_tags (خطوط مائلة ($ _ POST[“archives-limit”])) ؛
ثم ابحث عن هذا الخط:
العنوان $ = attribute_escape ($ options[‘title’]) ؛
وأضف هذا السطر أدناه:
الحد $ = attribute_escape ($ options[‘limit’]) ؛
أخيرًا ابحث عن هذا الخط:
وأضف هذا السطر أدناه:
يجب أن يبدو الرمز كما يلي:
الدالة widget_archives_limit_control () {$ options = $ newoptions = get_option (‘widget_archives’) ؛ إذا (مجموعة ($ _ POST[“archives-submit”])) {$ newoptions[‘count’] = مجموعة ($ _ POST[‘archives-count’]) ؛ $ newoptions[‘dropdown’] = مجموعة ($ _ POST[‘archives-dropdown’]) ؛ $ newoptions[‘title’] = strip_tags (خطوط مائلة ($ _ POST[“archives-title”])) ؛ $ newoptions[‘limit’] = strip_tags (خطوط مائلة ($ _ POST[“archives-limit”])) ؛ } if ($ options! = $ newoptions) {$ options = $ newoptions؛ update_option (‘widget_archives’، $ options) ؛ } عدد دولارات = خيارات دولار[‘count’] ؟ ‘محدد = “محدد”:’ ‘؛ القائمة المنسدلة بالدولار = خيارات الدولار[‘dropdown’] ؟ ‘محدد = “محدد”:’ ‘؛ العنوان $ = attribute_escape ($ options[‘title’]) ؛ الحد $ = attribute_escape ($ options[‘limit’]) ؛ ؟>