קיצורי דרך בוורדפרס

לוורדפרס יש מנגנון מובנה בשם shortcode המנגנון הזה נכנס החל מגרסה 2.5

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

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

ויש עוד אינסוף דוגמאות.

למה הכוונה ב-shortcode?

מדובר על טקסטים מהצורה [הזו], כלומר השימוש בהם הוא בעזרת טקסט בתוך סוגריים מרובעים.

למעשה יש 4 סוגים של קיצורי דרך בהם וורדפרס תומכת:

  1. הפשוט – [shortcode]
  2. בעל הפרמטרים – [shortcode data='abc']
  3. בעל התוכן – [shortcode]data data data[/shortcode]
  4. המשולב – [shortcode data='abc'] bla bla bla[/shotrcode]

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

אז איך משתמשים?

ההגדרה בוורדפרס של קיצורי דרך שכאלו היא ממש פשוטה

1
2
3
4
5
function mypic($atts) {
    return <img src="http://example.com/wordpress/wp-content/uploads/2009/08/mypic.jpg" alt="my picture" />
}

add_shortcode('[pic]', 'mypic');

הקוד למעלה יוסיף את התמונה mypic.jpg בכל מקום בטקסט בו יופיע הקיצור [mypic]

דוגמה נוספת בעלת שימוש בפרמטרים:

1
2
3
4
5
6
7
function pic_shortcode($atts) {
    extract(shortcode_atts(array(
        'alt' =&amp;gt; 'none'
            ), $atts));
    return "<img src="my-url" alt="$alt" />\n";
}
add_shortcode('[pic]', 'mypic');

והשימוש:
[pic alt='my alter ego']

דוגמה לשימוש עם תוכן:

1
2
3
4
5
6
7
8
9
function pic_shortcode($atts, $content='') {
    extract(shortcode_atts(array(
        'alt' =&amp;gt; 'none'
            ), $atts));
    return "<img src="my-url" alt="$alt" />
<div class="
text-over">$content</div>
\n"
;
}
add_shortcode('[pic]', 'mypic');

והשימוש:
[pic]התוכן שלי[/pic]

דוגמאות מהחיים:

תמונות לפי נושאים

נייצר את הקיצור הבא:
[משחקים]

1
2
3
4
5
6
7
function games_shortcode($atts) {
    extract(shortcode_atts(array(
        'alt' =&amp;gt; 'none'
            ), $atts));
    return "<img src="my-url" alt="$alt" />\n";
}
add_shortcode('[משחקים]', 'games_shortcode');

זה למעשה זהה לגרסה הראשונה שראינו
אבל מה אם יש לנו מספר נושאים שכאלו ?
הנה הפתרון
[subject type='משחקים']

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
function subject_shortcode($atts) {
    extract(shortcode_atts(array(
        'type' =&amp;gt; 'none'
            ), $atts));
    switch ($type) {
        case 'משחקים':
              $url='games-image-url';
              break;
        case 'עבודה':
              $url = 'work-image-url';
              break;
        case 'none':
              $url = '';
    }
    if (is_empty($url))
        return '';
    else
        return "<img src="$url" alt="$alt" />\n";
}
add_shortcode('[subject]', 'subject_shortcode');

הוספת מודעות גוגל

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function adsense_shortcode( $atts ) {
    extract(shortcode_atts(array(
        'format' =&amp;gt; '1',
         ), $atts));

    switch ($format) {
        case 1 :
            $ad = '<script type="text/javascript"><!--mce:0--></script>
              <script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"><!--mce:1--></script>'
;
          break;
    }
    return $ad;
}

add_shortcode('adsense', 'adsense_shortcode');

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

עוד טקסטים בנושא:

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

5 תגובות על הפוסט “קיצורי דרך בוורדפרס

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

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

  2. פינגבאק: wp-tricks » להשתמש ב-shortcodes בכל מקום

כתיבת תגובה

האימייל שלך לא יוצג באתר. (*) שדות חובה מסומנים

*


:mrgreen::|:twisted::arrow:8O:):?8):evil::D:idea::oops::P:roll:;):cry::o:lol::x:(:!::?:

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