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

לאפשר למשתמשים בתפקיד contributor להעלות תמונות

בגרסה 2.0 של וורדפרס מערכת המשתמשים עברה שדרוג רציני. המערכת החדשה מגדירה תפקידים ויכולות (Roles and Capabilities) לכלל המשתמשים הרשומים. כברירת מחדל הוגדרו 5 תפקידים, ולכל תפקיד משוייכות יכולות שונות. מעל הרמה הבסיסית ביותר הוגדרת תפקידו של ה-contributor, משתמש שרשאי להעלות תכנים אבל לא לפרסם אותם.

משתמש

משתמש

הבעיה

תפקידי משתמשים

תפקידי משתמשים

כאמור, וורדפרס הגדירה 5 תפקידים. משתמשים שהוגדרו כ-contributor (התפקיד הרביעי – כתיבה) הורשו להעלות תכנים לאתר, אבל הם לא הורשו לפרסם תכנים. כדי שהם יתפרסמו, משתמש ברמה גבוהה יותר נדרש לאשר זאת. זהו פתרון נהדר לכל אותם אתרים שמעוניינים לשלב תוכן גולשים אבל מעדיפים לסנן תכנים לא ראויים או נושאים שלא קשורים לאתר.

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

אז איך אפשר להקנות לאותם משתמשים את היכולות להעלות קבצים?

הפתרון

כדי לעשות זאת, אנחנו נרחיב את היכולות של התפקיד contributor ונוסיף לו את היכולת upload_files. נעשה זאת בעזרת הקוד הבא, אותו נוסיף לקובץ functions.php בערכת העיצוב שלכם:

function allow_contributor_uploads() {
    $contributor = get_role('contributor');
    $contributor->add_cap('upload_files');
}
if ( current_user_can('contributor') && !current_user_can('upload_files') )
    add_action('admin_init', 'allow_contributor_uploads');

מאת רמי

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

הוסף תגובה !

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

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