רשימת קישורים מופרדת בפסיקים

לוורדפרס יש פונקציה מובנית שמאפשרת לקבל רשימת קישורים ממשק הקישורים של המערכת.
הדבר היחיד שלא הצלחתי עד כה לעשות בעזרתה בקלות הוא רשימות המופרדות ב-פסיקים\נקודות\מקפים\משהו…

יש פתרון
הקוד לרשימת הקישורים הוא:

1
2
3
4
5
6
7
</p>
<div class="links">
<ul>
        < ? wp_list_bookmarks("title_li=&category=2"); ?>
    </ul>
</div>
<p>

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

הקוד שנקבל כתוצאה מהפונקציה הוא:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
</p>
<div class="links">
<ul>
<li><a href="http://art-blog.no-ip.info/newpress/blog/">ארתיום טונקיך</a></li>
<li><a href="http://www.dakars.info/">חנית כהן</a></li>
<li><a href="http://firefang.net/blog/">עמרי ידן</a></li>
<li><a href="http://tzafrir.net/">צפריר ריהן</a></li>
<li><a href="http://ranh.co.il/">רן יניב הרטשטיין</a></li>
<li><a href="http://blog.shemesh.biz/">שחר שמש</a></li>
<li><a href="http://www.my-paradox.net/">שרית עמר</a></li>
<li><a href="http://www.dontsmile.info">תום סלע</a></li>
</ul>
</div>
<p>

עכשיו נותר רק להוסיף את העיצוב (כן, כאן יתווספו לנו הפסיקים):

1
2
3
4
5
6
7
8
9
.links ul {
    list-style: none;
    margin: 0 0 1.5em 0;
    padding: 0;
}
.links ul li { display: inline; }
.links ul li:after { content: " , "; }
.links ul li:last-child:after { content: ""; }
.links a {color:#fff; font-size:13px; font-weight: normal;}

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

1
2
3
4
5
6
<div class="links">
    <ul>
        <li class="first"><a href="<?bloginfo('url');?>">דף הבית</a></li>
        < ? wp_list_bookmarks("title_li=&#038;category=2"); ?>
    </ul>
</div>

סימנו את האיבר הראשון בצורה יחודית ולכן ה-css ייראה כך:

1
2
3
4
5
6
7
8
.links ul {
    list-style: none;
    margin: 0 0 1.5em 0;
    padding: 0;
}
.links ul li { display: inline; border-right: 1px solid #f5f5f5;}
.links ul li.first { border-right: none;}
.links a {color:#fff; font-size:13px; font-weight: normal;}

הפתרון האחרון הוא תוכנתי:
נוסיף לקובץ functions.php את הפונקציה הבאה:

1
2
3
4
5
6
7
8
9
10
11
function mylinks($args, $sep) {
    $links=get_bookmarks($args);
    $first = true;
    foreach ($links as $link) {
        if ($first)
            $first=false;        
        else
            echo $sep;
        echo "<li><a href='".$link->link_url."'>".$link->link_name."</a></li>\n";
    }
}

עכשיו נקרא לה במקום הרלוונטי בתבנית:

1
2
3
4
5
<div class="links">
    <ul>
        < ? mylinks("category=2", ","); ?>
    </ul>
</div>

והעיצוב ייראה כך:

1
2
3
4
5
6
7
.links ul {
    list-style: none;
    margin: 0 0 1.5em 0;
    padding: 0;
}
.links ul li { display: inline;}
.links a {color:#fff; font-size:13px; font-weight: normal;}

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

6 תגובות על הפוסט “רשימת קישורים מופרדת בפסיקים

  1. למה לעבוד קל כשאפשר לעבוד קשה?

    function mylinks($args, $sep) {
    echo join($sep, get_bookmarks($args));
    }

  2. צילום מסך של התוצאה הסופית היה יכול לעזור…

    (בכל מקרה אני כבר יישמתי – ועובד נהדר!)

    תודה

  3. פינגבאק: טיפ וורדפרס: להוסיף קו מפריד בתפריט עמודים או הקטגוריות | אֶקְסְפֶּרִימֶנְט דוֹט אֶפֶס

כתיבת תגובה

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

*


: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>