תוסף ממשק ניהול – Lighter Admin Drop Menus

בשקט בשקט אני אגלה כאן כי הסיבה האמיתית למעבר שלי לגרסה האנגלית נבע מנקודה אחת בעייתית.
התוסף advanced-admin-menus מעולם לא הצליח לעבוד אצלי כראוי.

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

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

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

עד אתמול.

אתמול ניתקלתי בתוסף lighter admin drop menus כחלק מפוסט בפרו בלוגר שפנה לאנשים לספר על תוספים בהם הם משתמשים.

כשקראתי את התיאור נפלו הציפיות, התוסף מבוסס על אותו בסיס עליו התבסס advanced admin menus, מה שאומר שסביר שלא יעבוד אצלי.
למרות הכל החלטתי לנסות. התוסף עובד נפלא והתוצאה לפניכם:
תפריטי גלילה עובדים
בקיצור, אם עוד מישהו סובל מתופעות הלוואי האלו – שווה לנסות.

025 תוסף ממשק ניהול   Lighter Admin Drop Menus נהניתם ? הרשמו לעדכוני RSS !

הצגת פוסטים קשורים כתמונות

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

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

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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$c_posts = $posts;<br />
$current = $post;<br />
$c_images = $post_image_attachments;<br />
$r_posts = wp23_get_related_posts();<br />
foreach ($r_posts as $post) {<br />
$posts = array($post);<br />
$post_image_attachments = "";<br />
echo "<a href="&quot;.get_permalink().&quot;">";<br />
post_image('http://localhost/www/2.1/wp-content/uploads/rss.png', true);<br />
echo "</a><a>";<br />
}<br />
$post = $current;<br />
$posts = $c_posts;<br />
$post_image_attachments = $c_images;<br />
</a>

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

  • $post – משתנה המכיל את הערכים של הפוסט הנוכחי, משתנה זה יאותחל בתוך הלולאה להיות כל הפעם הפוסט הקשור אליו אנחנו מתייחסים.
  • $posts – משתנה המכיל את רשימת הפוסטים עבורם התוסף מופעל, כיוון שעבור כל רשימה כזו התוסף מייצר תמונה אחת נאתחל את המשתנה להיות רשימה בת איבר אחד – הפוסט עבורו אנחנו רוצים את התמונה.
  • $post_image_attachments – רשימת התמונות המקושרות לפוסט, משתנה זה עובר שינוי בתוך התוסף, ועל כן נאתחל אותו לאחר כל שימוש בתוסף.

כשלב ראשון אני שומרת את הערכים הנוכחיים של המשתנים בהם אשתמש על מנת לאחזר אותם לאחר השימוש לערכים המקוריים שלהם.

1
2
3
$c_posts = $posts;<br />
$current = $post;<br />
$c_images = $post_image_attachments;

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

1
$r_posts = wp32_get_related_posts();

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

1
foreach ($r_posts as $post)

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

$posts = array($post);
$post_image_attachments = "";[/cc]

כל שנותר לנו הוא לקרוא לפונקציה המוצאת את הצלמית עבור פוסט. הערכים שהפונקציה מקבלת הם במקרה זה תמונת ברירת מחדל שתוצג אם בפוסט אין תמונות וכן הגדרה לייצר צלמית מכל תמונה. הכנסתי את התמונה אל תוך קישור כך שלחיצה אליה תוביל לפוסט האמור.
1
2
3
echo "<a href="&quot;.get_permalink().&quot;">";
post_image('http://localhost/www/2.1/wp-content/uploads/rss.png', true);
echo "</a><a>";</a>
עכשיו נסגור את הלולאה ונחסיר את המשתנים לערכיהם ההתחלתיים
1
2
3
4
}
$post = $current;
$posts = $c_posts;
$post_image_attachments = $c_images;
זה הכל.

025 הצגת פוסטים קשורים כתמונות נהניתם ? הרשמו לעדכוני RSS !

תוסף העלאת קבצים DivShare

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

נכון להיום אני משלמת כ-3.5$ לחודש על האחסון שלי, והתחלתי כבר לבדוק אפשרויות אחרות. המוטיבים החשובים ביותר מבחינתי הם אלו שקשורים לגירסאות של PHPת MySQL וכן למגבלות על מספר דומיינים גישת shell וכו'
אני רוצה יותר שליטה על הכל, מאידך אני ממש לא בטוחה שאני באמת רוצה לשלם את ה-10$ לחודש עבור Dreamhost, אבל על כל זאת בפוסט אחר.

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

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

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

מסך העלאת הקבצים הרגיל של וורדפרס:
מסך העלאת הקבצים הרגיל של וורדפרס
מוחלף במסף ההעלאה של DivShare:
מסך ההעלאה של DivShare
ולבעלי החשבון (ניתן להרשם חינם) במסך ניהול הקבצים האישי:
מסך ניהול הקבצים האישי
ניתן גם להעלות מספר קבצים במקביל:
מספר קבצים במקביל

התוסף נוח לשימוש ומאד אינטואיטיבי.
לאחר העלאת הקובץ ניתן להשתמש בכפתור ה-More Options ולקבל את הקוד לשתילה בבלוג:
הקוד לשתילה בבלוג

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

025 תוסף העלאת קבצים DivShare נהניתם ? הרשמו לעדכוני RSS !