בכדי להסיר קטגוריה מהלולאה הראשית בוורדפרס עליכם לערוך את קובץ 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
.