דף הבית » וורדפרס » מסה מצא & החלף וורדפרס מסדי נתונים - בדרך הקלה

    מסה מצא & החלף וורדפרס מסדי נתונים - בדרך הקלה

    יש כמה הזדמנויות שבהן אנחנו צריכים לשנות את כתובות האתר באתר שלנו WordPress באתר. לדוגמה, עלינו לעשות זאת לאחר העברת מסד נתונים של WordPress מאתר אחד, למשל. מ ה http://acme.com אתר הייצור מרחוק, אל http://acme.dev אתר פיתוח מקומי במחשב שלנו.

    WordPress.org מארח מספר רב של יישומי פלאגין, כגון WP DBManager ו- WP Migrate DB, וישנם גם מספר כלים של צד שלישי שמאפשרים לך מסד נתונים לייבא בקלות. החלק המסובך הוא צורך לשנות כל מופע של כתובת אתר בתוך מסד הנתונים.

    לאחר העברת מסד הנתונים, כתובות בתוך זה עדיין מצביע על האתר הישן, במקרה זה acme.com. ייתכן שתמצא את כתובת האתר הישנה ב- wp_options טבלה, להגדיר את הערך של SITEURL ו בית אפשרויות, וזה כנראה גם מוטבע לאורך מספר שורות ושולחנות אחרים במסד הנתונים. כתובות אתרים ישנות אלו עשויות בסופו של דבר למנוע מהאתר שלך לפעול כראוי, לכן עליך שנה אותם לכתובת האתר החדשה, בדוגמה שלנו acme.dev.

    IMAGE: Scquel Pro, חיפוש ערך מסד נתונים

    בשלב זה, גישה לאתר הפיתוח שלנו בכתובת acme.dev פשוט תוביל לדף ריק.

    אז איך נשנה את כל כתובות האתרים הללו במסד הנתונים?

    הפעלת שאילתת SQL

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

     UPDATE wp_options SET option_value = החלף (option_value, 'http://acme.com', 'http://acme.dev') WHERE_name = 'home' או option_name = 'siteurl'; 

    לאחר מכן, הם משתמשים בשאילתה אחרת של SQL כדי להחליף את כל המופעים של כתובת האתר ב- wp_posts טבלה, כלומר ב תוכן דואר עמודה של כל שורה.

     UPDATE wp_posts SET post_content = החלף (post_content, 'http://acme.com', 'http://acme.dev'); 

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

    מינוף WP-CLI

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

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

    לאחר מכן, הפעל את הפקודה הבאה:

    wp חיפוש להחליף "http://acme.com" http://acme.dev

    הפרמטר הראשון, 'http://acme.com', הוא הערך הישן שיש להחליף עם השני, 'http://acme.dev'.

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

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

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

    wp search-replace '.jpg ".wbp' wp_posts

    הפעלת הפקודה הנ"ל, זה רק לחפש wp_posts, הטבלה שמאחסנת את התוכן שלנו - פוסטים, דפים וכו '- ולהחליף את תוסף התמונה .jpg ל .webp.

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