Blogkultur, Internes:

Die mysteriöse Blogrolle

In den vergangenen Tagen habe ich vermehrt Anfragen zu der Blogrolle (siehe rechts unten in der Sidebar) erhalten. Wie mache ich das? Wie baue ich das? Wieso sind die per Zufall drin? Wieso weshalb warum?! Wer nicht fragt bleibt dumm. Und daher möchte ich der Öffentlichkeit natürlich Rede und Antwort stehen. Ich gebe hiermit das Geheimnis preis: Das ist der Code!

<?php
$aBLOGROLL = array(
  "Telagon Sichelputzer" => "http://www.sichelputzer.de",
  "LoungeMix" => "http://loungemix.de"
 );
$aBLOGROLL_RAND = array_rand($aBLOGROLL, 22);
foreach ($aBLOGROLL_RAND as $KEY => $VAL) {
  echo "<li><a class=\"blogroll\" href=\"";
  echo $aBLOGROLL[$aBLOGROLL_RAND[$KEY]];
  echo "\">";
  echo $aBLOGROLL_RAND[$KEY];
  echo "</a></li> ";
}
?>

Das ganze Snipplet wird einfach mit einer include-Funktion aufgerufen. Sehr unsauber, aber dafür äußerst Effektiv, da keine Datenbankabfragen dafür gestartet werden und so insbesondere bei shared-hosting Providern für ein paar wertvolle Millisekunden sprechen. Freut euch - das ist hiermit mein erstes Open Source Snipplet für alle RSS-Süchtigen Blogrollbastler! Bitte erwähnt mein Blog auch ruhig mal bei euch… danke! ;)

10 Kommentare

  1. Zauberei…

    Seit wann sind denn includes unsauber? Oder meinst du, dass die Blogs von Hand eingetragen werden?

  2. Im Prinzip beides… doch eher der Array, denn dieser händische Array ist alles andere als perfekt… alles wirkt für mich eher wie PHP-back-to-the-roots von 2002 ;)

    Wobei sich ja alles eigentlich durch ein komplettes Plugin für Wordpress ersetzen lässt, was aus den Blogroll-Link Werten der Datenbank etwas zaubert. Doch dann hat man DB Last und und und und und…

  3. Erst mal danke für deine Mühe! ;-) Allerdings funktioniert das bei mir nicht. Es kommt immer diese Fehlermeldung:

    Warning: array_rand() [function.array-rand]: Second argument has to be between 1 and the number of elements in the array in /var/www/html/web53/html/wp-content/themes/default_de/sidebar.php on line 72

    Warning: Invalid argument supplied for foreach() in /var/www/html/web53/html/wp-content/themes/default_de/sidebar.php on line 73

    Was bedeutet das bzw. wo könnte das Problem liegen? Ich bin eben leider kein PHP-Fachmann… :-(

  4. Ach so na klar - die “22″ ist aus meinem Code - ich zeige in meiner Blogrolle in der Sidebar 22 URLs an. Wenn Du meinen Code übernimmst, hast Du im Array aber nur 2 Einträge (TS&LM). Füge mal 50 Einträge in den Array hinzu, nehme eine schönere Zahl statt 22 (oder einfach ohne den Zusatz) und alles ist gut. ;)

  5. Ah ok. Werde ich nachher ausprobieren. Scheint ja dann eine etwas umfangreichere Arbeit zu werden.

    Jetzt weiß ich dann auch, was mit der Aussage im ersten Kommentar gemeint ist.

    Danke für die Hilfe!

  6. [...] Telagon Sichelputzer: Random-Blogroll Mike hat einen Code für eine zufällige Blogroll-Auswahl geschrieben. Wenn ich Zeit habe, werde ich ihn auch bei mir einbauen… [...]

  7. Wieso einfach, wenn´s auch umständlich geht *g*

    Seit Version 2.1 verfügt WordPress über einen neuen Template-Tag: wp_list_bookmarks()

    Damit geht´s dann super einfach, eine dynamische BlogRolle zu erstellen.

    z.B. wp_list_bookmarks('categorize=0&orderby=rand&limit=22&title_li=0');

    erstellt eine BlogRolle mit 22 zufälligen Einträgen.

  8. Die Performance von 1 Array, 1 random Funktion und foreach-echo Statements ist wesentlich schneller als beim Auslesen aus der Datenbank - die Query-Summe steigt intensiv, wenn es über 450 Einträge in der Blogrolle sind. Bei 10-20 ist das unkritisch, aber sobald die Zahl der Verlinkungen steigt, geht’s mir gegen den Strich mit dem Speed ;)

  9. Kommt immer auf die Query an ;)

  10. [...] Über den Kommentar bei Mike habe ich jetzt eine sehr schöne Lösung für die Blogroll gefunden: [...]

Diesen Artikel kommentieren




Hinweis: Beachte bitte vor dem Absenden deines neuen Kommentars den entsprechenden Hinweis zu manuellen Trackbacks und zu Kommentaren mit werblichem Charakter.

Kopiere diesen Trackback Link in deine Blogsoftware um auf diesen Artikel hinzuweisen. Für die eigentliche Verlinkung zu diesem Artikel nutze den Permalink innerhalb deines Blogeintrages.

Du kannst auch den Kommentar-Feed nutzen um die Kommentare zu diesem Artikel zu verfolgen.


  • Über den Autor

    Mein Name ist Mike Schnoor und ich präsentiere dem frivolen Internetuser ein privat geführtes Medienblog. Die Themen siedeln sich zentral in der Medienwelt an: Public Relations, Marketing, Kommunikation, Web 2.0, Weblogs, Medien, TV, Radio und Print.

    Wer anderer Meinung ist, erreicht mich schnell über das Kontaktformular oder darf noch ein wenig weiter über alles lesen.

  • Äußerungen bei Twitter

  • Networking

    • XING
    • View Mike Schnoor's profile on LinkedIn
  • Flickr Bilder