חיפוש ]

כיצד להסיר קטגוריה מהלולאה הראשית באמצעות functions.php

בכדי להסיר קטגוריה מהלולאה הראשית בוורדפרס עליכם לערוך את קובץ functions.php בתבנית שלכם (או של תבנית הבת). הנה מדריך שלב אחר שלב כיצד לעשות זאת:

מצאו את קובץ functions.php

  • גשו ללוח הבקרה של WordPress שלך.
  • נווטו אל עיצוב > עורך התבניות
  • בחרו את התבנית שלך ופתחו את קובץ functions.php.

כמובן שניתן גם לערוך את הקובץ באמצעות FTP. הקובץ נמצא בתיקייה הראשית של התבנית הפעילה.

הוסיפו פונקציה להסרת הקטגוריה

יש להשתמש בהוק pre_get_posts כדי לשנות את השאילתה הראשית לפני שהיא מתבצעת. הנה הקוד שיש להוסיף לקובץ functions.php:

function exclude_category_from_main_loop($query) {
    // ודא שהקוד פועל רק בשאילתה הראשית של האתר
    if (!is_admin() && $query->is_main_query()) {
        // הסר את הקטגוריה עם מזהה 123 (החלף במזהה הקטגוריה שלך)
        $query->set('cat', '-123');
    }
}
add_action('pre_get_posts', 'exclude_category_from_main_loop');

החליפו בדוגמה זו את 123 במזהה הקטגוריה (ID) שברצונכם להסיר. הפרמטר cat מקבל ערך שלילי כדי להסיר את הקטגוריה שצוינה (במקרה זה הקטגוריה בעלת המזהה 123).

שמרו את השינויים

לאחר הוספת הקוד, שמור את השינויים בקובץ functions.php.

וודאו שהשינוי שביצעתם עובד כראוי

בקרו באתר בכדי לוודא שהקטגוריה הוסרה מהלולאה הראשית.

הערות נוספות

מציאת מזהה הקטגוריה

בכדי למצוא את מזהה הקטגוריה גשו אל פוסטים > קטגוריות בלוח הבקרה של וורדפרס. רחפו עם העכבר מעל שם הקטגוריה בכדי לראות את המזהה ב-URL בתחתית הדפדפן.

הסרת מספר קטגוריות

אם ברצונכם להסיר מספר קטגוריות תוכלו לעשות זאת על ידי הפרדת מזהה אחד עם השני באמצעות פסיקים. זה נראה כך:

function exclude_category_from_main_loop($query) {
    // וודאו שהקוד פועל רק בשאילתה הראשית של האתר
    if (!is_admin() && $query->is_main_query()) {
        // הסירו מספר קטגוריות לפי מזהים (החליפו במזהי הקטגוריות)
        $query->set('cat', '-123,-456,-789');
    }
}
add_action('pre_get_posts', 'exclude_category_from_main_loop');

הוספת תנאי

אם קיים צורך להסיר קטגוריות בתנאים מסוימים (לדוגמה, רק בדף הבית), ניתן להוסיף תנאים נוספים בתוך הצהרת ה- if:

function exclude_category_from_main_loop($query) {
    // וודאו שהקוד פועל רק בשאילתה הראשית של האתר
    if (!is_admin() && $query->is_main_query() && is_home()) {
        // הסירו את הקטגוריה עם מזהה 123 (החלף במזהה הקטגוריה שלך)
        $query->set('cat', '-123');
    }
}
add_action('pre_get_posts', 'exclude_category_from_main_loop');

עד כאן. צעדים אלו יאפשרו לכם להסיר קטגוריה מהלולאה הראשית בוורדפרס באמצעות קובץ functions.php.

רועי יוסף
רועי יוסף

מפתח אתרים ותבניות וורדפרס יעודייות על בסיס עיצוב. אוהב טיפוגרפיה, צבעים ומה שבינהם ומכוון לספק אתרים רספונסיבים עם ביצועים גבוהים, מותאמים למנועי חיפוש ובעלי קוד ולידי, סמנטי ונקי.

0 תגובות...

תגובה חדשה

הוסיפו קוד באמצעות הכפתורים מטה. למשל, בכדי להוסיף PHP לחצו על הכפתור PHP והוסיפו את הקוד בתוך השורטקוד. מצאתם שגיאה בפוסט? עדכנו אותנו...