דף הבית » טריקים וטיפים, מומלצים

מידע אודות המשתמשים הרשומים בוורדפרס

10 בינואר 2010 | מאת רמי | 10 תגובות | תגיות: , , , , ,

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

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

פרופיל משתמש

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

מידע אחר בפרופיל משתמש

מידע אחר בפרופיל משתמש

המפתחים שמעו את התלונות, ובגרסה 2.9 כושתב מבנה פרופיל המשתמש במסד הנתונים.

השינוי במבנה הנתונים

השדות הבסיסיים נותרו בטבלת המשתמשים המרכזית wp_users ואילו מידע נוסף אחר עבר לטבלת wp_usermeta. מגרסה 2.9 טבלת המשתמשים כולל את השדות הבאים:

שדה סוג
ID bigint(20) unsigned
user_login varchar(60)
user_pass varchar(64)
user_nicename varchar(50)
user_email varchar(100)
user_url varchar(100)
user_registered datetime
user_activation_key varchar(60)
user_status int(11)
display_name varchar(250)

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

הסרת שדות

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

function remove_contact_methods( $contactmethods ) {
unset($contactmethods['aim']);
unset($contactmethods['yim']);
unset($contactmethods['jabber']);
return $contactmethods;
}
add_filter('user_contactmethods','remove_contact_methods');

הוספת שדות

על מנת להוסיף שדות חדשים, יש להוסיף לקובץ functions.php את הקוד הבא:

function add_contact_methods( $contactmethods ) {
$contactmethods['country'] = 'Country';
$contactmethods['address'] = 'Address';
$contactmethods['phone'] = 'Phone';
return $contactmethods;
}
add_filter('user_contactmethods','add_contact_methods');

הצגת מידע

הצגת המידע באתר מתבצעת תוך שימוש בפונקציה הבאה:

the_author_meta('phone', $current_author->ID);

שימוש

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

מאת רמי

אחראי על אתר וורדפרס בעברית ועל תרגום ושחרור גרסאות וורדפרס בעברית. מפתח ליבה, בכל גרסה החל מגרסה 2.8, מפתח מוביל בגרסה 4.4 ובגרסה 4.6. מספק שירותי פיתוח אתרים, פיתוח תוספי וורדפרס לסטרטאפים ופיתוח כלים למפתחי וורדפרס - GenerateWP.com.

10 תגובות »

  • ariel כותב :

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

  • רמי כותב :

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

  • שמואל כותב :

    תודה פוסט מצויין!
    בהחלט שהשדות הקודמים לא רלוונטים על אחת כמה וכמה כשמדובר בקהל ישראלי שבמקושי יודע מה זה AIM ו-YAHOO.
    שאלה קטנה:
    האם בשביל לנהל משתמשים אני חייב ליצור אותם בעצמי כמנהל? האם אפשר לעשות בוורדפרס שכל מי שרוצה יכול להירשם בעצמו?

  • רמי כותב :

    שמואל, כנס לתפריט "הגדרות>כללי" יש שם תפריט בשם "רישום משתמשים" סמן V על "כל אחד יכול להירשם" והאתר יפתח להרשמה.

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

    לכל אתר הצרכים שלו, ולכל שיטה יתרונות וחסרונות.

  • שחר צורף כותב :

    שלום לך ותודה על הפוסט.

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

    שתי שאלות:
    1. דבר ראשון, אין לי מושג איך הם נרשמו…
    2. איזה אינטרס יש לי שיהיו רשומים ואיזה אינטרס יש להם? (האם הם מקבלים התראות על שינויים באתר? האם הם יכולים כך לקדם אתר אישי שלהם?)

    תודה מראש

  • רמי כותב :

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

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

  • שחר צורף כותב :

    תודה רמי.
    המידע שלך עזר לי מאוווד.
    חג שמח!

  • רמי כותב :

    שמח לשמוע!

  • אבי כותב :

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

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

  • רמי כותב :

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

הוסף תגובה !

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

תגיות HTML מורשות לשימוש:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>