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

להסיר מאפיינים שונים מסוגי פוסטים

24 בדצמבר 2011 | מאת רמי | 9 תגובות | תגיות: , ,

היום נלמד על הפונקציה השימושית remove_post_type_support() אשר מאפשרת לנו להסיר מאפיינים שונים מהתכנים שלנו. במקום ליצור תכנים מותאמים אישית (Custom Post Types), אפשר להסיר מאפיינים מיותרים מהפוסטים/עמודים כך שיתאימו לצרכים שלנו.

הקוד

על מנת לשנות את הפונקציונאליות של הפוסטים (או של העמודים) יש להוסיף את הקוד הבא לקובץ function.php בערכת העיצוב שלכם:

function change_post_support() {
    remove_post_type_support( 'post', 'excerpt' );
}
add_action( 'init', 'change_post_support' );

הסבר

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

רשימת המאפיינים כוללת:

  • title – כותרת
  • editor – תוכן
  • excerpt – תקציר
  • author – מאת
  • thumbnail – תמונה ראשית
  • revisions – היסטוריית גרסאות
  • comments – תגובות
  • trackbacks – טראקבקים
  • custom-fields – שדות מיוחדים
  • page-attributes – מאפייני עמוד (עמוד אב, תבנית, סדר)

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

מאת רמי

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

9 תגובות »

  • נעמה כותב :

    אתה יכול לתת דוגמה ליתרונות של זה לעומת להעלים אלמנטים בעזרת הסטייל? (display:none)

    תודה!

  • רמי כותב :

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

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

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

    אלה היתרונות הראשונים שעלו לי בראש. הם לא היחידים. יש עוד הרבה.

  • נעמה כותב :

    לא חשבתי על ענין זמן טעינת העמוד. אחלה, תודה.

  • לירן גלר כותב :

    ב"ה

    לכבוד רמי היקר,

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

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

    בנוסף, בהקשר זה, אשאל גם האם לדעתך הכנת מספר תבניות פוסט מותאמות אישית (ע"י עריכת מכלול קטעי הקוד שבהם ושימוש בתוסף Single Post Template) היא דרך נכונה בהקמת בלוג/אתר לאורך זמן?

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

    ברוך ומצליח תהיה!

  • רמי כותב :

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

    לשאלותייך:

    1. זה תלוי. לדוגמא, כשאתה מסיר מהתבנית את התקציר (the_excerpt), אתה משפיע רק על התצוגה באתר (FrontEnd). התקציר עדיין מופיע בממשק הניהול של וורדפס (BackEnd) והמערכת שומרת את השדה תקציר במסד-הנתונים. בדרך שהצעתי, אנחנו מסירים לחלוטין את האפשרות להוסיף/להסיר/לערוך תקצירים. יתרונות שיש לשיטה זו קשורים לזמן טעינת האתר ושאילתות במסדי נתונים.

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

  • Zvika כותב :

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

    צביקה.

  • רמי כותב :

    צביקה, תודה על המחמאה, שמח לשמוע שעזרתי לך.

    כתבתי פוסט נפרד על הסרת היסטוריית הגרסאות והגבלת מספר הגרסאות שישמרו במערכת. כדי להפסיק לשמור גרסאות שים בקובץ function.php את הקוד הבא:

    function change_post_support() {
        remove_post_type_support( 'forum', 'revisions' );
    }
    add_action( 'init', 'change_post_support' );
  • תירוש כותב :

    הי רמי,

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

    תודה מראש 🙂
    תומר תירוש

  • רמי כותב :

    תומר תירוש,

    1. המאפריינים כן מופיעים בעמוד רגיל.

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

    3. זה בטוח לא יכול להזיק.

הוסף תגובה !

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

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