31
באוג
2009

וורדפרס 2.8+: איך לא להציג קטגוריות מסוימות בתפריט הצדדי?

מאת: מאור ברזני | תגובות: 12 | נושאים: וורדפרס
תגיות: , , |

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

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

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

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

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

אז איך מבצעים?

  • קודם כל צריך לאתר את מספרי הקטגוריות שאותן רוצים לא להציג. הדרך הפשוטה היא לאתר אותן ע"י כניסה לממשק הניהול לתפריט פוסטים > קטגוריות. כשעוברים עם העכבר מעל קטגוריה, בשורת הסטטוס למטה ניתן למצוא את מספר הקטגוריה (ראו הדגשה באדום בצילום מסך להלן). לחילופין, ניתן להתקין את התוסף הזה, שיציג לכם מספרים של קטגוריות, פוסטים, עמודים, משתמשים, תמונות ולינקים. התוסף עשוי להיות שימושי במקרים רבים אחרים.wordpress category id
  • היכנסו דרך תוכנת ה-FTP שלכם אל תיקיית אחסון אתר הוורדפרס שלכם בשרת, ונווטו לתיקיה wp-includes. העתיקו אל המחשב את הקובץ default-widgets.php.
  • ערכו את הקובץ בעורך טקסט, ואתרו שם (בערך סביב שורות 225 ו-430) את הכיתוב:

[ccewn_php]$d = $instance['dropdown'] ? '1' : '0';[/ccewn_php]

  • הוסיפו מתחת כל אחת מהשורות האלה את המקטע:

[ccewn_php]$ex = "1,2,3";[/ccewn_php]

כאשר במקום 1,2,3 יש לכתוב את מספרי הקטגוריות שרוצים להוציא מהתצוגה.

  • לאחר מכן, אתרו (בערך סביב שורה 430) את השורה

[ccewn_php]$cat_args = array('orderby' => 'name', 'show_count' => $c, 'hierarchical' => $h);[/ccewn_php]

והחליפו בשורה הזו

[ccewn_php]$cat_args = array('orderby' => 'name', 'show_count' => $c, 'hierarchical' => $h, 'exclude' => $ex);[/ccewn_php]

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

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

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

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

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

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

אז איך מבצעים?

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

  • היכנסו דרך תוכנת ה-FTP שלכם אל תיקיית אחסון אתר הוורדפרס שלכם בשרת, ונווטו לתיקיה wp-includes. העתיקו אל המחשב את הקובץ default-widgets.php.

  • ערכו את הקובץ בעורך טקסט, ואתרו שם (בערך סביב שורות 225 ו-430) את הכיתוב:

$d = $instance['dropdown'] ? '1' : '0';

  • הוסיפו מתחת כל אחת מהשורות האלה את המקטע:

$ex = "1,2,3";

כאשר במקום 1,2,3 יש לכתוב את מספרי הקטגוריות שרוצים להוציא מהתצוגה.

  • לאחר מכן, אתרו (בערך סביב שורה 430) את השורה

$cat_args = array('orderby' => 'name', 'show_count' => $c, 'hierarchical' => $h);

והחליפו בשורה הזו

$cat_args = array('orderby' => 'name', 'show_count' => $c, 'hierarchical' => $h, 'exclude' => $ex);

  • שמרו את הקובץ והעלו אותו בחזרה לשרת (מומלץ תמיד לבצע גיבוי לקבצים לפני שמחליפים אותם).

  • זה הכל. חזרו לאתר שלכם, וראו שהקטגוריות שבחרתם לא מופיעות יותר בתפריט הוידג'טים הצדדי.

שתפו גם אחרים:
  • email
  • Print
  • RSS
  • Facebook
  • Twitter
  • LinkedIn
  • Google Bookmarks
  • Live
  • PDF
  • MySpace
  • del.icio.us
  • Digg
  • Technorati
  • Yahoo! Bookmarks
  • Yahoo! Buzz
  • Add to favorites

12 תגובות »

  • חנית הגיב:

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

    פתרון אלגנטי יותר הוא להתקין תוספ phpexec ופשוט להשתמש בפקודה wp_list_categories עם הפרמטר exclude

  • חזקי הגיב:

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

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

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

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

    שאלה: ערכת העיצוב שלי, היא ברירת המחדל של וורדפרס, עם שינויים בהתאמה אישית. מה עושים כדי שהיא לא תידרס, בעת עדכון המערכת?

  • חנית כהן הגיב:

    חזקי, הפתרון הוא פשוט.
    שנה את שם הספריה מ-defult למשהו אחר ואז ערוך את הקובץ style.php ושנה בו את שם הערכה.

  • חזקי הגיב:

    תודה רבה (וואו זה היה מהר).
    אנסה זאת בגירסאות העידכון הבאות, (8.4 עושה בעיות בעידכון אוטמטי).

  • חזקי –
    שים לב רק לסיומת של הקובץ שצריך לערוך כדי לשנות את הערכה – style.css
    כמובן כמו שחנית כתבה צריך לשנות גם את שם הספרייה, ובתוך הקובץ, בשורה השנייה, לשנות למשהו אחר את שם הערכה, שם מופיע הכיתוב:
    Theme Name: ברירת המחדל (וורדפרס בעברית)

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

  • יצחק הגיב:

    אפשר לקבל המלצה על תוסף טוב שעושה את העבודה, מבלי לשנות דבר בקוד.

  • @יצחק, אתה יכול לבדוק את התוספים האלה –
    Advanced Category Excluder
    Contextual Widgets

    פיתרון טוב נוסף הוא זה שכתבה חנית בתגובה לפוסט הזה – להתקין את התוסף phpexec, שמאפשר כמו תיבת טקסט רק שאפשר גם לחריץ פקודות PHP בתוכה, ולהשתמש בפקודה wp_list_categories עם הפרמטר exclude

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

    משהו שמסביר מה זה הקטגוריה הזאת וכאלה

    תודה מראש
    גיא

    • בממשק הניהול של וורדפרס יש בתפריט הקטגוריות אפשרות להזין תיאור לכל קטגוריה.

      הפונקציה get_categories מחזירה מערך של אובייקטי הקטגוריות, וניתן בעזרתה לעבור על האובייקטים ולהציג את התיאור בצורה פשוטה למדי, ולעטוף את זה ב-CSS כדי לעצב איך שרוצים שזה יראה.
      עוד על הפונקציה הזו בקודקס, בתחתית העמוד שם יש דוגמה לקוד שמציג תיאור יחד עם הקטגוריה.
      http://codex.wordpress.org/Function_Reference/get_categories

      לגבי תמונה לקטגוריה –
      כברירת מחדל המערכת לא תומכת בזה, אבל יש כמה תוספים שעושים את זה.
      או שאפשר להוסיף קוד שיעשה את זה, למשל משהו בסגנון כזה –
      http://www.jtpratt.com/very-easy-wordpress-theme-hack-show-category-images/

  • בניית אתרים web הגיב:

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

    • זה פוסט מאוד ישן מ2009.. היום לא הייתי ממליץ בשום אופן לגעת בקבצי ליבה ולשנות אותם. מזמן לא בדקתי את הוידג'ט, יכול להיות שיש לו פיצ'ר כזה כבר ללא תוסף, או שאפשר לכתוב פילטר לקובץ הפונקציות של התבנית.

פיד RSS לתגובות בפוסט | טראקבק


הוסף תגובה

CommentLuv badge

TechnoCraft - פתרונות אינטרנט


אֶקְסְפֶּרִימֶנְט דוֹט אֶפֶס - וורדפרס, תוכן, טכנולוגיה ועוד כמה דברים - מופעל באמצעות WordPress | פתרונות אינטרנט