[Plugin Mod] aSocial

Um mal zum gegenwärtigen Hype (naja, halbwegs zumindest) des WordPress Plugins Vote It! etwas entgegenzusetzen, habe ich mal ein älteres, ähnliches Plugin modifiziert. Dabei handelt es sich um aSocial, auf welches ich erst vor kurzem zufälligerweise auf Baynado’s Blog gestoßen bin. Doch vorerst möchte ich folgende Frage stellen und beantworten:

Was ist an Vote it! schlecht?

Nichts. Jedes Plugin ist bestimmt für jemanden nützlich. Ich formuliere die Frage mal um: Was habe ich persönlich an Vote it! auszusetzen?

Ich halte das Plugin ehrlicherweise für recht unnötig. Wenn man unbedingt die Buttons nach jedem Artikel eingebaut haben möchte, kann man dies auch ganz einfach im Template (nach WordPress: Theme) machen. Wer sich ernsthaft vornimmt, einen erfolgreichen und guten Blog zu führen, wird sich (oder sollte sich, zumindest meiner Meinung nach) bemühen, möglichst wenig WordPress Plugins zu benutzen, um das System nicht zu sehr zu überladen.

Das Einbinden per PHP (also durch das Plugin) wird schließlich mit Sicherheit auch länger dauern als das statische simple Einbinden ins Theme. Die Ladezeit der Seite wird größer, Besucher springen ab, das führt alles zu nichts Gutem.

Bitte versteht mich nicht falsch, ich will damit nicht sagen, dass dieses eine Plugin die Ladedauer so drastisch verlängern wird. Ich denke nur, dass derjenige, der dieses Plugin benutzt auch noch weitere recht unnötige Spielereien einbinden wird. Die Summe machts. Auch Kleinvieh macht Mist! (hmm, stilistisch nicht gut geschrieben :) )

Also um schnell zum Fazit und dem Eigentlichen dieses Artikels zu kommen: Es tut mir leid, aber Vote it! ist eine unnötige Spielerei, Micky Maus!

Die aSocial Modifikation

Erstmal vorweg für diejenigen, die aSocial noch nicht kennen. Das Plugin bietet die Möglichkeit, dem Surfer einen Vote-Button eines Social Dienstes anzuzeigen, ganz ähnlich wie Vote it! Allerdings gibt es hier eine Besonderheit: Der Surfer bekommt entweder den Button angezeigt, von dessen Social Dienst er gerade kommt, oder gar keinen. Sprich: wenn der User, den Blog über Yigg besucht, wird in dem Post ein Yigg-Button eingeblendet. Wenn er über Webnews kommt, bekommt er entsprechend den Webnews-Button zu Gesicht. So wird der Surfer nicht von 7 Buttons gleichzeitig erschlagen, die er dann sowieso nicht benutzen wird…

Etwas ärgerlich an der Sache ist der Punkt, dass leider nichts angezeigt wird, wenn der Referer weder Yigg, Webnews oder ein sonstiger Social Dienst ist. Außerdem ist es ärgerlich, dass aSocial bisher nur vier Dienste unterstützt – obwohl sie für mich massig ausreichen und meiner Meinung nach weitere Pligg-Ableger wegbleiben können (zumindest, was den deutschsprachigen Raum angeht).

Ich habe das Plugin aber für meinen Blog so modifiziert, dass es bei allen anderen Fällen – also wenn normalerweise kein Button angezeigt wird – den Yigg-Button einblendet. Dies ist wirklich einfach zu bewerkstelligen und verlangt von niemandem große Programmierkenntnisse.

Erst einmal solltet ihr das Plugin hier runterladen. Öffnet die index.php mit Notepad oder einem anderen Texteditor. Ich empfehle Notepad2, die Zeilen sollten zumindest nummeriert sein. Geht in Zeile 231. Dort fängt die eigentliche Ausgabefunktion an (für diejenigen, die keine Zeilenangaben haben: Einfach an das Ende der Datei scrollen). Das Ganze dort sieht dann in etwa so aus:

function asocial($postUrl,$postTitle)
{
	$refer = asocial_refer();	
 
	if(asocial_refer() != false)
	{
		if($refer == "yigg.de" AND get_option("asocial_yigg")=="true")
		{
			echo generateYiGGButton($postUrl);
		}
		elseif($refer == "digg.com" AND get_option("asocial_digg")=="true")
		{
			echo generateDiGGButton($postUrl);
		}
		elseif($refer == "webnews.de" AND get_option("asocial_webnews")=="true")
		{
			echo generateWebNewsButton($postUrl);
		}
		elseif($refer == "seoigg.de" AND get_option("asocial_seoigg")=="true")
		{
			echo generateSEOiggButton($postUrl,$postTitle);
		}
	}
}

Dies ist also die eigentliche Ausgabe. Das, was man mit dem Einbinden des Plugins letztendlich angezeigt bekommt. Alles was hier fehlt, ist eine simple, letzte else-Bedingung. Wir machen also nun einfach folgendes aus der Funktion, wir fügen noch

else { echo generateYiGGButton($postUrl); }

hinzu und das wars. Insgesamt sieht das ganze dann so aus:

function asocial($postUrl)<br />
{
	$refer = asocial_refer();
	if(asocial_refer() != false)
	{
		if($refer == "yigg.de" AND get_option("asocial_yigg")=="true")
		{
			echo generateYiGGButton($postUrl);
		}
		elseif($refer == "digg.com" AND get_option("asocial_digg")=="true")
		{
			echo generateDiGGButton($postUrl);
		}
		elseif($refer == "webnews.de" AND get_option("asocial_webnews")=="true")
		{
			echo generateWebNewsButton($postUrl);
		}
		elseif($refer == "seoigg.de" AND get_option("asocial_seoigg")=="true")
		{
			echo generateSEOiggButton($postUrl);
		}
		else
		{
			echo generateYiGGButton($postUrl);
		}
	}
}

So. Ich mach mich jetzt mal an das Stylen des Artikels, nicht wundern, wenn hier was geändert wird! Inhaltlich wird aber alles bleiben!

2 Kommentare zu “[Plugin Mod] aSocial”

  • Justin am 12/11/2008 um 19:19 Uhr:

    Ich bin recht enttäuscht davon das das Plugin nur noch auf Englisch gibt und die deutsche Version ganz entfernt wurde.

  • .wired am 12/11/2008 um 19:22 Uhr:

    Du sprichst jetzt von Vote It!, oder? :)

Trackbacks

Hinterlasse eine Antwort

Name*
E-Mail*
Website

* Diese sind Pflichtfelder und müssen ausgefüllt werden. Die E-Mail Adresse wird nicht veröffentlicht!