تخصيص جداول إدارة WordPress: تعديلات متقدمة

نشرت: 2021-01-26

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

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

تحسين جدول مشاركات المسؤول في WordPress

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

عرض الصور المميزة

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

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

إذا كنت قد قرأت المقالة واتبعتها طوال الوقت ، فيجب أن يكون لديك الكود التالي في ملف functions.php الخاص بالقالب النشط. إذا لم يكن كذلك ، يرجى إضافته!

 add_filter('manage_posts_columns','add_custom_columns'); function add_custom_columns( $columns ) { $columns['last_modified'] = 'Last modified'; return $columns; } add_action( 'manage_posts_custom_column','custom_columns_content', 10, 2 ); function custom_columns_content ( $column_id, $post_id ) { switch( $column_id ) { case 'last_modified': echo get_post_field('post_modified', $post_id); break; } }

لإظهار الصورة المميزة في جدول المسؤول الخاص بنا ، نحتاج إلى تعديل هذا الرمز على النحو التالي:

 add_filter('manage_posts_columns','add_custom_columns'); function add_custom_columns( $columns ) { $columns['last_modified'] = 'Last modified'; $columns['my_post_thumbs'] = 'Thumbs'; return $columns; } add_action( 'manage_posts_custom_column','custom_columns_content', 10, 2 ); function custom_columns_content ( $column_id, $post_id ) { switch( $column_id ) { case 'last_modified': echo get_post_field('post_modified', $post_id); break; case 'my_post_thumbs': echo the_post_thumbnail( 'thumbnail' ); break; } }

يحدد الرقمان 10 و 2 في الوسيطتين الثالثة والرابعة الأولوية التي ستتم فيها معالجة الوظائف المرتبطة بهذا الإجراء. سيتم تمرير هذه الوسائط إلى دالة custom_columns_content بنا.

القيمة الافتراضية للأولوية هي 10. الرقم 2 يوضح كمية وسيطات الوظيفة. لذلك في حالتنا ، من المهم تضمين هذه الأرقام لأن لدينا وسيطتين ، وهما $column_id و $post_id .

الآن ، مع حفظ هذا الرمز ، دعنا نرى ما لدينا في شاشة مشاركات المسؤول لدينا.

وورد في الجدول الإداري صور مميزة

كما ترى ، لدينا الآن عمود "آخر تعديل" وعمود "الإبهام" الجديد.

تغيير تسميات العمود

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

 add_filter('manage_posts_columns','rename_columns'); function rename_columns( $columns ) { $columns['author'] = 'Writer'; return $columns; }

بالطبع يمكنك تغيير تسمية أعمدة متعددة في مقتطف الشفرة نفسه بمجرد إضافة $columns['COLUMN_ID'] = 'NEW_LABEL'; مباشرة قبل return $columns;

تحسين جدول صفحات إدارة WordPress

قد لا تكون على دراية بهذا ولكن صفحات WordPress هي نوع منشور هرمي مما يعني أن كل صفحة قد تحتوي على صفحة رئيسية.

قد يكون من المفيد حقًا أن ترى في لمحة أي صفحة هي الصفحة الرئيسية لأي صفحة فرعية. دعنا نلقي نظرة على كيفية القيام بذلك.

أضف عمودًا مخصصًا يعرض المنشور الرئيسي

أولاً ، قم بإنشاء بعض الصفحات الرئيسية والفرعية مع بعض الصور المميزة المرتبطة.

WordPress الجدول الإداري منشورات الوالدين والفرعية

بعد ذلك ، سنضع بعض التعليمات البرمجية في ملف functions.php الخاص بنا. سوف نتبع نفس العملية التي فعلناها مع نوع المنشورات فيما يتعلق بإضافة ما سنسميه عمود "السلف".

 add_filter('manage_pages_columns','add_ancestor_column'); function add_ancestor_column( $columns ) { $columns['ancestor'] = 'Ancestor'; return $columns; }

الشيء نفسه ينطبق على وضع العمود في الموضع المطلوب في الجدول. سنعيد ترتيب أعمدة الجدول بحيث يأتي عمود "السلف" قبل عمود المؤلف.

 add_filter('manage_pages_columns', 'change_ancestor_column_position'); function change_ancestor_column_position($columns) { $n_columns = array(); foreach($columns as $key => $value) { if ($key=='author'){ $n_columns['ancestor'] = 'ancestor'; } $n_columns[$key] = $value; } return $n_columns; }

في هذه المرحلة ، سترى في شاشة مسؤول الصفحات شيئًا كالتالي:

آخر شيء يتعين علينا القيام به هو ملء عمود "السلف" بالمحتوى الصحيح. نظرًا لأننا نعمل مع نوع منشور هرمي هذه المرة ، فسوف نستخدم رابطًا مختلفًا للحصول على محتوى العمود. جرب وأدخل هذا الجزء من الكود وتحقق من النتيجة.

 add_action( 'manage_pages_custom_column','ancestor_column_content', 10, 2 ); function ancestor_column_content ( $column_id, $post_id ) { switch( $column_id ) { case 'ancestor': $ancestors = get_ancestors($post_id, 'subject', 'post_type'); $post_ancestor = end($ancestors); if ($post_ancestor != 0) { echo '<a href="' . get_edit_post_link($post_ancestor) . '">' . get_the_title($post_ancestor) . '</a>'; } else { echo '-'; } break; } }

يجب أن تشاهد الآن الصفحة الرئيسية المرتبطة جنبًا إلى جنب مع الصفحات الفرعية المدرجة في عمود "الأصل".

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

تعديل الأعمدة الافتراضية

هناك العديد من الأشياء التي يمكن القيام بها لتحسين أعمدة جدول المسؤول الافتراضية. دعنا نلقي نظرة على بعض من هؤلاء.

إعادة ترتيب الأعمدة

في مقالتنا السابقة حول تخصيص جداول المسؤول ، أضفنا عمودًا جديدًا يعرض تاريخ آخر تعديل للنشرة. ولكن ماذا لو أردنا تغيير موضعه في ترتيب الأعمدة؟

هذا أمر سهل للغاية لحسن الحظ ويمكن تنفيذه باستخدام خطاف manage_posts_columns .

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

 add_filter('manage_posts_columns', 'change_column_order'); function change_column_order($columns) { $n_columns = array(); $move = 'author'; // what to move $before = 'title'; // move before this foreach($columns as $key => $value) { if ($key==$before){ $n_columns[$move] = $move; } $n_columns[$key] = $value; } return $n_columns; }

وفويلا!

أضف صورًا مميزة إلى جداول إدارة WordPress الخاصة بك

إزالة عمود

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

لحسن الحظ ، من السهل جدًا إزالة عمود من طاولتنا. علينا فقط إضافة unset($columns['comments']); في وظيفة الخطاف manage_posts_columns . في حين أنه يمكن إضافة هذا إلى الكود الحالي الخاص بنا ، فإنه من الأفضل إذا تمكنا من فصله في مقتطف الشفرة الخاص به لأنه له غرض مختلف ويقدم وظيفة جديدة إلى الخطاف.

 add_filter('manage_posts_columns' , 'remove_columns'); function remove_columns($columns) { unset($columns['comments']); return $columns; }

وهذا كل شيء. قم بتحديث شاشة المسؤول وسترى اختفاء عمود التعليقات.

ملاحظة: إذا لم تكن متأكدًا من معرف العمود ، يمكنك اكتشاف ذلك باستخدام وحدة تحكم المفتش في متصفحك.

البرنامج المساعد أعمدة الإدارة

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

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

بمجرد تنزيل البرنامج المساعد وتثبيته ، انتقل إلى الإعدادات> عنصر قائمة أعمدة المسؤول. من هنا يمكنك تحديد جدول قائمة المنشورات (أو أي نوع منشور آخر حيث تريد القدرة على تعديل جدول الإدارة الخاص به) من القائمة المنسدلة. ستظهر لك بعد ذلك بنية الجدول الحالية.

الآن ، باستخدام واجهة السحب والإفلات ، يمكنك بسهولة إعادة ترتيب الأعمدة. يمكنك أيضًا تحرير تسمية النوع والعرض باستخدام رمز السهم لعرض التكوين الخاص بهما.

ونعم ، يمكنك إضافة الأعمدة الخاصة بك باستخدام الزر "إضافة عمود" في أسفل اليسار!

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

بعد ذلك ، يمكنك تغيير خيارات تنسيق التاريخ التي ستظهر إذا كنت ترغب في ذلك.

استنتاج

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