Hinweis: Dies ist mein privater Blog.
Für Software-Entwicklung und Refactoring siehe weigandtlabs.de.

wL Social Buttons 0.3

Heute gibt es wieder ein Update zum WordPress-Plugin wL Social Buttons, dass die Share-Buttons von einigen sozialen Netzwerken datenschutzfreundlich und mit Zähler einbindet.

Folgende Änderungen sind neu:

  • CSS wurde in eine eigene CSS-Datei ausgelagert
  • JavaScript wurde in eine eigene Datei ausgelagert
  • der Flattr-Button wurde neu aufgenommen (Benötigt das Flattr Plugin)
  • der Google +1 Zähler wurde verbessert


Die CSS und JS-Datei sind über die Action-Hooks wp_print_styles und wp_enqueue_scripts integriert. Damit lassen sie sich bei Bedarf wieder durch ein Plugin entfernen, wenn man eine zusammengefasste CSS-Datei für alle Plugins und dem Theme verwenden möchte.

Der Flattr-Button kann jetzt auch integriert werden, wenn das Flattr Plugin installiert und aktiviert ist. Hier sollte darauf geachtet werden, dass in den Einstellungen des Flattr-Plugins der statische kleine Bild-Button gewählt wird. Der Flattr-Button hat bisher keinen Zähler.

Da das Auslesen des Google +1 Zählers immer noch etwas Schwierigkeiten bereitet, wurde die Funktion von Oliver integriert. Da diese aber für einen längeren Seitenaufbau sorgen kann, kommt die Funktion nur zum Einsatz, wenn ein angemeldeter Benutzer (zB. der Administrator) die Seite aufruft. Damit werden Besucher möglichst nicht verschreckt.

Download wL Social Buttons 0.3

Geplant ist außerdem noch:

  • Buttons automatisch via filter-Hook (the_content) integrieren lassen
  • manuelles Sortieren der Buttons
  • Eine Einstellungs-Seite mit folgenden Optionen:
    • Auswahl, welche Buttons angezeigt werden sollen
    • Facebook Anwendungs-ID
    • Twitter-Name für den via-Parameter für Twitter
    • Buttons über oder unter Content anzeigen lassen?
    • Buttons in Archiven anzeigen lassen?
  • Zeitlich versetztes Abfragen der Zähler, angepasst an das Veröffentlichungs-Datum des Artikels, zB:
    • Innerhalb 48h => Alle 15 Minuten abfragen
    • innerhalb 7 Tage => alle 2 Stunden abfragen
    • älter als 7 Tage => alle 24 Stunden abfragen
  • Auswahl zwischen großen oder kleinen (22px) Buttons

Durch das zeitlich versetzte Abfragen wird verhindert, dass der Blog zu sehr ausgebremst wird, wenn man mal durch das Archiv blättert. Außerdem werden sich die Zähler nach einer Woche wahrscheinlich nur noch selten ändern.

Das Plugin befindet sich unschwer erkennbar immer noch in der Entwicklung. Aber ich wünsche trotzdem viel Spaß beim Ausprobieren/Forken. Wer Verbesserungs-Vorschläge hat oder Fehler findet, kann mir diese gerne über die Kommentar-Funktion mitteilen.


Beitrag veröffentlicht

in

,

von

Kommentare

11 Antworten zu „wL Social Buttons 0.3“

  1. Avatar von Oliver

    Die entfernten Abfragen sollten in eine extra Funktion, damit es übersichtlicher und sicherer wird.

    function get_content($url)
    {
    global $connectionTimeout;

    if(function_exists(‚curl_init‘))
    {
    $ch = curl_init();
    curl_setopt_array($ch, array(
    CURLOPT_URL => $url,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_TIMEOUT => $connectionTimeout,
    CURLOPT_CONNECTTIMEOUT => $connectionTimeout,
    ));
    $rawData = curl_exec($ch);
    curl_close($ch);
    }
    else if(ini_get(‚allow_url_fopen‘))
    {
    $rawData = @file_get_contents($url);
    }
    else
    {
    $rawData = “;
    }
    return $rawData;
    }

    1. Avatar von Oliver

      Ach und ich seh gerade, du hast die erste Version meiner Funktion eingebaut. Die zweite ist definitiv schneller. 😉

      1. Avatar von Oliver

        Die Funktionen wlsb_get_plugin_url wird nicht benutzt, kann also raus und die Funktion wlsb_get_plugin_dir gibt es schon in WordPress.

        plugins_url(’style.css‘, __FILE__);

        Wenn Du es so lassen willst, kannst Du es an den Post mit ob_start und ob_get_contents anhängen. 🙂

      2. Avatar von Artur

        Ich habe deine Mail mit der verbesserten Funktion leider zu spät gelesen. Zu dem Zeitpunkt hatte ich bereits den Code aus deinem Kommentar eingebaut.
        Bei nächsten Update baue ich die verbesserte Funktion ein. Vielen Dank dafür.

    2. Avatar von Artur

      Danke für deine Hilfe. 🙂
      Dieser Schritt wird sowieso sinnvoll, wenn ausgewählt werden kann, welche Buttons angezeigt werden sollen.

  2. Avatar von intoxi-hd

    Hi,
    vielen Dank für dein Plugin! Ich würde mir für die nächste Version auch noch die Auswahl zwischen den großen und kleinen Buttons wünschen. Und ich wollte dir sagen das der tag nicht geschlossen ist, es muss folgendes ins template implementiert werden:

    <?php do_action('wlsb'); ?>

    In der Pluginbeschreibung derzeit endet der tag aber nach dem Semikolon und führt damit beim Einbau zum Fehler 😉
    Grüße

    1. Avatar von Artur

      Hi und danke für den Hinweis.
      Scheinbar interpretiert WordPress das ?> und lässt den drauf folgenden Text wegfallen. Normalerweise lautet der komplette Hinweis:

      Fügt die Buttons von Facebook, Twitter und Google+ Datenschutzfreundlich ein. Verwende <?php do_action('wlsb'); ?> an der Stelle im Theme, wo du die Buttons haben möchtest.

      Zu deinem Wunsch: Grundsätzlich dürfte das kein Problem sein. Dazu müssen aber erst einmal die großen Button in CSS und mit Images nachgebaut werden. Dazu fehlt mir im Moment die Zeit.
      Ich wäre aber für jede Hilfe dankbar.

      1. Avatar von intoxi-hd

        Hey,
        also ich weiß nicht ob ich Zeit und Fähigkeiten finde, aber ich kann es gerne mal versuchen, also das mit den großen Buttons.
        Und das ist ja komisch das WP das einfach weglöscht mhh naja ich habe es ja trotzdem hinbekommen 🙂

      2. Avatar von Artur

        Das wäre toll. Meld dich einfach wieder, wenn du es hinbekommen hast. Danke

  3. Avatar von pixelsophie

    Hi,
    Du das mit den Buttons ist mir noch nicht gelungen. Aber mal was anderes könnte man den Twitter Button noch dahin gehend anpassen, das er deutsch spricht und noch am Ende des Tweets via @twitteraccount mit ausgibt?

  4. Avatar von Robert

    Juhuu – Endlich ne eigene CSS – DANKE DANKE DANKE