הסבר מעמיק על חנות woocommerce וחנות ecommerce ואיך מסודרים ב DB ואפשרות להמיר בין החנויות
כאן אני לא אסביר איך משתמשים בחנויות לא חסרים ברשת הסברים מה אפשר לעשות איתם קישור להסבר על החנות ווקומרס של pojo וכ"ו, נצרכתי להמיר אתר בעל חנות ecommerce לחנות של woocommerce שאגב יותר פופולאית בזכות כל התוספים והתמיכה שלה היא זוכה וכמובן התרגומים.
ההמרה בין החנויות ע"י שינויי פרמטרים בטבלאות ולא להכניס מחדש את המוצרים, מעבר לזה שזה חוסך עבודה במיוחד בחנויות גדולות, גם נשארים הקישורים ככה לא פוגעים בקידום הקיים SEO וגם לא מגיעים לידי קישורים שבורים.
דבר ראשון תגבו את הבסיס נתונים שלכם לכל מקרה שלא יהיה
למי שלא יודע איפה מריצים שאילתות במסד עדיף שלא יתעסק עם זה כי להריץ שאילתות זה די בסיסי, שלא יהיו טעויות כי המסד הזה משותף גם לפוסטים ולעמודים שיש באתר ואולי לעוד כמה דברים..
העברת מוצרים
מתברר שאת המוצרים שתי החנויות מכניסות ל db בטבלה הרגילה של הפוסטים wp_posts
* הרבה פלאגינים משתמשים בטבלאה זו וגם הטבלה משמשת לשמירת עמודים, וכדי שיהיה הפרדה באתר ונוכל לזהות מה עמוד מה פוסט ומה שייך לאיזה פלאגין שמים בשדה פוסט טייפ מזהה ייחודי – לחץ כאן להסבר נוסף על פוסט טייפ
בשדה ה post_type
ב woocomerce שמים product
וב ecommerce שמים wpsc-product
נריץ שאילתא על הטבלא שתחפש wpsc-product ותשנה ל product
השאילתא :
UPDATE wp_posts set post_type= 'product' WHERE post_type = 'wpsc-product'
קטגוריות
הקטגוריות בתוסף ecommerce ו woocommerce נמצאות בטבלה wp_terms
והקשרים בין הקטגוריות והמוצרים שאליהם הם משתייכים נמצא בטבלה wp_term_relationships
הקשרים משמעותו למשל לקטגוריה נעליים ( נמצא ב wp_terms) יש המון נעליים למשל נייק אדידס וכ"ו.. שלכל אחד מהם יש כמובן גם id ייחודי אז בטבלה wp_term_relationships יש את השדות האלה
object_id`, `term_taxonomy_id`, `term_order
אם למשל ה id של הקטגוריה נעליים הוא 14 וה id של נעלי הנייק הוא 743
אז
object_id – יהיה בו את הפריט ששייך לקטגוריה למשל הנייק 743
term_taxonomy_id – יהיה בו את הקטגוריה עצמה 14
וכך אנחנו נוכל לדעת איזה פריט שייך לאיזה קטגוריה זה נקרא טבלה מקשרת
ישנה עוד טבלה ששם השוני בין הפלאגינים שנקראת wp_term_taxonomy
היא בעצם קובעת האם זה קטגוריה לפי השדה taxonomy וגם מי האבא לפי השדה parent כאשר 0 מציין שאין אבא.
בפלאגין ecommerce
כדי לסמן קטגוריה שמים בשדה wpsc_product_category
כדי לסמן תת קטגוריה שמים בשדה את הערך product_tag ובשדה ה parent את האבא
ובפלאגין woocommerce
כדי לסמן קטגוריה שמים product_cat
שמים רק בשדה ה parent את ה id של האבא
נעשה שאילתא שהופכת את כל ה wpsc_product_category ו product_tag ל product_cat
UPDATE `wp_term_taxonomy` SET `taxonomy` = 'product_cat' WHERE taxonomy = 'wpsc_product_category' or taxonomy = 'product_tag'
מספר סידורי מק"ט:
המספרים הסידוריים יושבים בטבלה wp_postmeta לפוסט נוסף להסבר על הטבלא ניתן ללחוץ פה
ההבדל שב meta_key בווקומרס שמים _sku
וב ecoomerce שמים _wpsc_sku
שאילתא שמסדרת את העיניין:
update wp_postmeta set meta_key = '_sku' where meta_key = '_wpsc_sku'