Categories
ווקומרס

REST API בווקומרס

וזכויות היוצרים.

יצירת טופס הרשמה לאתר ווקומרס מסוים (אתר המקור) שיופיע באתר אחר (אתר היעד): באתר המקור צור סיסמאות גישה עם התוסף, באתר היעד צור טופס הרשמה עם התוסף והשתמש בקוד (עדכן את כתובת אתר המקור ופרטי הגישה):

add_action( 'wpcf7_posted_data', 'condless_create_remote_user' );
function condless_create_remote_user( $posted_data ) {
	$api_response = wp_remote_post( 'https://example.com/wp-json/wp/v2/users/', array(
		'headers' => array(
			'Authorization' => 'Basic ' . base64_encode( 'LOGIN:PASSWORD' )
		),
		'body' => array(
			'username'	=> $posted_data['your-name'],
			'email' 	=> $posted_data['your-email'],
			'password'	=> $posted_data['your-password'],
		)
	) );
	$body = json_decode( $api_response['body'] );
	if ( 'OK' === wp_remote_retrieve_response_message( $api_response ) ) {
		// Do something with $body
	}
}

כפי שבוודאי שמת לב- העימות הגדול ביותר לגבי זכויות יוצרים של API נסוב סביב המימוש של גוגל במערכת ההפעלה אנדרואיד ל-API של ג'אווה מאת אורקל, העימות הגיע עד לערכאות הגבוהות ביותר בארה"ב.

Categories
ווקומרס

הרשאות עריכת מוצר בווקומרס

והמתמטיקאי הפרסי.

הסרת האפשרות לערוך שדות מסוימים לבעל תפקיד מסוים (עדכן את השדות ואת בעל התפקיד):

add_action( 'add_meta_boxes_product', 'condless_remove_metaboxes_edit_product', 9999 );
function condless_remove_metaboxes_edit_product() {
	if ( ! current_user_can( 'manage_options' ) ) {
		remove_meta_box( 'postexcerpt', 'product', 'normal' );
		remove_meta_box( 'postimagediv', 'product', 'side' );
		remove_meta_box( 'woocommerce-product-images', 'product', 'side' );
	}
}

add_filter( 'woocommerce_product_data_tabs', 'condless_remove_tabs' );
function condless_remove_tabs( $tabs ) {
	if ( ! current_user_can( 'manage_options' ) ) {
		unset( $tabs['advanced'] );
	}
	return( $tabs );
}

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

Categories
הרחבות לווקומרס

אפשרויות מתקדמות לווקומרס

התקן את התוסף על מנת להוסיף לווקומרס אפשרויות מתקדמות.

Categories
הרחבות לווקומרס

ערים באזורי משלוח לווקומרס

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

כלי הבחירה הקבוצתית

מהו הפורמט הנדרש?
נקודה פסיק (;) בין עיר לעיר. לדוגמא: אשדוד; חיפה; הרצליה

איך להפוך ערים ברשימה לפורמט הנדרש?
החלף את +[\r\n] (ביטוי רגולרי, סימן הפלוס בקצה הימני) עם ; בעזרת ++Notepad.

איך להזין באזור משלוח את כל המיקומים שמוגדר להם מרחק מסוים מעיר עם רשימת מרחקים?
הזן סימן קריאה (!) ומיד לאחריו את קוד העיר, במידה הצורך הוסף מרחק מינימלי ומקסימלי מופרדים בנקודה פסיק (;). לדוגמא לכל הערים הרחוקות עד 50 ק"מ מחיפה: IL4000; 0; 50! (סימן הקריאה בקצה השמאלי).

האם ישנן רשימות ערים מוכנות?
בין חדרה לגדרה:

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

אזורי שילוח חריגים של שירות השליחויות צ'יטה:

אבו בסמה;אבו גווייעד;אבו כף;אבו סנאן;אבו סריחאן;אבו סריחאן (שבט);אבו עבדון;אבו עבדון (שבט);אבו עמאר;אבו עמאר (שבט);אבו עמרה;אבו עמרה (שבט);אבו קוידר;אבו קורינאת;אבו קורינאת (שבט);אבו קרינאת;אבו קרינאת (ישוב);אבו קרינאת (שבט);אבו רביע;אבו רובייעה;אבו רובייעה (שבט);אבו רוקייק;אבו רוקייק (שבט);אבו רקייק;אבו רקיק;אבו תלול;אבטין;אבטליון;אבטן;אביבים;אביגייל;אביגיל;אביטל;אבים;אבירים;אבירם;אבן מנחם;אבן שמואל;אבני איתן;אבני חפץ;אבנת;אבשלום;אגור;אגמון החולה;אדורה;אדירים;אדם;אדמית;אודם;אוהד;אום אל-גנם;אום אל-פחם;אום אל-קוטוף;אום אלגנם;אום בטין;אומן;אומץ;אור הגנוז;אור הנר;אורטל;אורים;אורנים;אורנית;אחוזם;אחוזת ברכפלד;אחזם;אחיה;אטרש;אטרש (שבט);איבטין;איבים;איכסאל;אילון;אילות;אילת;איתמר;איתן;אכסאל;אל-עזאזמה;אל-עריאן;אל-רום;אל סייד;אל עריאן;אל רום;אלהואשלה;אלומה;אלון;אלון מורה;אלון שבות;אלוני אבא;אלוני הבשן;אלונים;אלי-עד;אלי סיני;אלי עד;אלי על;אליאב;אליעד;אליפז;אלמגור;אלמה;אלמוג;אלעזר;אלפי מנשה;אלקוש;אלקנה;אם אל-גנם;אם אל קטוף;אמונים;אמירים;אמן;אמנון;אמץ;אמציה;אניעם;אסד;אסד (שבט);אספר;אעבלין;אפיק;אפרת;אפרתה;ארגמן;ארז;אריאל;ארנית;אש הקודש;אשבול;אשחר;אשכולות;אשל הנשיא;אשלים;אתגר;באקה-גת;באקה אל-גרביה;באר אורה;באר גנים;באר מילכא;באר מילכה;באר מלכה;בארותיים;בארותים;בארי;בבולות;בועיינה;בועיינה-נוגידאת;בוקעאתא;בחן;ביכוריה;ביר אל-מכסור;ביר הדאג;ביר מכסור;ביריה;בית אל;בית אריה;בית גן;בית גוברין;בית הגדי;בית הדר;בית הלוי;בית הערבה;בית חגי;בית חורון;ושוע תעשיה;בית יוסף;בית יתיר;בית לחם;בית לחם בגליל;בית לחם הגלילית;בית ליד;בית ניר;בית עזרא;בית קמה;בית קשת;בית שקמה;ביתר עלית;בני דקלים;בני דרום;בני יהודה;בני נצרים;בני עצמון;מחנה הילה;מחנה מרים;מחנה טלי;מחנה תל נוף;מחנה יפה;מחנה יהודית;מחנה יתיר;מחנה יוכבד;בסמה;בעינה;בעינה נגידאת;בענה;בקעות;בקעת הסיירים;בקעתה;בר יוחאי;ברוכין;ברור חיל;ברוש;ברכה;ברכיה;ברכפלד;ברעם;ברק;ברקן;בת הדר;בת חפר;בת עין;גדידה;גדיידה-מכר;גוליס;גולס;גלגוליה;גנאביב (שבט);גסר א-זרקא;גש (גוש חלב);גת;גדיידה-מכר;גולס;גלגוליה;גנאביב;גאיה;גב ישעיהו;גבולות;גבים;גבע;גבע בנימין;גבעולים;גבעות;גבעות בר;גבעת אהוד;גבעת בר;גבעת הראל;גבעת וש;גבעת זאב;גבעת יואב;גבעת יערים;גבעת ישעיהו;גבעת נילי;גבעת עוז;גבעת עז;גבעת עזר;גבעתי;גברעם;גדות;גדיד;גדיידה;גדיש;גדעונה;גולס;גונן;גורן;גוש חלב;גיאה;גילת;גינות שומרון;גיתה;גיתית;גלאון;גלגוליה;גלגוליה;גלגל;גלעד קבוץ;גן הדרום;גן יאשיה;גן נר;גנאביב;גני מודיעין;גנים;גרופית;גרן;גשור;גשר;גת (באקה במשולש);גת (קיבוץ);גתה;גתית;דבורה;דבוריה;דביר;דבירה;דהילה;דובב;דוחן;דולב;דורות;דחי;דחן;דייר אל-אסד;דייר אל-אסד דיר חנא;דייר חנא;דייר ראפאת;דיר אל-אסד;דיר חנא;דיר ראפאת;דישון;דלב;דלתון;דמיידה;דן;דן גליל עליון;דפנה;דקל;דריגאת;הגושרים;הואשלה;הודיה;הוואשלה;הוואשלה (שבט);הוזייל;הוזייל (שבט);הוזייל שבט;הוזיל;הזורע;הזיל;היוגב;הילה;המעפיל;הר גילה;הר חלוץ;הר עמשא;הרדוף;השומרוני הטוב;ורד יריחו;ורדון;זבארגה;זבארגה (שבט);זבדיאל;זהר;זוהר;זוהרים;זימרת;זיקים;זלפה;זמר;זמרת;זרועה;זרזיר;זרחיה;חואלד;חואלד (שבט);חואלד;חבר;חברון;חגאגרה;חגור;חד-נס;חואלד;חוגייראת (דהרה);חוואלד;חוות גלעד;חוות יזרעם;חולית;חומש;חוסניה;חורה;חורפיש;חורשים;חזון יחזקאל;חיננית;חיספין;חירן;חלמיש;חלף;חלץ;חמאם;חמדיה;חמדת;חמדת (נחל);חמרה;חמש;חמת גדר;חניתה;חננית;חנתון;חספין;חפץ חיים;חצבה;חצרים;חריש;חריש-קציר;חרמש;חרפיש;חשמונאים;טובא-זנגריה;טורעאן;טייבה;טירה;טירת צבי;טל אור;טל מנשה;טללים;טלמון;טמרה;טמרה (יזראל);טנא;טנא עומרים;טרעאן;יאנוח-גת;יבול;יבולה;יד חנה;יד מרדכי;יד נתן;יהל;יובל;יודפת;יוטבתה;יונתן;יושיביה;יזרעאל;יזרעם;יטבתה;ייטב;יכיני;יסיף;יעד;יעל;יעלון;יערה;יפיע;יפית;יפתח;יצהר;יקיר;יראון;ירדנה;ירוחם;ירחיב;ירכא;ישע;יתד;יתיר;כאבול;כאוכב אבו אל-היגא;עוברה;כבול;כדיתה;כוכב;כוכב השחר;כוכב יעקב;כוכב מיכאל;כורזים;כיסופים;כיסרא;כמאנה;כמהין;כנף;כסופים;כסיפה;כסרא;כסרא-סמיע;כעביה-טבאש-חגאגרה;כפאר קאסם;כפר אדומים;כפר אוריה;כפר אורנים;כפר איכסאל;כפר אל עוברה;כפר אלדד;כפר בלום;כפר ברא;כפר גדיידה;כפר גלעדי;כפר דרום;כפר האורנים;כפר הנשיא;כפר זוהרים;כפר זלפה;כפר זמיר;כפר חושן;כפר חרוב;כפר חשן;כפר יאסיף;כפר יובל;כפר יחזקאל;כפר יסיף;כפר יעבץ;כפר יפיע;כפר כסרא;כפר מימון;כפר מרר;כפר נחום;כפר סאלד;כפר סולד;כפר סילבר;כפר סמיע;כפר עזה;כפר עציון;כפר פסוטה;כפר קאסם;כפר קרע;כפר רופין;כפר רות;כפר ריינה;כפר שמאי;כפר תפוח;כפרכפר ברא;כרכום;כרכם;כרם בן זמ;כרם בן זמרה;כרם עמי;כרם שלום;כרמי צור;כרמי קטיף;כרמיה;כרמים;כרמית;כרמל;לבנים;להב;להבות הבשן;להבות חביבה;להבים;לוזית;לוטן;ליבנה;לכיש;לפיד;לקיה;לשם;מ אדומים;מאור;מבוא ביתר;מבוא דותן;מבוא חורון;מבוא חמה;מבואות הגלבוע;מבואות החרמון;מבואות ים;מבואות יריחו;מבועים;מבטחים;מבקיעים;מגד אל-כרום;מגדל שמס;מגאר;מגדו;מגדל עוז;מגדלים;מגידו;מגל;מגן;מגן שאול;מדרך עוז;מדרך עז;מדרשת בן גוריון;מודיעין עילית;מולדה;מולדת;מוסמוס;מועאוויה;אשכול;מרום הגליל;מוקייבלה;מורשת;ניר עקיבא;מושייפרה;מחולה;מחנה בלדד;מחנה חצרים;מחנה נבטים;מחנה סיירים;מחנה עדי;מחנה רמון;מחנה שטים;מטולה;מי עמי;מיגרון;מיטב;מייסר;מיסר;מיצד;מיצר;מירב;מירון;מישור חמד;מישור רותם;מיתר;מיתרים;מכבדא;מכורה;מכחול;מכמורת;מכמרת;מכר;מכרות תמנע;מכתש רמון;מלאה;מלון גלילון;מלילות;מלכיה;מלכישוע;מנוחה;מנוף;מנורה;מנות;מנרה;מנשית זבדה;מסד;מסוף אלנבי;מסילות;מסלות;מסעדה;מסעודין;מסעודין אל-עזאזמה;מע אדומים;מעגלים;מעון;מעיליא;מעיליה;מעין ברוך;מעלה אדומים;מעלה אדמים;מעלה אפרים;מעלה גלבוע;מעלה גלבע;מעלה גמלא;מעלה חבר;מעלה לבונה;מעלה מכמש;מעלה עמוס;מעלה שומרון;מעליא;מעפיל;מפגש הבקעה;מפלסים;מצד;מצדה;מצדות יהודה;מצפה אביב;מצפה אילן;מצפה יריחו;מצפה עדי;מצפה רמון;מצפה שלם;מצר;מרגליות;מרום גולן;מרום הגליל;מרחב עם;מרחבים;מרכז אבשלום;מרכז שפירא;משאבי שדה;משגב;משגב עם;משואה;משואות יצחק;משכיות;משמר הנגב;משמר העמק;משען;מתחם קניאל;מתן;מתקן חולות;מתת;מתתיהו;נאות גולן;נאות הכיכר;נאות הככר;נאות סמדר;נאעורה;נבטים;נבי מוסא;נגידאת;נגבה;נגה;נגוהות;נהורה;נוב;נוגה;נוה;נוה אבות;נוה אור;נוה אטיב;נוה דניאל;נוה זהר;נוה זיו;נוה חלוקים;נוה חריף;נוה מיכאל;נווה;נווה אבות;נווה אור;נווה אטיב;נווה אטיב;נווה דניאל;נווה הרצוג;נווה זוהר;נווה זיו;נווה חריף;נווה מדבר;נווה מיכאל;נווה מנחם;נווה צוף;נועם;נופי נחמיה;נופי פרת;נופים;נוקדים;נורית;נחל אבנת;נחל אלישע;נחל חמדת;נחל נמרוד;נחל עוז;נחל קלע;נחל רותם;נחל רתם;נחל שטים;נחל שיטים;נחל אבנת;נחל אשכולות;נחל חמדת;נחל יתיר;נחל משכיות;נחל נגוהות;נחל נצרים;נחל עוז;נחל עז;נחל צין;נחל קלע;נחל רתם;נחל שטים;נחל שמעה;נחלה;נחליאל;נחניאל;נטועה;נטור;נטע;נטע מרשם;נילי;ניסנית;ניצן;ניצן ב;ניצנה;ניצנה (קהילת חינו;ניצני סיני;ניצני עוז;ניצני שלום;ניצנים;ניר בנים;ניר גלים;ניר דוד-תל עמל;ניר חן;ניר יפה;ניר יצחק;ניר ישראל;ניר משה;ניר עוז;ניר עז;ניר עם;ניר עקיבא;נירים;נירית;נירן;נמרוד;נס הרים;נעלה;נעם;נעמה;נעמי;נערן;נצאצרה;נצאצרה (שבט);נצן;נצנה (קהילת חנוך);נצני סיני;נצני עז;נצנים;נצנים (כפר הנוער);נצר חזני;נצרים;נר יצחק;נריה;נתיב הגדוד;נתיב העשרה;סאגור;סאלם;סאסא;סגולה;סגור;סדום;סואעד-חמרייה;סואעד-כמאנה;סואעד (חמרייה);סואעד כמאנה;סואעד כמאנה (שבט);סואעד שויכי חמריה;סואעד(כמאנה);סוואעד (חמרייה);סוואעד חמיירה;סוסיה;סופה;סחנין;סלמה;סלעית;סמיע;סמר;סנדלה;סנסנה;סעד;סעוה;סער;ספיר;ספסופה;עגר;עגר;עארה;עבדון;עגר;עגר;עדי;עדיעד;עדן;עובדה;עוזה;עוזייר;עולש;עומר;עופרה;עופרים;עוצם;עוקבי;עוקבי (בנו עוקבה);עזוז;עזר;עזריאל;עזריקם;עטאוונה;עטאוונה (שבט);עטאונה;עטרות;עטרות את;עטרת;עידן;עיילבון;עיין השלושה;עיין זיוון;עיין חרוד (איחוד);עילבון;עילוט;עין איברהים;עין אל-אסד;עין בוקק;עין גב;עין גדי;עין הבשור;עין הנציב;עין השלושה;עין זיוון;עין זיון;עין חמד;עין חצבה;עין חרוד (איחוד);עין חרוד (מאוחד);עין יהב;עין כמונים;עין מאהל;עין סהלה;עין עירון;עין צורים;עין קנייא;עין שריד;עין תמר;עינב;עיר אובות;עיר הבהדים;עכברה;עלוט;עלומים;עלי;עלי זהב;עלמה;עלמון;עלש;עמונה;עמיחי;עמיעוז;עמיעז;עמיקם;עמנואל;עמר;ענב;ענתות;עספיא;עפרה;עץ אפרים;עצם;עצמון;עצמון שגב;עראבה;עראמשה;ערד;ערערה;ערערה-בנגב;עשהאל;עתניאל;פארן;פדואל;פני חבר;פני קדם;פסגות;פסוטה;פעמי תשז;פצאיל;פצאל;פרוד;פרזון;פרי גן;צאלים;צבעון;צהר;צוחר;צופים;צופין;צופית;צופר;צוקים;צור הדסה;צור משה;צנדלה;צנדלהן;צריפין;קבועה;קבועה (שבט);קדומים;קדייראת א-צאנע;קדיתא;קדם;קדמת צבי;קדר;קדרים;קדש ברנע;קואעין;קודיראת א-צאנע;קוואעין;קוואעין (שבט);קומראן;קורנית;קטורה;קטיף;קיבוץ אילון;קיבוץ אלון;קיבוץ בית קשת;קיבוץ גת;קיבוץ חניתה;קיבוץ יהל;קיבוץ עין צורים;קידה;קלחים;קליה;קליה;קלנסווה;קלע;קסר א-סיר;קציעות;קציר-חריש;קצר א-סר;קצרין;קריית ארבע;קריית ספר;קרית ארבע;קרית נטפים;קרית ספר;קרני שומרון;קרע;קרע (כפר);קשת;ראס אל-עין;ראס עלי;ראש צורים;רבבה;רביבים;רגבים;רהט;רווחה;רוויה;רוחה;רוחמה;רויה;רומאנה;רומת הייב;רועי;רותם;רותם (נחל);רחוב;רחלים;ריחאניה;ריחן;ריחניה;ריינה;רימונים;רינה;רם-און;רם און;רמונים;רמות;רמות נפתלי;רמת חובב;רמת מגישימים;רמת מגשימים;רמת נגב;רמת צבי;רעים;רפיח ים;רקפת;רשפ לא לשימוש;רשפים;רתמים;שא-נור;שאר ישוב;שבות רחל;שבטה;שבי דרום;שבי שומרון;שבלי;שבלי - אום אל-גנם;שבלי אום אל גנם;שבלים;שגב-שלום;שגב שלום;שגב/עצמון;שגור;שדה אליהו;שדה בוקר;שדה דוד;שדה יואב;שדה יצחק;שדה ניצן;שדה נצן;שדה עוזיהו;שדה עזיהו;שדה צבי;שדות נגב;שדי אברהם;שדי חמד;שדי תרומות;שדמות מחולה;שובה;שובל;שומרה;שומריה;שוקדה;שזפון;שחר;שחרות;שיבולים;שיבטה;שיבלי;שיזף;שיזפון;שיח דנון;שיטים;שייח דנון;שילה;שכניה;שלווה;שלווה במדבר;שלוחות;שלומית- דרום;שלפים;שמיר;שמעה;שמעה (נחל);שמרת;שני;שניר;שעב;שעל;שער אפרים;שער בנימין;שער הנגב;שער מנשה;שערי תקוה;שערי תקווה;שפיר;שפר;שפרעם;שקד;שקף;שרשרת;שתולה;שתולים;תאשור;תדהר;תומר;תושיה;תל חי;תל עמל;תל ערד;תל קציר;תל שבע;תל תאומים;תלם;תלמי אליהו;תלמי בילו;תלמי בילו;תלמי יוסף;תלמי יפה;תלמים;תמנע;תמר {מעצ};תמרה;תקומה;תקוע;תראבין א-צאנע;תראבין א-צאנע יישוב
רשימת ערים

איך לשנות שמות של ערים?
עדכן את קודי המדינות, וקודי ושמות הערים:

add_filter( 'woocommerce_states', 'csz_modify_woocommerce_states', 40 );
function csz_modify_woocommerce_states( $states ) {
	$states[ 'AT' ]['AT90001'] = 'Vienna';
	return $states;
}

איך להסיר ערים כלשהן מהרשימה?
עדכן את קודי הערים:

add_filter( 'woocommerce_states', 'csz_remove_woocommerce_states', 50 );
function csz_remove_woocommerce_states( $states ) {
	$unnecessary_cities = array( 'AT10101', 'AT10201', 'AT10301' );
	foreach ( $unnecessary_cities as $city ) {
		unset( $states[ substr( $city, 0, 2 ) ][ $city ] );
	}
	return $states;
}

איך להשאיר ברשימה ערים ספציפיות בלבד?
עדכן את קוד המדינה וקודי הערים:

add_filter( 'woocommerce_states', 'csz_set_woocommerce_states', 20 );
function csz_set_woocommerce_states( $states ) {
	$country = 'AT';
	$cities = array( 'AT10101', 'AT10201', 'AT10301' );
	$new_states = array();
	foreach ( $cities as $city ) {
		if ( isset( $states[ $country ][ $city ] ) ) {
			$new_states[ $city ] = $states[ $country ][ $city ];
		}
	}
	$states[ $country ] = $new_states;
	return $states;
}

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

add_filter( 'woocommerce_states', 'csz_split_woocommerce_states', 30 );
function csz_split_woocommerce_states( $states ) {
	$city_code = 'AT90001';
	$sub_cities = array( __( 'Northern', 'woocommerce' ), __( 'Southern', 'woocommerce' ) );
	$count = 101;
	foreach ( $sub_cities as $sub_city ) {
		$states[ substr( $city_code, 0, 2 ) ][ $city_code . $count ] = $states[ substr( $city_code, 0, 2 ) ][ $city_code ] . ' - ' . $sub_city;
		$count++;
	}
	unset( $states[ substr( $city_code, 0, 2 ) ][ $city_code ] );
	return $states;
}

איך ליצור רשימת ערים למדינה שאינה נתמכת?
לפי המחוזות המנהליים שלה בגאוקוד מקומי לפי מפקד האוכלוסין/UNLOCODE/HASC, על שמות הערים להיות ייחודיים וללא סימני פיסוק.

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

עמלת מרחק

איך ניתן להוסיף עמלת מרחק?
בהינתן רשימה (תוך-ארצית) של מרחקים מעיר, יתאפשר להוסיף עמלה מבוססת מרחק למחיר המשלוח או למחיר מוצר (למשל בכדי למכור שירותי הובלות).

האם בתוסף ישנן רשימות מרחקים מובנות?
לישראל מספר ערים עם רשימת מרחקים מובנית בעברית.

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

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

איך עלי לארגן רשימת מרחקים לעיר?
השתמש כאינדקס בקודים של המיקומים או בשמות שלהם (כפי שמופיעים בלוח הבקרה ועדכן את key_format$), ודא שמוגדר מרחק גם לעיר עצמה.

הסרת התוסף
  • הגדרות תוסף: הסר את המדינות.
  • הגדרות אזורי משלוח בווקומרס: הסר את המיקומים.
  • תוספים: כבה ומחק את התוסף.
  • הגדרות ווקומרס: עדכן את כתובת החנות.
  • בסיס נתונים: שקול להמיר/למחוק את ערכי שדה המחוז בהזמנות ובמשתמשים שנוצרו/שעודכנו בזמן שהתוסף היה מוחל על המדינות שהם שייכים אליהם.
Categories
תשתית לווקומרס

אבטחת שרת ווקומרס

וצעצוע של סיפור.

  • עדכן באופן תדיר
  • החלף את הסיסמאות לעיתים תכופות תוך וידוא שהן באורך 8 תווים לפחות (אותיות גדולות וקטנות באנגלית, מספרים וסמלים) והוסף אימות דו-שלבי
  • הגדר חומת אש
  • הפעל הגנת DDOS
  • סרוק את קבצי השרת ועבור על הלוגים באופן תכוף
  • השתמש ביוזר root רק בעת הצורך

חסימת התחברות של המשתמש root ב-SSH- הוסף לקובץ etc/ssh/sshd_config/:

PermitRootLogin no

הגדר אילו לוגים יישמרו והיכן בקובץ etc/rsyslog.conf/.

הגדרת מערכת למניעת חדירות Fail2ban:

  • הפעל את mod_remoteip (במידה ומשתמש ברברס פרוקסי)
  • צור את הקובץ etc/fail2ban/jail.local/ והשתמש בהוראות, לדוגמא, הפעלת הגנה ממושכת על SSH:
[recidive]
enabled = true

[sshd]
enabled = true

הגדרת מספר קבצי לוג:

logpath = /var/www/clients/client12/web*/log/access.log
          /var/www/clients/client13/web*/log/access.log

ביטול חסימה שנוצרה השתמשו בפקודה:

 fail2ban-client set sshd unbanip $IP

הסתרת פרטי שרת ווב אפאצ'י- הוסף לקובץ etc/apache2/apache2.conf/:

ServerTokens Prod
ServerSignature Off

הסתרת פרטי ה-PHP- הוסף לקובץ php.ini:

expose_php = off

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

Categories
תשתית לווקומרס

שרת דואר לווקומרס

ופרעה.

שיפור שיעור השליחה המוצלחת של דוא"ל מהשרת:

  • הגדר לשמות המתחם: DMARC ,DKIM ,SPF
  • וודא ששם השרת קיים בערכים: A record ,rDNS, ממשק ניהול השרת, בתצורת ה-MTA (כולל mailname),וה-Content filter שבשימוש

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

Categories
ווקומרס

הגבלת גישה בווקומרס

והנווד.

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

add_action( 'template_redirect', 'condless_redirect' );
function condless_redirect() {
	if ( ! is_user_logged_in() && is_product() && strpos( wp_get_referer(), home_url() . '/?s' ) === false && wc()->cart->get_cart_contents_count() === 0 ) {
		wp_redirect( home_url() );
	}
}

הגבלת שליחה של טופס צור קשר אחד לכל כתובת אימייל- התקן את התוסף, והתוסף ובקוד:

add_filter( 'wpcf7_validate_email*', 'condless_email_validation_filter', 20, 2 );
function condless_email_validation_filter( $result, $tag ) {
	if ( Flamingo_Contact::find( array( 's' => trim( $_POST['your-email'] ) ) ) ) {
		$result->invalidate( $tag, __( 'Sorry, that email address is already used!' ) );
	}
        return $result;
}

שמירת קבצים מצורפים בתיקיה שנגישה רק ליוזרים באתר- התקן את התוסף, והתוסף וצור קובץ htaccess. בתיקייה wpcf7-submissions שבתיקיית ההעלאות עם התוכן:

Options -Indexes
RewriteEngine On
RewriteCond %{HTTP_COOKIE} !^.*wordpress_logged_in.*$ [NC]
RewriteRule ^(.*)$ - [R=403,L]

כפי שבוודאי שמת לב- בשונה מתבניות ברירות המחדל אחרות, התבנית Twenty Twenty לא פותחה מאפס, אלא נבנתה על בסיס התבנית צ'פלין של אנדרס נורן.

Categories
הרחבות לווקומרס

הגבלת פוסטים למשתמש

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

Categories
ווקומרס

פופאפים בווקומרס

ואמני הג'אז.

התקן את התוסף.

עדכון הלקוח בווקומרס בעמוד מוצר על פספוס הנחה מכיוון שלא רכש ממנו מספיק פריטים- הוסף את הטריגר Auto Open וטרגטינג של עמוד המוצר הרצוי והתנאים המותאמים אישית (עדכן את מזהה המוצר וכמות הפריטים להנחה):

add_filter( 'pum_get_conditions', 'condless_pum_cart_product_quantity_conditions' );
function condless_pum_cart_product_quantity_conditions( $conditions ) {
        return array_merge( $conditions, array(
                'password_page_unlocked' => array(
                        'group'    => __( 'Products', 'woocommerce' ),
                        'name'     => __( 'Products', 'woocommerce' ) . ': ' . __( 'Cart', 'woocommerce' ) . ' ' . __( 'Quantity', 'woocommerce' ),
                        'callback' => 'cart_product_quantity',
                ),
        ) );
}
function cart_product_quantity() {
        foreach ( WC()->cart->get_cart() as $cart_item ) {
                if ( '772' === $cart_item['product_id'] && 3 > $cart_item['quantity'] ) {
                                return true;
                }
        }
        return false;
}

התראה ללקוח בווקומרס שהוא עומד לרוכש מוצר שאינו זמין במלאי כרגע (למוצרים פשוטים)- הפעל את האפשרויות של השורטקודים ושל הקלאסים בכפתור הוספה לסל שבתוסף, צור פופאפ בשם simple_is_on_backorder1 וטרגטינג של All Products, בתוכן הפופאפ הכנס את השורטקוד [current_add_to_cart] והתראה ללקוח על שעומד להוסיף מוצר שאינו זמין כרגע, במידה ומוגדר AJAX בעמוד ארכיון צור פופאפ נוסף עם טריגר Click Open על archive_is_on_backorder1. והאפשרות "do not prevent.." והכנס בתוכן הפופאפ התראה ללקוח על שהוסיף מוצר שאינו זמין כרגע, במידה ולא השתמש בקוד:

add_filter( 'woocommerce_loop_add_to_cart_args', 'condless_add_class', 10, 2 );
function condless_add_class( $args, $product ) {
	if ( $product->is_type( 'simple' ) && $product->is_on_backorder() && ! is_product() && 'no' === get_option( 'woocommerce_enable_ajax_add_to_cart' ) ) {
		$product_id = $product->get_id();
		$args['class'] .= ' popmake-archive_backorder-' . $product_id;
		if ( isset( $product->get_availability()['availability'] ) ) $out = '<div>' . $product->get_availability()['availability'] . '</div>' . '<a href=' . $product->add_to_cart_url() . '>' . $product->add_to_cart_text() . '</a>';
		echo do_shortcode( "[popup id='archive_backorder-" . $product_id . "']" . $out . "[/popup]" );
	}
	return $args;
}

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

Categories
ווקומרס

יצירה אוטומטית של פוסט בווקומרס

ובחזרה לעתיד.

יצירת פוסט למשתמש ברכישת מוצר מסוים בווקומרס (עדכן את ה-ID של המוצר):

add_action( 'woocommerce_order_status_completed', 'condless_create_page' );
function condless_create_page( $order_id ) {
	foreach ( wc_get_order( $order_id )->get_items() as $item ) {
		if ( '9' === $item->get_product_id() ) {
			$user_id = wc_get_order( $order_id )->get_user_id();
			$user = new WP_User( $user_id );
			$user->remove_role( 'customer' );
			$user->add_role( 'author' );
			wp_insert_post( array( 'post_title' => 'My New Page', 'post_status' => 'publish', 'post_author' => $user_id, 'post_type' => 'post') );
		}
	}
}

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