הבנת וורדפרס מותאמת אישית וורדפרס
בהודעה הקודמת, דיברנו על השדה המותאם אישית של WordPress, המאפשר לך להוסיף ולהוסיף רשומה חדשה בפוסט באמצעות תיבת שדה מותאם אישית ש- WordPress מספק במסך עריכת ההודעות. עם זאת, אם אינך מרגיש בנוח להשתמש בתיבה שדה מותאם אישית (לכולנו יש העדפות אישיות), הנה חלופה: תוכל ליצור תיבת meta.
תיבת meta היא תיבת מותאמת אישית שאנו יוצרים בעצמנו, אשר עשוי מכיל קלט או ממשק משתמש אינטראקטיבי אחר כדי להוסיף ערכים חדשים של פוסטים או דפים. ניתן להשתמש בתיבה meta במקום בתיבה שדה מותאם אישית כדי לעשות את אותו הדבר. בוא נראה כיצד ליצור אחד.
עוד על Hongkiat.com:
- התאמה אישית של ספריית העלאת מדיה ב - WordPress
- התאמה אישית של סגנונות עורך וורדפרס
- התאמה אישית “היי” ב - WordPress בר מנהל
- הרשמה טקסונומיה מותאמת אישית עבור משתמשי וורדפרס
- הצגת סמלים בתפריט WordPress
יצירת תיבת מטא
וורדפרס provse פונקציית API, שנקרא Add_meta_box
, אשר מאפשר לנו ליצור תיבת meta מיד. זהו זה בצורתו הבסיסית ביותר.
הפונקציה add_post_reference () add_meta_box ('הפניה לכתובת', 'הפניה', 'referenceCallBack', 'post'); add_action ('add_meta_boxes', 'add_post_reference'); הפניה לפונקציהבאק () echo 'Hello World'
ה Add_meta_box
לוקח ארבעה פרמטרים: ID, כותרת תיבת meta, פונקציית התקשרות שתקרא 'Hello World', וסוג ההודעה שאנחנו רוצים להציג. במקרה זה אנו מקצים תיבת meta חדשה בדף עריכת פוסטים (פעולה זו גם עובדת עם דפים).
בסעיף עריכת העריכה, תמצא תיבה חדשה, כדלקמן.
תיבת המטא החדשה, כפי שניתן לראות לעיל, תופיע מתחת לעורך WYSIWYG. אם אתה רוצה להוסיף את זה בסרגל הצד אתה יכול להוסיף 'צד' לאחר הפרמטר הודעה, יחד עם 'גבוה' אם אתה רוצה לשים אותו בחלק העליון של הצדדי.
הפונקציה add_post_reference () add_meta_box ('הפניה לאחר', 'הפניה', 'הפניה', 'פוסט', 'צד', 'גבוה'); add_action ('add_meta_boxes', 'add_post_reference');
כעת תמצא את זה מעל פרסם קופסא…
עכשיו להחליף את הטקסט 'שלום עולם' שם. בוא נוסיף אלמנטים כמו שדה קלט עבור רשומה חדשה.
בדוגמה זו, נוסיף שני שדות קלט המורכבים מאחד להוספת שם הפניה והשני עבור קישור עיון:
הפניה לפונקציהבאק ($ post) wp_nonce_field ('reference_meta_box', 'reference_nonce'); $ name_value = get_post_meta ($ post-> ID, '_post_reference_name', true); $ link_value = get_post_meta ($ post-> ID, '_post_reference_link', true); הד '' הד '' הד ''. 'הוסף את שם ההתייחסות'. '
' הד '' הד '' הד ''. 'הוסף את הקישור של ההפניה'. '
'
רענן את דף עריכת ההודעה, ואתה אמור לראות את שתי התוספות האלו.
ה $ name_value
ו $ link_value
משתנה יאחזר את הערכים ממסד הנתונים וימלא אותם בשדות הקלט. כדי לקבל את הערכים לתוך מסד הנתונים, אנחנו צריכים ליצור פונקציה עבור זה.
אנחנו צריכים להוסיף כמה שורות של קוד כי יהיה לאכלס את הערכים שנוספו באמצעות קלט אלה לתוך מסד הנתונים בבטחה. “בצורה בטוחה” כאן פירושו כניסה לגיטימית ומורשית (לא זו שמגיעה מהאקרים או מאנשים בלתי מורשים אחרים). כדי לשמור את הערך, נצטרך ליצור פונקציה חדשה. בואו נקרא לפונקציה: שמור
, ככה.
הפונקציה save_post_reference ($ post_id) add_action ('save_post', 'save_post_reference');
כפי שהזכרנו, עלינו לאמת כמה דברים למטרות אבטחה:
(1) אנחנו צריכים לבדוק אם המשתמש יש את היכולת לערוך הודעה.
אם (! current_user_can ('edit_post', $ post_id)) Return;
(2) אנחנו גם צריכים בדוק אם ה- Nonce מוגדר.
אם (! iset ($ _POST ['reference_nonce'])) Return; אם (! wp_verify_nonce ($ _POST ['reference_nonce'], 'reference_meta_box')) return;
(3) לאחר מכן, עלינו למנוע את שמירת הנתונים באופן אוטומטי. חיסכון יכול להיעשות רק פעם אחת “להציל” או “עדכון” לחץ על הלחצן.
אם (מוגדר ('DOING_AUTOSAVE') & DO DOING_AUTOSAVE) return;
(4) אנחנו גם צריכים להבטיח כי שני תשומות שלנו, post_reference_name
ו post_reference_link
, מוגדרים ומוכנים לפני שנשלח את הערכים.
($ _POST ['post_reference_link'])) return;
(5) ואת הערך צריך להיות חופשי מכל תווים בלתי צפויים שעלולים לפגוע באבטחת האתר. כדי לבדוק זאת ניתן להשתמש בפונקציה המובנית של WordPress sanitize_text_field
.
$ reference_name = sanitize_text_field ($ _POST ['post_reference_name']); $ reference_link = sanitize_text_field ($ _POST ['post_reference_link'link)];
בסדר, עכשיו אנחנו מוכנים לשמור את הערכים למסד הנתונים:
update_post_meta ($ post_id, '_post_reference_name', $ reference_name); update_post_meta ($ post_id, '_post_reference_link', $ reference_link);
עכשיו אתה יכול לנסות את זה: קלט קצת תוכן לשדות קלט, ולחץ על “עדכון” כדי לשמור אותם.
סיכום
יצרנו רק תיבת meta הכוללת שני תשומות. תוכל להרחיב את התיבה גם עם סוגים אחרים של תשומות, כגון לחצן הבחירה או תיבת הבחירה. דוגמה זו עשויה להיות בסיסית מאוד, אבל ברגע שאתה מקבל את העניין, תוכל להשתמש בתיבת meta זו עבור שימושים הרבה יותר מסובך. תן לנו לדעת אם אתה תהיה באמצעות זה ומה אתה תשתמש בו.