Support » Plugin: Cities Shipping Zones for WooCommerce » הצגת הערים שנבחרו בלבד

  • Resolved liranrak

    (@liranrak)


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

    שנית, רציתי לדעת אם קיימת דרך שיוצגו בדף התשלום האפשרויות שהוגדרו בלבד, ולא כל הערים בארץ

    בברכה,
    לירן

    The page I need help with: [log in to see the link]

Viewing 11 replies - 1 through 11 (of 11 total)
  • Plugin Author Condless

    (@condless)

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

    add_filter( 'woocommerce_states', 'csz_set_woocommerce_states', 20 );
    function csz_set_woocommerce_states( $states ) {
    	$country = 'IL';
    	$cities = array( 'IL3000', 'IL4000', 'IL5000', 'IL9000' );
    	$new_states = array();
    	foreach ( $cities as $city ) {
    		if ( isset( $states[ $country ][ $city ] ) ) {
    			$new_states[ $city ] = $states[ $country ][ $city ];
    		}
    	}
    	$states[ $country ] = $new_states;
    	return $states;
    }

    $cities
    מכיל את הקודים של הערים שיוצגו, רשימת הקודים של כל הערים בישראל נמצאת בתיקיית התוסף בנתיב:
    /i18n/cities/IL.php

    (example of how to manipluate existing cities list)

    • This reply was modified 1 month, 2 weeks ago by Condless.

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

    אין איזו פונקציה שאוטומטית תיקח את הערים שנבחרו לאזור בלוח בקרה ותציג רק אותם?

    Plugin Author Condless

    (@condless)

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

    לאתרים שאינם מציעים אפשרות של איסוף עצמי נראה שאכן פיתוח פיצ’ר שכזה ישמש פתרון אלגנטי יותר.

    מי דיבר על איסוף עצמי?

    קרא שוב את ההודעה, לא אמרתי חצי דבר על איסוף עצמי

    Plugin Author Condless

    (@condless)

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

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

    היי

    האם ניתן להשתמש בפלאגין הזה על מנת לסנן מוצרים לפי עיר החנות?

    Plugin Author Condless

    (@condless)

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

    תודה

    Plugin Author Condless

    (@condless)

    בשימוש בקוד הבא יוצגו בדף התשלום רק הערים שנבחרו בהגדרות אזורי משלוח ולא כל הערים בארץ:

    add_filter( 'woocommerce_states', 'csz_checkout_restrict_woocommerce_states', 60 );
    function csz_checkout_restrict_woocommerce_states( $states ) {
    	if ( is_checkout() ) {
    		$new_states = array();
    		for ( $i = 0; $i < 100; $i++ ) {
    			$zone = WC_Shipping_Zones::get_zone( $i );
    			if ( $zone ) {
    				foreach ( $zone->get_zone_locations() as $zone_location ) {
    					switch ( $zone_location->type ) {
    						case 'country':
    							$new_states[ $zone_location->code ] = $states[ $zone_location->code ];
    							break;
    						case 'state':
    							$country  = substr( $zone_location->code, 0, 2 );
    							$city = substr( $zone_location->code, 3 );
    							$new_states[ $country ][ $city ] = $states[ $country ][ $city ];
    							break;
    					}
    				}
    			}
    		}
    		$states = $new_states;
    	}
    	return $states;
    }

    (example of how to display in the checkout only the cities configured in the Shipping Zones Settings)

    שלום תודה רבה!על הפלאגאין

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

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

    כמו”כ אשמח לדעת כיצד ניתן לערוך את השדות צ’קאאוט יחד עם התוסף שלכם, כי כרגע אם אני משתמש בתוסף של עריכת השדות לא רואים את השדה של הערים
    תודה

    Plugin Author Condless

    (@condless)

    אלעד שלום וערב טוב,
    אם תוכל פתח שרשור חדש וצרף לינק לאתר,
    מלא את שדה ה”מדינה / ארץ” שבלוח בקרה => ווקומרס => הגדרות => כללי => כתובת החנות, וודא שהעיר שבחרת נמצאת באזור משלוח.
    בעמוד התשלום (הקופה) מלא את כל שדות הכתובת (כולל מיקוד) ובדוק אם שיטות המשלוח מתעדכנות.

    שים לב שבגרסה הבאה של התוסף האפשרות “להציג את הערים שנבחרו בלבד” תופיע בהגדרות תוסף ולא יהיה צורך בקוד.

    לגבי התוסף עריכת שדות- וודא שמוגדרת הצגה של שדה המחוז.

Viewing 11 replies - 1 through 11 (of 11 total)
  • You must be logged in to reply to this topic.