Search

בדיקה האם מוצר שייך לקטגוריה או תגית מוצר מסוימת

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

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

לעומת הפונקציה is_product_category(), במקרה של בדיקה אם מוצר שייך לקטגוריה מסויימת ווקומרס לא מספקת תנאים (conditional tags), ולכן עלינו להשתמש בתנאים הדיפולטיבים של וורדפרס:

has_term( $terms, 'product_cat', $post );
  • (string|integer|array)terms$ – משמש להעביר את שם הקטגוריה, מזהה הקטגוריה את ה ID. ניתן להעביר מספר ערכים יחד באמצעות מערך.
  • הפרמטר השני הוא שם הטקסונומיה, ובמקרה זה עבור קטגוריות מוצרים ולכן נשתמש ב product_cat. אם נרצה לבצע בדיקה עבור תגיות מוצרים נשתמש לחילופין ב product_tag.
  • (integer|object)post$ – ה ID של המוצר או אובייקט WP_Post. אם לא תספקו, יבוצע עבור המוצר הנוכחי בלולאה.

מספר דוגמאות קוד

כעת בואו נביט במספר דוגמאות קוד:

if( has_term( 4, 'product_cat' ) ) {
	// do something if current product in the loop is in product category with ID 4
}
if( has_term( array( 'sneakers', 'backpacks' ), 'product_cat', 50 ) {
	// do something if product with ID 50 is either in category "sneakers" or "backpacks"
} else {
	// do something else if it isn't
}
if( has_term( 5, 'product_tag', 971 ) ) {
	// do something if product with ID = 971 has tag with ID = 5
}

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

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

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

0 תגובות...

תגובה חדשה

Up!
לבלוג