WordPress-Plugin: Extended Blogroll

Basierend auf dem Blogroll Widget with RSS Feed Plugin von Crazy Girl habe ich mich an die Arbeit gemacht und diese doch sehr interessante und gelungene Umsetzung einer Blogroll weiter zu vereinfachen.

Geblieben ist dem eigentlichen Plugin das Sidebar-Widget. Überarbeitet ist die Anzeige der Blogroll in Artikeln und / oder Seiten. Musste man bisher mühsam PHP-Code in das Template einschleusen, wird dies nun durch das Hinzufügen des [ blogroll] -Shortcodes (ohne Leerzeichen) erledigt. Dadurch ist es möglich die Blogroll an jeder gewünschten Position auf jeder Seite seiner Wahl zu präsentieren und es entfällt wie gesagt, der Abändern des Templates.

Dafür habe ich dem Plugin eine weitere Backend-Seite spendiert, um die Optionen für den Shortcode einstellen zu können. Diese sind im Prinzip die Selben wie schon beim bekannten Widget. Zu finden sind diese Einstellungen direkt im Backend im Menü “Blogroll”.

Installation:

Manuelle Installation:

  • Plugin herunterladen (lokal / WordPress-Verzeichnis)
  • Plugin entpacken
  • Plugiverzeichnis “extended-blogroll” nach” /wp-content/plugins/” kopieren
  • Plugin im Backend aktivieren

Automatische Installation:

  • Plugin in der Pluginverwaltung des Blogs suchen.
  • Wenn gefunden einfach auf “installieren” klicken.

Changelog:

Version 1.1.5 (09. Februar 2011)

  • Fix: Sidebartitel wird nicht mehr angezeigt, sollte dieser leer sein.

Version 1.1.4 (06. Februar 2011)

  • Fix: Warnung unterdrückt, wenn Feeds nicht abgerufen werden können, da temporär nicht erreichbar (Danke an Chaosweib)

Version 1.1.3 (23. Januar 2011)

  • Fix: CSS angepasst für ältere Themes

Version 1.1.0 (30. Dezember 2010)

  • Test: Getestet für WordPress 3.1 (getestet unter WP 3.1-RC1)
  • Neu: Flattr-Button eingebaut Smilie: :-)

Version 1.0.3 (07. September 2010)

  • Veraltete Funktion für Sprachunterstützung ersetzt

Version 1.0.2 (03. September 2010)

  • Überflüssige Funktion aus dem Code entfernt
  • Massive Codebereinigung

Version 1.0.1 (01. September 2010)

  • Schnell noch einen kleinen Bug beim Shortcode behoben. Danke Chaosweib fürs melden.

Version 1.0.0 (01. September 2010)

  • Initialversion
  • Existierenden Code optimiert
  • Shortcode hinzugefügt
  • Backend für Shortcode hinzugefügt

Werbung

iPhone 4 Case Aquatus

Über H.-Peter Pfeufer

Ich bin Webentwickler/ -programmierer aus Leidenschaft, WordPressbegeistert und ab und an auch mal ein netter Mensch.
Vor allen schreibe ich über alles was mit den Themen Webentwicklung/ -programmierung und WordPress zu tun hat. Nebenher auch mal einige Gedanken zu allgemeineren Themen.

Kategorie(n): WordPress-Plugins
Tags: , ,
Setze ein Lesezeichen auf den Permalink.

39 Antworten auf WordPress-Plugin: Extended Blogroll

    Chaosweib sagt:

    D A N K E !!!! *knutsch*

  1. [...] heute endlich ist das Gefummel da oben nicht mehr nötig. Der weltbeste PPfeufer hat ein neues Plugin geschrieben, eins das mit [Shortcode] [...]

  2. [...] schreibt sie, dass es von nun an nicht mehr nötig ist den Code in der page.php zu ändern. Der PPfeufer hat sich nämlich dem Plugin von Tanja angenommen und es überarbeitet. Von nun an reicht es [...]

    CocaineRodeo sagt:

    Ganz ganz tolles Plugin! Funktioniert super geschmeidig bei mir.
    Dickes Danke! Smilie: :)

    Andi sagt:

    Feine Sache das Plugin =)
    Funzt ansich auch – nur hab ich bei mir noch n leichtes Layout-Problem – magst vllt. mal nen Blick drauf werfen?

      Andi sagt:

      Heureka – ich hab den Fehler selber gefunden:

      Korpus Delicti war in diesem Fall WP-Minify – hier muss einfach in den Einstellungen unter CSS files to exclude from minify (line delimited) die CSS Datei des Plugins angegeben werden (also schlicht extended-blogroll.css eintragen) und schon stimmt das Design Smilie: ;-)

      @Chaosweib: Wenn ich mir deine Blogroll anschau, bist du wohl auch davon betroffen Smilie: ;)

  3. [...] und für gut befunden hab, und darum natürlich spontan mal eingebaut ;D (Update: bei H.-Peter Pfeufer gibts ein noch tolleres [...]

    Chaosweib sagt:

    Ich hab aber kein WP-Minify installiert. Peter sagt bei meinem Theme fehlt die Hälfte. Was denkst Du könnte ich probieren? Ich mach mal ICQ an. Smilie: ;-)

  4. @Dunkelwesen:
    Ich nutze auch WP-Minify und habe die CSS nicht ausgetragen. Den Cache neu aufbauen lassen hätte durchaus genügt.

    @Chaosweib:
    Das Einfachste wäre ein komplettes Theme zu benutzen. In Deinem Theme fehlt schlichtweg die gesamte #main-Sektion im Code. Diese kann man natürlich per hand nachtragen, aber dazu müsste man diverse Dateien anpassen und auch das CSS teilweise neu schreiben, also zu viel Aufdwand.

      Andi sagt:

      Hatte ich eigentlich – habs auch eben nochmal probiert: exclude rausgenommen, cache geleert – ohne Erfolg Smilie: :-(
      Naja – geht ja auch so – die 5 Zeilen in der css tun nicht weh, wenn die nicht gecached werden Smilie: :-)

    Sumit sagt:

    Tag auch

    Freut mich dass die Blogroll auf einer seperaten Seite nun möglich ist.
    Leider steh ich etwas aufm Schlauch!

    Ich hab die Installation wie hier angegeben ausgeführt. Dann in andren Blogs gesehen dass man “[ Blogroll ]” ohne Leerzeichen irgendwo einfügen muss. Das sollte vllt auch hier in die Anleitung mit reingenommen werden. Jedenfalls hab ich dann eine neue Seite erstellt und den Shortcode eingefügt.
    Leider wird nichts angezeigt.
    Die Blogroll ist im Adminbereich unter “Links” erstellt und in verschiedene Kategorien unterteilt. Zieht dein Plugin die Links aller Kategorien an?
    Hier solls hin:
    http://www.sumit-online.de/blogroll/

    Jeder rat ist very appreciated! Smilie: :-)

    Gruß
    Sumit

  5. Hallo Sumit,

    Das mit dem Shortcode steht hier im Artikel.

    …wird dies nun durch das Hinzufügen des [blogroll]-Shortcodes erledigt…

    Auch ist zu beachten, dass der Shortcode Case-Sensitive ist, das heißt, es wird zwischen Groß- und Kleinschreibung unterschieden. Mit einem großen “B” wird das also nichts.
    Die Seite die Du hier angegeben hast, zeigt nicht dieses Blogroll-Plugin, sondern ein anderes, mit dem ich Dir nicht helfen kann.

    Die Blogroll ist im Adminbereich unter “Links” erstellt und in verschiedene Kategorien unterteilt. Zieht dein Plugin die Links aller Kategorien an?

    Ja, eine Unterscheidung nach Kategorien ist nicht vorgesehen, vielleicht kommt das irgendwann mal, sofern ich darin einen Sinn erkenne Smilie: :-)

    Leider wird nichts angezeigt.

    Da dieses Plugin seine Informationen aus den hinterlegten Daten zieht, sollten diese auch vollständig sein. Also auch die Adresse zum jeweiligen RSS-Feed der Seite eingetragen. Ist dieser nicht vorhanden, wird der Eintrag schlichtweg übergangen. Kann deswegen kein Eintrag angezeigt werden, solltest Du eine Hinweismeldung erhalten, die Dich darauf aufmerksam macht.

    Kalliey® sagt:

    Servus!

    Ich nutze das Plugin auf meinem Blog, da funzt das auch prima.
    Bei meiner Frau hingegen funktioniert das nur wenn man KEIN Screenshots erstellen lässt.

    http://www.melvenue.de/blogroll/

    Woran kann das denn liegen? Anfangs hat das noch funktioniert, dann auf einmal nicht mehr. Nur noch mit der Option “keine Bilder”.

    Hast Du da eine Idee?

    Viele Grüße

  6. Holla,

    Es wäre schön zu erfahren, was genau nicht funktioniert. Also eine etwas detailliertere Beschreibung wäre wirklich hilfreich.

    Kalliey® sagt:

    “Bei meiner Frau hingegen funktioniert das nur wenn man KEINE Screenshots erstellen lässt.”

    und

    “Nur noch mit der Option “keine Bilder”.

    Bei der Option mit Screenshots kommt gar nichts, bei der Option ohne Bilder funktioniert es normal.

  7. Ok, wenn es “anfangs” noch funktioniert hat, was hat sich in der Zwischenzeit geändert?

    Änderungen am Server?
    Änderungen an WordPress?
    Wordpress-Version?
    Änderungen am Plugin selbst?
    Neue Plugins installiert?
    Neues Theme?

    Jürgen sagt:

    Hallo,
    ich bin erst seit kurzem bei WP und habe vorhin dein Plugin installiert. Vorher hatte ich die Blogroll als Links.
    Nun habe ich das Widget der Extended Blogroll in die Sidebar geschoben und mal 2 URL´s aus der bestehenden Blogroll mit der Feed-Adresse versehen. Leider kann ich nicht sehen. Bin ein rechter Laie und hoffe auf Hilfe. Wäre nämlich klasse, wenn man die letzten Beiträge der Blogroll sehen könnte.

    LG Jürgen

  8. Holla,

    Zu erst einmal gilt:

    Stelle sicher, dass du die richtigen RSS Adressen zu deinen Blogroll Links (im Feld RSS-Adresse) eingegeben hast. Ansonsten funktioniert dieses Plugin nicht. Es wird nichts angezeigt, wenn eine falsche oder keine RSS Adresse eingegeben wurde!

    Wenn kein gültiger RSS-Feed im dazugehörigen Feld eingetragen ist, wird auch nichts angezeigt.

    Dann sollte natürlich auch die richtige Kategorie ausgewählt sein. Oder die Wahl einfach auf “Alle” stellen, dann macht das Widget keine Unterschied zwischen den Kategorien.

    Jürgen sagt:

    Oh, wie gesagt, ich bin noch völliger Laie. Wenn ich über den Admin-Bereich die Links der bisherigen Blogroll aufmache, gibt es kein Feld für RSS – nur URL. Bin immer noch ratlos. Kategorie “Alle” habe ich angeklickt.

  9. Holla,

    Scroll einfach mal nach unten, da gibt es ein Feld, das sich da “Fortgeschritten” nennt. In diesem Feld sind drei Bereiche. “Bild-Adresse“, “RSS-Adresse” und “Notizen“.

    Bei RSS-Adresse trägst Du den Link zum RSS-Feed des jeweiligen Links ein. Hier ein Bild zur Verdeutlichung des Sachverhalts.
    http://blog.ppfeufer.de/wp-content/uploads/2010/10/blogroll-links.jpg

    Zitterkopf sagt:

    Hallo Peter…
    …, hab mir nun dein Blogroll Plugin in meinem neuem Blog auch mal installiert und habe dazu 3 Fragen ….

    1. Schau mal Bitte in meine Blogroll, da stimmt etwas nicht mit der Anzeige (vtl. kannst du mir sagen, wie ich dieses kleine Problem beheben kann)
    2. wie bekommt man eine Trennlinie zwischen die einzelnen Einträge
    3. kann es sein, das die Ladezeiten beim Aufruf dieser Blogroll “extrem” lang sind (so wie hier z.b.)

  10. Hallo Zitterkopf,

    Zu 1.:
    Dein Theme ist nicht absolut WordPress-konform. Da fehlt einiges an Struktur, woran sich das CSS orientiert.

    Zu 2.:
    Einfach mittels CSS.

    1
    li.blogrollitem {border-bottom: 1px solid #000;}

    Zu 3.:
    Ja, da er bei jedem Laden ja die RSS der eingetragenen Blogs abholt und verarbeitet. Das ist natürlich ein kleiner Nachteil bei einer größeren Blogroll.

    Zitterkopf sagt:

    Ahh, OK und schon mal vielen Dank. Werd mal wie ich das nun umsetzte.

  11. Update
    Version 1.1.4

    In dieser Version wird ein kleiner Bug behoben, der bisher dafür gesorgt hat, dass eine Warnmeldung ausgegeben wurde, sofern ein Feed nicht abrufbar war. Diese Meldung wird nun nicht mehr ausgegeben.

    Beispiel dieser Warnmeldung:

    Warning: file_get_contents(http://blog.de/feed/) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.1 500 Internal Server Error in /www/htdocs/verzeichnis/zu/wordpress/wp-content/plugins/extended-blogroll/extended-blogroll.php on line 736

    Diese ist sehr unschön anzusehen und bedeutet nur, das der Feed nicht erreichbar ist. Also wurde sie unterdrückt.

    Ich danke für den Hinweis dem Chaosweib.

    iSquirtink sagt:

    Hi H.-Peter Pfeufer. I have a small issue. How to enable a description to show when I mouse over my Blogroll link? If you visit my site the blogroll link when mouse over (Lucys6) doesn’t show a little tip box with the description. Thank you take care.

  12. Hi Peter,
    I’ve been working with your plugin for a week or so as I’m moving across from Blogger to WordPress. I’ve added into the function extended_blogroll_output so that it returns the date updated of the listed item.

    1
    2
    3
    $dateupdated = '<br />' .niceTime($item->get_local_date());
    $return .= '<p style="margin-left:' . $margin . 'px;"><a class="blogrollfeedlink"' . $target . $rel . $link . $cite . $dateupdated . '</p>';
    </a></p>

    Where niceTime is defined as:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    function niceTime( $d ) {
      $d = ( is_string( $d ) ? strtotime( $d ) : $d ); // Date in Unix Time
      $delta = time() - $d;

      if( $delta < 60 )
        return ( $delta ).' seconds ago';
      if( $delta < 120 )
        return 'about a minute ago';
      if( $delta < 3600 )
        return (int) ( $delta / 60 ).' minutes ago';
      if( $delta == 3600 )
        return '1 hour ago';
      if( date( 'Ymd' ) == date( 'Ymd' , $d ) )
        return (int) ( $delta / 3600 ).' hours ago';
      if( $delta < 86400 )
        return 'Yesterday at '.date( 'g:ia' , $d );
      if( $delta < 259200 )
        return date( 'l \a\t g:ia' , $d );
      if( date( 'Y' ) == date( 'Y' , $d ) )
        return date( 'F, jS \a\t g:ia' , $d );
      return date( 'j F Y \a\t g:ia' , $d );
    }
    • Hi Andy,

      Nice function. But you shoul’d rename it to extended_blogroll_nicetime to prevent double declarations, the name nicetime is used by other plugins e.g. WordBooker.

      I think I will add it to the next version of this plugin Smilie: :-)

      Cheers

    Dahn Jacob sagt:

    Hi. I would love to use this plug-in. Is there a way or a shortcode that would separate the link categories and/or maybe exclude some? I wanted to make a page for each category. If that’s possible, hope you can send me an e-mail. Thanks.

    • Nice idea, I’ll write it on my todo-list Smilie: :-)

        Dahn Jacob sagt:

        Thanks for the reply. I am using it now. Hope you do update this great plug-in.

        Anyway, I was wondering also if you are using a wordpress plug-in regarding the comment author profile, I mean like the facebook and twitter icon showing below the avatar? Or I have to edit my theme’s template?

      • Hi Dahn,

        [...] like the facebook and twitter icon showing below the avatar [...]

        Its not a plugin, it is a function I build into the theme.

        Dahn Jacob sagt:

        I see. That is really fascinating. If it wouldn’t be too much to ask, I’d like to know how can I implement such in my blog. Thanks again.

      • Hi Dahn,

        I wrote a little post how to extend the contact fields. Take a look here Smilie: :-)

        Ok, its in german, but I guess you will be able to find the functions to add to your theme.

    Frank sagt:

    Hallo,

    klingt nach dem, was ich gesucht habe, werde ich gleich mal ausprobieren. Smilie: :-)

    Viele Grüße
    Frank

  13. [...] Man benötigt dazu nur ein Plugin. Es trägt den Namen Extended Blogroll Plugin und wurde von H.-Peter Pfeufer auf der Basis von  Blogroll Widget with RSS Feed Plugin von Crazy Girl [...]

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

*

 

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>