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

wL Social Buttons 0.2

Ich habe ein wenig weiter an dem Plugin wl Social Buttons für WordPress gearbeitet. Neben der verkleinerten JS-Funktion (Danke an Oliver) und dem Entfernen einiger rudimentären Funktionen funktioniert jetzt auch endlich der Google +1 Counter. Dazu setze ich vorerst (zusätzlich zur bisherigen Funktion) auf die API von api.dm.tl, solange ich keinen besseren Weg gefunden habe. Die bisherige Funktion im SocialDataGrabber von macx scheint leider nicht zu funktionieren.

Auf diese neue API bin ich über diesen Artikel aufmerksam geworden. Der Dienst funktioniert zwar, aber ist schlecht bis gar nicht dokumentiert. Leider bietet der Dienst auch keinerlei Transparenz, mit der man die Funktionsweise und die Seriosität der Ergebnisse überprüfen könnte. Und man weiß nicht, ob die Webseite nicht von heute auf morgen abgeschaltet wird. Von daher bin ich noch ein wenig vorsichtig und werde mich weiteren Lösungen umsehen.

Das Plugin befindet sich weiterhin in der Entwicklung. Wer es aber ausprobieren oder forken möchte, kann es sich hier downloaden:

Download wl Social Buttons 0.2

Wenn ihr Ideen, Vorschläge oder Fehler habt, würde ich mich über einen Hinweis freuen.


Beitrag veröffentlicht

in

,

von

Kommentare

7 Antworten zu „wL Social Buttons 0.2“

  1. Avatar von Oliver

    Vorschlag:
    Du kannst das gesamte CSS rausnehmen und in eine externe Datei speichern und dann so laden:

    wp_register_style('wlsocial', plugins_url('style.css', __FILE__));
    wp_enqueue_style( 'wlsocial');

    <?php echo WLSB_PLUGIN_DIR; ?>/img/ kannst Du dabei gegen img/ tauschen.

    Das gleiche gilt für das Javascript, dass Du dann auch im footer laden kannst.

    wp_register_script( 'wlsocial', plugins_url('style.css', __FILE__), array(), false, true);
    wp_enqueue_script( 'wlsocial' );

    Ich bin jetzt nicht so der WordPress Fachmann, aber laut der Api müsste das funktionieren und Du hättest etwas mehr Ordnung. 🙂

    1. Avatar von Artur

      Werde ich aufnehmen. Allein schon deshalb, um später eine Möglichkeit offen zu lassen, mit der man alle CSS-Angaben der Plugins in einer Datei zusammenfassen kann. So kann dann später das CSS-File von wl Social Buttons mit wp_deregister_style() am Einbinden gehindert werden.

  2. […] klickt und erst jetzt kann man den entsprechenden Button klicken. Man benötigt also wie bei meinem WordPress-Plugin wL Social Buttons 2 Klicks, um etwas im entsprechenden Social Network zu teilen und der Datenschutz ist […]

  3. […] kann ich ihn später (wenn der offizielle Code von heise verfügbar ist) mit dem Counter meines wL Social Buttons Plugins […]

  4. […] mal Zeit habe, werde ich versuchen, die heise 2-Klick-Lösung mit meiner Counter-Lösung im Plugin wl Social Buttons zu […]

  5. Avatar von Oliver

    Ich hab mal 10 Minuten gebastelt und das ist dabei raus gekommen. Es scheint, als wenn der Button von google teilweise sehr unterschiedliche Ergebnisse ausgibt und relativ oft auch 0. Ich hab es jetzt so gelöst, dass so lange angefragt wird, bis es nicht 0 ist oder 20 Versuche abgehakt wurden. Bisher funktionierte es bei allen URLs, aber die Ergebnisse können auch schon mal um ein paar 100 abweichen.

    function gplus_counter($url)
    {
    for($i=0;$i<20;$i++)
    {
    $test = file_get_contents('https://apis.google.com/js/plusone.js');

    if(preg_match('/\'(.*?)\'/i',$test,$regs))
    {
    $jsh = urlencode(str_replace("\/", "/", $regs[1]));
    $test = file_get_contents('https://plusone.google.com/u/0/_/+1/fastbutton?url=&'.urlencode($url).'&size=standard&count=true&annotation=&hl=en-US&jsh='.$jsh);

    if(preg_match('/(.*?)/i',$test,$regs)){
    if($regs[1]!='0') return $regs[1];
    }
    }
    }
    return '0';
    }
    echo gplus_counter('http://www.facebook.com/').''; // 29.1k
    echo gplus_counter('http://www.google.com/').''; // 30.8k
    echo gplus_counter('http://www.msn.com/'); // 580

    1. Avatar von Artur

      Vielen Dank. 🙂
      Ich habe die Funktion etwas verbessert und integriert. Ein Update kommt wahrscheinlich noch heute raus.