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

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

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

טופס התחברות
טופס התחברות

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

השלב הראשון, והפשוט מבין השניים, יהיה להוריד את תוסף Register-Plus ולהוריד את קבצי התרגום לעברית שלו. לאחר מכן יש להפעיל את התוסף. דרך מסך ההגדרות של התוסף ניתן לקבוע איזה שדות יוצגו בפני המשתמש בטופס הרישום, לבחור האם להשתמש בקאפצ'ה, אקטיבציה בעזרת דוא"ל, להגדיר שדות רשות ושדות חובה ואפילו להמציא שדות משלכם אם יש לכם משהו קונקרטי (כדאי מאוד גם לעבור קצת על הגדרות ה CSS על מנת לוודא שהטופס נראה טוב).

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

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

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

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

< ?php if (!is_user_logged_in()) {?>
...
the form 
...
< ?php } else {
...
something else
...
}

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

else {
global $current_user;
get_currentuserinfo();
$name = $current_user->user_firstname. " ". $current_user->user_lastname;
echo "שלום " , $name; ?>

< ?php }
מסך לאדמין מחובר
מסך לאדמין מחובר

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

שנית, כל המשתמשים שהם בדרגת קריאה בלבד אין להם "דרגת משתמש" העסק הזה קצת מבלבל כי מי שניסה ליצור משתמשים דרך פאנל הניהול בוודאי שם לב שהדרגות נעות בין 10-קריאה ועד ל 50 - מנהל (עקבי עד גירסה 2.7, אבל ב 2.7.1 המספרים כבר לא מופיעים) בעוד שמבחינת התשובה שמחזיר user_level דרגת המנהל היא 10 וכאמור דרגת הקורא איננה קיימת. לכן בעצם, ניתן להכניס את הקריאה לדרגה כמשפט IF, שכן ללא דרגה הוא איננו מתקיים.
בברירת המחדל, כשמשתמש מתנתק מוורדפרס הוא מוחזר אל מסך ההתחברות ולא אל הבלוג. (למה דווקא למסך ההתחברות אם הוא הרגע התנתק, ההגיון אומר לבלוג, אבל ניחא) המזל הוא שהלינק להתנתקות (שורה 7) מאפשר החדרת פרמטר המגדיר את העמוד אליו יוחזרר המשתמש, השימוש במשתנה המחזיר את העמוד בו נמצא המשתמש מאפשר להחזיר אותו בתום ההתנתקות לעמוד בו הוא נמצא כרגע.

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

include('registration.php');

כמובן בתנאי שהקובץ נשמר בתיקיית העיצוב. את מחלקות ה CSS מומלץ להעתיק כמות שהן לקובץ ה CSS המקורי. בבר הניווט השמאלי של האתר (למי שנכנס ולא קורא מה RSS) ניתן למצוא הדגמה של תיבת ההתחברות, אתם מוזמנים לנסות להרשם, להתחבר, להתנתק וכ'. מי שלא רוצה להרשם יכול להתחבר עם demo כשם משתמש וכסיסמא.
אם הטופס נראה מחורבש זה כי הדפדפן שלכם שמר גירסה ישנה של קובץ ה CSS שלי, בפיירפוקס אפשר לנקות אותה על ידי כניסה לכלים -> ניקוי מידע פרטי ומחיקה של קבצי הקאש. יש גם דרך לעשות את זה באקספלורר, לדעתי דרך כלים -> הגדרות אינטרנט אבל זה כבר נשגב מבינתי.