طريقة إخفاء مقالات معينة من الظهور بالصفحة الرئيسية

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

اولاً: قم بانشاء تصنيف جديد باي اسم وليكن اسمه مثلا XYZ. بعد ذلك قم بادراج المقالات التي نريد اخفائها تحت هذا التصنيف.

ثانياً: نحتاج الرقم المعرف ID لهذا التصنيف.  وذلك عن طريق فتح صفحة التصنيفات. ثم قم بوضع مؤشر الماوس عليه وستجد الرابط يظهر باسفل ثم نجد الرقم المعرف ID مثل هذه الصورة:

1111

فلنفرض مثلاً ان الرقم المعرف ID للتصنيف هو 22

لدينا الان طريقتين اختار منها ما تشاء ..

الطريقة الأولى :

عن طريق فتح ملف index.php في مجلد القالب . ثم إبحث عن الكود التالي:
[php]
if ( have_posts() )
[/php]

غالبا يكون في الاسطر الأولى. ثم قبل هذ الكود مباشرة أضف السطر البرمجي التالي:

[php]
if ( is_home() ) {
query_posts( 'cat=-X' );
}
[/php]

مع استبدال حرف X بالرقم المعرف الخاص بالتصنيف الذي عرفناه في الخطوة السابقة وهو 22

اذا كان هناك تصنيفات اخري تريد ايضا اخفائها نقوم بوضعها مع علامة الفاصلة (،)
اذا فرضنا انهم مثلا : 11 و 22 و 33 قم باضافتها علي النحو التالي:

[php]
if ( is_home() ) {
query_posts( 'cat=-11,-22,-33' );
}
[/php]

 

الطريقة الثانية:

عن طريق ملف functions.php نقوم بادراج هذا الكود فيه:
[php]
function exclude_category( $query ) {
if ( $query->is_main_query() && $query->is_home() ) {
$query->set( 'cat', '-X' );
}
return $query;
}
add_filter('pre_get_posts', 'exclude_category');
[/php]

واذا اردنا إخفاء عدة تصنيفات نقوم بفصلها بعلامة الفاصلة مثلما شرحنا بالخطوة السابقة.

Ibrahim Elaidy - Egyptian Web developer & e-Marketing Specialist Developer of WordPress since 2007 Blogger & Writer in some famous internet Magazines Personal Blog : www.Bedon3nwan.com