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

פילטר לשינוי הטקסט של התגית more

17 בפברואר 2010 | מאת רמי | 2 תגובות | תגיות: , , , , ,

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

טיזרים

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

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

איך יוצרים טיזרים

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

הכפתור של הפיזט מוסיף את התגית לפוסט

הכפתור של הטיזר מוסיף את התגית לפוסט

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

שינוי הטקסט בסוף הטיזר

דרך ראשונה

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

<!--more Click here to continue.-->

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

דרך שנייה

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

the_content( 'Click here to continue.' );

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

the_content( '<img src="http://www.wp-tricks.co.il/more.png" alt="" />' );

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

דרך שלישית

מאז גרסה 2.8 קיימת דרך חדשה לשינוי הטקסט בעזרת פילטר ייעודי בשם the_content_more_link שמטפל בכל קבצי התבנית מבלי שיהיה צורך לשנות אותם. כדי להפעיל את הפילטר יש להוסיף את הקוד הבא לקובץ functions.php של ערכת העיצוב:

function new_more_link( $more_link, $more_link_text ) {
    return str_replace( $more_link_text, 'Click here to continue.', $more_link );
}
add_filter( 'the_content_more_link', 'new_more_link', 10, 2 );

למידע נוסף בטראק, ראו טיקט 9711.

עיצוב התגית

אחרי ששיניתם את הטקסט, באפשרותכם לעצב את התגית בעזרת CSS. פשוט הוסיפו את הקוד הבא לקובץ style.css של ערכת העיצוב:

.more-link {
}

מאת רמי

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

2 תגובות »

  • ראובן קרסיק כותב :

    אצלי בערכת הנושא אני תמיד משתמש ב

    the_content( 'המשך הכתבה...' );

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

  • רמי כותב :

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

הוסף תגובה !

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

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