اكاديمية ورشة لونك

اظهار قائمة للتصنيفات الفرعية داخل التصنيف الرئيسي

حصريا علي اكاديمية ورشة لونك في قسم <strong>دروس ووردبريس</strong> نقدم لكم اظهار قائمة للتصنيفات الفرعية داخل التصنيف الرئيسي .

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

<img class="aligncenter size-full wp-image-426" src="http://www.Academy.Yourcolor.Net/wp-content/uploads/2016/07/yourcolor-display_subcategories_for_each_parent_001.Jpg" alt="YourColor.Net" width="763" height="359" />
<h2><span style="color: #800000;">كوين مصفوفة بالتصنيفات الفرعية</span></h2>
يمكنك استخدام قالب فرعي لتطبيق بدلا من التعديل المباشر على ملفات القالب , سنستخدم قالب TwentyFourteen كمثال لنطبيق عليه؛و لذا سنقوم الآن بالذهاب إلى مجلد القالب ونفتح ملف category.Php ، ونضع به الكود التالي :

ملاحظه: هذا الجزء من الكود ينقصه وسم الاغلاق الخاص بـ PHP لانه سيغلق في الجزء التالي من الكود

[php]<?Php
$args = array(
‘child_of’ => get_query_var( ‘cat’ ), // Here we put the ID of the current category.
);

$children = get_categories( $args );[/php]

<span style="color: #800000;"><strong>في الكود السابق :</strong></span>
<ol>
<li>أولا قمنا بتعريف متغير $args ووضعنا به مصفوفة بالـخيارات “Parameters” التي نريد تطبيقها على الدالة <a href="http://codex.Wordpress.Org/Function_Reference/get_categories" target="_blank" rel="noopener">get_categories()</a> .</li>
<li>الخيار الوحيد المطلوب لتطبيق درسنا هو ‘child_of’، وهذا الخيار “البارمتر” يأخذ قيمة رقمية عبارة عن معرّف التصنيف الذي نريد جلب التصنيفات الفرعية الخاصة به؛ وقد قمنا بتعيين قيمته وهي get_query_var( ‘cat’ ) .</li>
<li>الدالة get_query_var()، هي دالة تقوم بجلب القيمة الحالية لاي متغير من متغيرات الاستعلام في ووردبريس والمتمثل في الكائن WP_Query، المتغير الذي نريد جلب قيمته هو ‘cat’ ويمثل المعرّف الخاص بالتصنيف الذي نريد جلب التصنيفات الفرعية الخاصة به .</li>
<li>و أخيراً : قمنا بتعريف متغير باسم $children واسندنا اليه الدالة get_categories()، هذه الدالة تقوم بارجاع مصفوفة كل عنصر فيها عبارة عن كائن يمثل احد التصنيفات، وبالطبع المصفوفة التي سيتم ارجاعها تنطبق عليها الخصائص التي تم تعريفها في البارمتر $args كما عرفنا .</li>
</ol>
قد لا تظهر التصنيفات الفرعية رغم وجودها داخل التصنيف الرئيسي اذا كانت فارغة، يمكنك اظهارها بوضع بارمتر hide_empty بقيمة false .
<h2><span style="color: #800000;">إظهار قائمة التصنيفات الفرعية</span></h2>
مباشرة بعد الكود السابق نضع هذا الكود :

[php]if ( ! Empty( $children ) ) ?>
<h2 class="page-title children-list-title">التصنيفات الفرعية</h2>

<ul class="children-list">
<?Php foreach ( $children as $child ) ?>

<li><a href="<?Php echo get_category_link( $child->term_id ); ?>">

<span class="genericon genericon-category"></span>

<?Php echo $child->name; ?></a></li>

<?Php ?>
</ul>
<?Php ?>[/php]

<span style="color: #800000;"><strong>فى الكود السابق :</strong></span>
<ol>
<li>قمنا أولا بالتأكد أن المصفوفة $children ان التصنيف الحالي به تصنيفات فرعية بالفعل .</li>
<li>قمنا بوضع عنوان “التصنيفات الفرعية” وبعدها قمنا باستخدام foreach للدوران داخل المصفوفة وعرض عناصرها .</li>
<li>نلاحظ اننا لعرض رابط التصنيف استخدمنا دالة get_category_link() والتي تقوم بجلب رابط التصنيف اعتمادا على المعرّف الخاص به .</li>
</ol>
لاحظ ان بعض القوالب لا تحتوي ملف category.Php وتستخدم ملف index.Php او ملف achive.Php؛ إذا كان الامر كذلك عليك التحقق اولا ان الصفحة المعروضة عبارة عن تصنيف كما يلي :

[php]<?Php if ( is_category() )
// هنا تضع الكود الذي سيتم تطبيقه في التصنيف فقط
?>[/php]

<h2><span style="color: #800000;">تنسيق قائمة التصنيفات الفرعية</span></h2>
كما تعرف؛ عليك ان تستخدم الـ CSS لتظهر قائمتك بشكل جيد مناسب للقالب، يمكنك استخدام الكود التالي او عمل التنسيقات :

[css].Children-list-title
padding-right:10px;

.Children-list
list-style-type: none;
padding:0;
margin:0;

.Children-list:after
content:”;
display: block;
clear:both;
border-bottom: 1px solid #ededed;
margin-bottom:10px;

.Children-list li
float: right;

.Children-list li a
display: inline-block;
padding: 5px 7px ;
font-family:tahoma;

.Children-list .Genericon
vertical-align: middle;
[/css]

و بالتوفيق و نراكم في الموضوع القادم .

مهاب البوشي

مهاب البوشي

مهاب البوشي ، مؤسس شركة ترويج 'Trweeg.Com' و مسئول السيو و التسويق في ورشة لونك و مدير اكاديمية ورشة لونك التعليمية .

2 تعليقان