<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Der Interaktionsdesigner - PHP, jQuery und CSS &#187; WordPress</title>
	<atom:link href="http://www.interaktionsdesigner.de/category/wordpress/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.interaktionsdesigner.de</link>
	<description>Pauls Blog beschäftigt sich mit Webentwicklungsthemen, im Focus stehen jQuery, TYPO3, CSS und PHP.</description>
	<lastBuildDate>Sat, 05 Jun 2010 21:13:53 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Asynchron Inhalte in WordPress nachladen</title>
		<link>http://www.interaktionsdesigner.de/2010/05/06/asynchron-inhalte-in-wordpress-nachladen/</link>
		<comments>http://www.interaktionsdesigner.de/2010/05/06/asynchron-inhalte-in-wordpress-nachladen/#comments</comments>
		<pubDate>Thu, 06 May 2010 09:53:39 +0000</pubDate>
		<dc:creator>Paul</dc:creator>
				<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.interaktionsdesigner.de/?p=674</guid>
		<description><![CDATA[Neben der Gründung einer neuen Firma die sich um Webentwicklungsthemen und Medienproduktion kümmert (Die Ape Unit GmbH Berlin) hatte ich eine Menge mit WordPress zu tun. Ein guter Grund hier mal wieder etwas Leben in den Blog zu bringen.
Es geht natürlich um den heißen Scheiß: Ajax. Mit aktiviertem JavaScript soll bei einem Klick auf einen [...]]]></description>
			<content:encoded><![CDATA[<p>Neben der Gründung einer neuen Firma die sich um Webentwicklungsthemen und Medienproduktion kümmert (<a title="Webentwicklung und Medienproduktion" href="http://www.apeunit.com" target="_blank">Die Ape Unit GmbH Berlin</a>) hatte ich eine Menge mit <strong>WordPress</strong> zu tun. Ein guter Grund hier mal wieder etwas Leben in den Blog zu bringen.</p>
<p>Es geht natürlich um den heißen Scheiß: <strong>Ajax</strong>. Mit aktiviertem JavaScript soll bei einem Klick auf einen Eintrag der <strong>Eintrag dynamisch nachgeladen</strong> werden anstatt auf die Einzelansicht zu verlinken. Mit <strong>TYPO3</strong> und Typoscript baut man sich dafür ein weiteres <strong>Page Objekt</strong> und passt die Ausgabe an, <a title="Ajax und TYPO3" href="http://www.interaktionsdesigner.de/2008/12/12/typo3-seiten-dynamisch-nachladen-mit-jquery/" target="_self">darüber hatte ich schon berichtet</a>. Bei WordPress gibt es aber kein Typoscript.</p>
<p>Mein erster Gedanke war ein alternatives Template per URL Parameter zu laden in dem nur die Inhalte angezeigt werden. Die Anleitungen waren allerdings allesamt nicht besonders ergiebig. Der nächste Ansatz war den gesamten Inhalt abzufragen und per jQuery nur den entsprechenden Container mit den Inhalten auszugeben. Das finde ich aber irgendwie unelegant.</p>
<p>Und nach einmal drüber schlafen kam dann der rettende und <strong>sehr simple Einfall</strong>.</p>
<p><span id="more-674"></span></p>
<h2>functions.php</h2>
<p>Mit meinem <a title="Mein Lieblingsframework" href="http://www.cakephp.org" target="_blank">CakePHP</a> verwöhntem Blick würde ich die functions.php mal mit einer Art <strong>Controller</strong> vergleichen. Der Aufruf geht also durch diese Datei, in der Variablen gesetzt und Funktionen definiert werden können, die anschließend in den Views zur Verfügung stehen.</p>
<p>Und hier steckt schon das ganze Geheimnis, ist die Servervariable <strong>HTTP_X_REQUESTED_WITH</strong> gesetztz, handelt es sich um eine asynchrone Anfrage:</p>
<pre><code class=''>if(isset($_SERVER['HTTP_X_REQUESTED_WITH'])) {<br />
&nbsp;&nbsp;$ajax = true;<br />
}<br />
else {<br />
&nbsp;&nbsp;$ajax = false;<br />
}</code></pre>
<h2>Die Views</h2>
<p>In den üblichen Verdächtigen des Themes, damit meine ich die <em>single.php</em>, <em>page.php</em>, <em>index.php</em> usw. steht jetzt die Variable <strong>$ajax</strong> zur Verfügung. Bisher fand ich die Arbeitsweise von WordPress nicht sehr elegant in jeder Datei Header, Sidebar und Footer einbinden zu müssen, aber jetzt finde ich sie gut. Denn wenn bei einem Ajaxaufruf <strong>nur der Inhalt</strong> zurück gegeben werden soll, dann lässt man das überflüssige HTML Gerüst einfach draußen:</p>
<pre><code class=''>if(!$ajax) {<br />
&nbsp;&nbsp;get_header();<br />
}</code></pre>
<h2>Fazit</h2>
<p><strong>Das war einfach.</strong> WordPress ist ein tolles System und ich kann es kaum erwarten endlich die neue Version 3.0 stable zu sehen. Wie das ganze drum herum mit jQuery funktioniert, steht im bereits oben erwähnten <a href="http://www.interaktionsdesigner.de/2008/12/12/typo3-seiten-dynamisch-nachladen-mit-jquery/" target="_self">Eintrag zu TYPO3</a>. Frohes bloggen!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.interaktionsdesigner.de/2010/05/06/asynchron-inhalte-in-wordpress-nachladen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress Benutzeranmeldung im Frontend</title>
		<link>http://www.interaktionsdesigner.de/2009/03/02/wordpress-benutzeranmeldung-im-frontend/</link>
		<comments>http://www.interaktionsdesigner.de/2009/03/02/wordpress-benutzeranmeldung-im-frontend/#comments</comments>
		<pubDate>Mon, 02 Mar 2009 14:30:50 +0000</pubDate>
		<dc:creator>Paul</dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.interaktionsdesigner.de/?p=307</guid>
		<description><![CDATA[Neue Benutzer können sich bei WordPress bequem anmelden, wenn bei den Einstellungen die entsprechende Checkbox angeklickt wurde. Allerdings können sich die Benutzer nur im Backend anmelden, und das ist doch alles andere als elegant. Außerdem kann der Benutzer nur seinen Namen und eine E-Mailadresse angeben. Weitere Daten werden nicht abgefragt und das Passwort automatisch generiert. [...]]]></description>
			<content:encoded><![CDATA[<p>Neue Benutzer können sich bei WordPress bequem anmelden, wenn bei den Einstellungen die entsprechende Checkbox angeklickt wurde. Allerdings können sich die Benutzer nur im Backend anmelden, und das ist doch alles andere als elegant. Außerdem kann der Benutzer nur seinen Namen und eine E-Mailadresse angeben. Weitere Daten werden nicht abgefragt und das Passwort automatisch generiert. <strong>Suboptimal</strong>.</p>
<p>Es gibt das Plugin <a title="WordPress Plugin Register Plus" href="http://skullbit.com/wordpress-plugin/register-plus/" target="_blank">Register Plus</a> welches auf vielfältige Art erlaubt das Registrierungsformular zu erweitern (auch mit eigenen Feldern). Aber trotzdem befindet sich das Teil noch im Backend. <strong>Aber das muss nicht so bleiben</strong>.<span id="more-307"></span>Als erstes braucht das verwendete Theme eine <strong>neue Seitenvorlage</strong>. Dazu dupliziert man die Datei <em>page.php</em> und fügt als erstes den folgenden PHP Kommentar ein: <pre><code class='php'>&lt;?php<br />
/*<br />
Template Name: Frontend Registrierung<br />
*/<br />
?&gt;</code></pre></p>
<p>Anschließend kann man eine <strong>neue Seite</strong> anlegen und in der rechten Spalte die Seitenvorlage<em> Frontend Registrierung</em> (bzw. was man eingetragen hat) auswählen.</p>
<p>Jetzt muss nur noch die Datei <strong>die Funktionalität</strong> kriegen. Dazu öffnet man in seinem bevorzugten Editor die duplizierte Datei und fügt, wo auch immer das Formular erscheinen soll, den folgenden Inhalt ein. <pre><code class='php'>&lt;form name="registerform" id="registerform" action="&lt;?=site_url('wp-login.php?action=register', 'login_post')?&gt;" method="post"&gt;<br />
&nbsp;&nbsp;&lt;p&gt;<br />
&nbsp;&nbsp;[tab]&lt;label&gt;&lt;?php _e('Username') ?&gt;&lt;br /&gt;<br />
&nbsp;&nbsp;[tab]&lt;input type="text" name="user_login" id="user_login" class="input" value="&lt;?php echo attribute_escape(stripslashes($user_login)); ?&gt;" size="20" tabindex="10" /&gt;&lt;/label&gt;<br />
&nbsp;&nbsp;&lt;/p&gt;<br />
&nbsp;&nbsp;&lt;p&gt;<br />
&nbsp;&nbsp;[tab]&lt;label&gt;&lt;?php _e('E-mail') ?&gt;&lt;br /&gt;<br />
&nbsp;&nbsp;[tab]&lt;input type="text" name="user_email" id="user_email" class="input" value="&lt;?php echo attribute_escape(stripslashes($user_email)); ?&gt;" size="25" tabindex="20" /&gt;&lt;/label&gt;<br />
&nbsp;&nbsp;&lt;/p&gt;<br />
&nbsp;&nbsp;&lt;?php $register_plus-&gt;RegForm(); ?&gt;<br />
&nbsp;&nbsp;&lt;input type="submit" value="Registrieren!"&gt;<br />
&lt;/form&gt;</code></pre></p>
<p>Was ist passiert? Es wird ein ganz normales <strong>HTML Formular</strong> erstellt mit der gleichen Zielseite wie das Backendregistrierungsformular. Mit<strong> site_url()</strong> wird das Formular unabhängig von der verwendeten Baseurl gemacht.</p>
<p>Die beiden Felder <em>Username</em> und<em> E-mail</em> müssen per Hand angelegt werden, der Rest wird vom Plugin <strong>register plus</strong> übernommen. Im Plugin wird die Variable <em>$register_plus</em> mit der Klasse initalisiert und steht deshalb im Template zur Verfügung. Die Funktion <em>RegForm() </em>gibt das Formular je nach den getroffenen Einstellungen im Backend zurück.</p>
<p>Noch ein<strong> Abschicken-Knopf </strong>drunter und fertig! <em>Es gibt nur eine unschöne Sache</em>: die Antwort vom Script wird auf der normalen Registrierungsseite ausgegeben. Das ist noch nicht ganz perfekt, aber vielleicht hat jemand einen Tipp(?) oder in der nächsten Zeit kommt Teil 2 von diesem Tutorial.</p>
<p>Frohes bloggen!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.interaktionsdesigner.de/2009/03/02/wordpress-benutzeranmeldung-im-frontend/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Weg mit den verdammten Anführungszeichen von WordPress</title>
		<link>http://www.interaktionsdesigner.de/2009/01/08/weg-mit-den-verdammten-anfuhrungszeichen-von-wordpress/</link>
		<comments>http://www.interaktionsdesigner.de/2009/01/08/weg-mit-den-verdammten-anfuhrungszeichen-von-wordpress/#comments</comments>
		<pubDate>Thu, 08 Jan 2009 10:06:49 +0000</pubDate>
		<dc:creator>Paul</dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.interaktionsdesigner.de/?p=170</guid>
		<description><![CDATA[WordPress verändert bekanntlich alle Anführungszeichen in einem Beitrag und zerstört so jedes Codestückchen. Aber das muss nicht sein!
Diese Zeile muss in die functions.php übernommen werden und schon sind sie Vergangenheit!
Endlich. Der Tipp kam von den 10 Killer WordPress Hacks vom Smashingmagazin. Danke, weitermachen!
]]></description>
			<content:encoded><![CDATA[<p>WordPress verändert bekanntlich alle <strong>Anführungszeichen</strong> in einem Beitrag und zerstört so jedes Codestückchen. Aber das muss nicht sein!<br />
<pre><code class='php'>remove_filter('the_content', 'wptexturize');</code></pre><br />
Diese Zeile muss in die <em>functions.php</em> übernommen werden und schon sind sie Vergangenheit!</p>
<p>Endlich. Der Tipp kam von den <a href="http://www.smashingmagazine.com/2009/01/07/10-killer-wordpress-hacks/" target="_blank">10 Killer WordPress Hacks</a> vom Smashingmagazin. Danke, weitermachen!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.interaktionsdesigner.de/2009/01/08/weg-mit-den-verdammten-anfuhrungszeichen-von-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Shortcode API von WordPress benutzen</title>
		<link>http://www.interaktionsdesigner.de/2009/01/03/shortcode-api-von-wordpress-benutzen/</link>
		<comments>http://www.interaktionsdesigner.de/2009/01/03/shortcode-api-von-wordpress-benutzen/#comments</comments>
		<pubDate>Sat, 03 Jan 2009 17:47:00 +0000</pubDate>
		<dc:creator>Paul</dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.interaktionsdesigner.de/?p=139</guid>
		<description><![CDATA[
Gerade war ich auf der Suche nach einer Möglichkeit diese verdammten "Anführungszeichen" aus meinem Quelltext zu verbannen. Nebenbei habe ich mich auch geärgert, ständig in den Quelltext wechseln zu müssen um die endlosen &#60;pre&#62;&#60;code class="bla"&#62; Tags für das Syntaxhighlighting zu schreiben.
Nervt, muss aber nicht sein! Die functions.php ist mit ein paar einfachen Funktionen in der [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-141" title="wp-header" src="http://www.interaktionsdesigner.de/wp-content/uploads/2009/01/wp-header.png" alt="wp-header" width="800" height="115" /></p>
<p>Gerade war ich auf der Suche nach einer Möglichkeit diese verdammten "Anführungszeichen" aus meinem Quelltext zu verbannen. Nebenbei habe ich mich auch geärgert, ständig in den Quelltext wechseln zu müssen um die endlosen <strong>&lt;pre&gt;&lt;code class="bla"&gt;</strong> Tags für das Syntaxhighlighting zu schreiben.</p>
<p>Nervt, muss aber nicht sein! Die<em> functions.php</em> ist mit ein paar einfachen Funktionen in der Lage, dem fleißigen Blogger einige Arbeit abzunehmen. <strong>Ich bin begeistert!</strong> Und so funktionierts:<br />
<span id="more-139"></span></p>
<p>Die <strong>Shortcode API</strong> bietet die Möglichkeit eigene Kurzbefehle zu erstellen. Die werden vom Autor in eckige Klammern geschrieben und können allein stehen (z.B. <em>[datum]</em>) oder Text umfassen (z.B. <em>[wichtig]</em>das ist es!<em>[/wichtig]</em>). Außerdem kann der Shortcode mit Attributen erweitert werden, also [datum <em>undzwar="gestern"</em>].</p>
<p>Also verpacken wir das &lt;pre&gt;&lt;code...&gt; gequatsche in einen praktischen Shortcode: <strong>[ code lang="php" ]</strong>. Der PHP Code dafür, gespeichert in der<em> functions.php</em> sieht wie folgt aus.</p>
<pre><code class='php'>function code_func($atts, $content = null) {<br />
&nbsp;&nbsp;extract(shortcode_atts(array(<br />
&nbsp;&nbsp;[tab]'lang' =&gt; '',<br />
&nbsp;&nbsp;), $atts));&nbsp;&nbsp;<br />
&nbsp;&nbsp;return "&lt;pre&gt;&lt;code class='{$atts["lang"]}'&gt;".do_shortcode($content)."&lt;/code&gt;&lt;/pre&gt;";<br />
}<br />
add_shortcode('code', 'code_func');</code></pre>
<p>Die Funktion wird mit einem Array aufgerufen (<strong>$atts</strong>) welches die Attribute beinhaltet. Die Variable <strong>$content</strong> wird mit dem umschlossenden Inhalt gefüllt. Der Rest ist dem Entwickler überlassen!</p>
<p>Der <strong>Rückgabewert</strong> wird im Blogpost gezeigt. Um weitere Shortcodes innerhalb zu erlauben, wird der Inhalt nochmal durch die Funktion <em>do_shortcode() </em>gejagt.</p>
<p>Nur ein Problem: mehrere Leerzeichen oder Tabs werden vom Editor aussortiert. Also nochmal in die Datei und ein weiterer Shortcode hinzugefügt: <strong>[ tab ]</strong>.</p>
<pre><code class='php'>function tab_func($atts) {<br />
&nbsp;&nbsp;return str_repeat("&amp;nbsp;", 2);<br />
}<br />
add_shortcode('tab', 'tab_func');</code></pre>
<p>Herrlich! Vor dem Kopieren aus dem Editor ein kurzes Suchen und Ersetzen und fertig! Jetzt wird auch die Funktion <em>do_shortcode() </em>gleich noch viel sinnvoller <img src='http://www.interaktionsdesigner.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Bleibt noch das Problem mit den nervigen Anführungszeichen. Aber vermutlich bietet Wordpress da auch die eine oder andere Lösung. Eine <a title="Shortcode API" href="http://codex.wordpress.org/Shortcode_API" target="_blank">offizielle Beschreibung</a> gibt es natürlich auch.</p>
<p>PS: Kaum bloggt man über WordPress wird der Feedreader mit nützlichen Einträgen überfallen, zum Beispiel dem hier: <a href="http://www.hongkiat.com/blog/40-most-wanted-wordpress-tricks-and-hacks/">40+ Most Wanted Wordpress Tricks and Hacks </a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.interaktionsdesigner.de/2009/01/03/shortcode-api-von-wordpress-benutzen/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>WordPress Plugin SpamKill!</title>
		<link>http://www.interaktionsdesigner.de/2008/07/09/wordpress-plugin-spamkill/</link>
		<comments>http://www.interaktionsdesigner.de/2008/07/09/wordpress-plugin-spamkill/#comments</comments>
		<pubDate>Wed, 09 Jul 2008 17:03:06 +0000</pubDate>
		<dc:creator>Paul</dc:creator>
				<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.interaktionsdesigner.de/?p=45</guid>
		<description><![CDATA[Na, genervt vom Spam in den Kommentaren? Meine Erfahrungen mit den fiesen Spamrobotern habe ich jetzt in ein WordPress Plugin gepackt und biete es zum freien Einsatz an.
Hier auf dem Blog ist es schon im Einsatz, hat aber bisher noch nichts abwehren müssen. Direkt zum Download.

Funktionsweise
Die ausführliche Beschreibung finden Sie hier. Die Regeln habe ich [...]]]></description>
			<content:encoded><![CDATA[<p>Na, genervt vom Spam in den Kommentaren? Meine Erfahrungen mit den fiesen Spamrobotern habe ich jetzt in ein WordPress Plugin gepackt und biete es zum freien Einsatz an.<br />
Hier auf dem Blog ist es schon im Einsatz, hat aber bisher noch nichts abwehren müssen. <a href="http://www.interaktionsdesigner.de/2008/07/09/wordpress-plugin-spamkill/#download">Direkt zum Download</a>.</p>
<p><span id="more-45"></span></p>
<h2>Funktionsweise</h2>
<p><a href="http://www.interaktionsdesigner.de/2008/05/14/spamschutz-ohne-kompromisse/" target="_new">Die ausführliche Beschreibung finden Sie hier.</a> Die Regeln habe ich weiter vereinfacht. Mein PlugIn prüft aktuell nur 3 von 5:</p>
<ol>
<li><strong>Zeit</strong><br />
Ein Kommentator muss mind. 5s benötigen um einen Kommentar zu schreiben. Ansonsten ist er eine Machine.</li>
<li><strong>Vertauschte Bezeichnungen</strong><br />
Im HTML Formular sind Name und Emailfeld von den Bezeichnungen her vertauscht. Ist eine E-Mailadresse im Namenfeld eingetragen, handelt es sich mit ziemlicher Sicherheit um unerwünschte Werbung.</li>
<li><strong>Hiddenfield</strong><br />
Ein verstecktes Formularfeld (&lt;input type="hidden") muss leer bleiben. Spamroboter füllen meistens sinnlos alles aus.</li>
</ol>
<p>Schon wenn eine der Regeln zutritt wird der Kommentar abgewiesen.<br />
Zum verfolgen der Tätigkeiten wird eine simple Logdatei beschrieben. Dieses Verhalten sollte man bei vielen Spamnachrichten abschalten.</p>
<h2>Installation</h2>
<p>Nach dem Download in den Ordner <em>wp-content/plugins/</em> verschieben und im WordPress Backend aktivieren.</p>
<p>Anschließend müssen noch ein paar Dinge im Formular der Kommentareingabe angepasst werden. Je nach Theme unterschiedlich, meistens findet sich dies aber in der Datei <em>wp-content/themes/THEME-NAME/comments.php</em>.</p>
<ol>
<li><strong>Attribut Action vom Form-Tag</strong>
<p>Ich habe keinen anderen Weg gefunden in die Abarbeitung einzugreifen. Deshalb habe ich sie ersetzt. Das Attribut Action muss auf folgende Datei zeigen:</p>
<pre>&lt;?php echo get_option('siteurl'); ?&gt;/wp-content/plugins/id-spamkill/id-comments-without-spam.php</pre>
</li>
<li><strong>Bezeichnungen vertauschen</strong>
<p>Name und ID vom Namen und E-Mailfeld vertauschen. Nicht vergessen auch das for-Attribut vom Label anzupassen. Bei mir sieht es jetzt so aus:</p>
<pre><code class="html">&lt;p class="first"&gt;
	&lt;label for="email"&gt;Name &lt;?php if ($req) echo "(erforderlich)"; ?&gt;&lt;/label&gt;
	&lt;input class="styling" type="text" name="email" id="email" value="&lt;?php echo $comment_author; ?&gt;" size="22" tabindex="1" /&gt;
&lt;/p&gt;

&lt;p&gt;
	&lt;label for="author"&gt;eMail &lt;?php if ($req) echo "(erforderlich)"; ?&gt;&lt;/label&gt;
	&lt;input class="styling" type="text" name="author" id="author" value="&lt;?php echo $comment_author_email; ?&gt;" size="22" tabindex="2" /&gt;
	&lt;span&gt;(wird nicht veröffentlicht)&lt;/span&gt;
&lt;/p&gt;</code></pre>
</li>
<li>Innerhalb der beiden Form-Tags müssen die Hooks abgearbeitet werden. Auch das sollte bei den meisten Themes schon vorhanden sein:
<pre><code class="php">&lt;?php do_action('comment_form', $post-&gt;ID); ?&gt;</code></pre>
</li>
</ol>
<p>Zu guter letzt muss die Datei <em>wp-content/plugins/id-spamkill/id-spamlog.txt</em> für das Script noch beschreibbar gemacht werden (z.B. mit chmod(0777)). Das wars! Einträge werden gefiltert.</p>
<h2>Konfiguration</h2>
<p>Viel muss beim Plugin nicht konfiguriert werden. Da es so wenige Sachen sind sie noch nicht als "normale" Einstellungen über das Backend erreichbar sondern in der Datei <em>id-spamkill.php</em> zu finden. Ab Zeile 13 geht es los:</p>
<pre><code class="php">protected $logSpam = true;   // Spamlog speichern?
protected $logFile = "id-spamlog.txt";    // Datei in der das Spamlog gespeichert wird
protected $logSep = "\n-----------------------------------------------\n";    // Trennezeichen zwischen dein einzelnen Einträgen der Logdatei.</code></pre>
<h2 id="download">Download</h2>
<p>Das Plugin kann als <a href="http://www.interaktionsdesigner.de/wp-content/uploads/2008/07/id-spamkill-01.zip">Archiv herunter geladen werden</a>. Bei der Verwendung wäre eine kurze Nachricht nett.</p>
<h2>Fazit</h2>
<p>Das Plugin ist in einer sehr frühen Version und bietet noch viel Raum nach oben. Gerade die aufwendige Installation stört mich gewaltig, aber ich habe bisher keinen anderen Weg gefunden um so tiefgreifend das System zu verändern.</p>
<p>Ich habe ein gutes Gefühl und lade alle Besucher herzlich ein, mit mir zu beoachten welcher Spamkommentator es als erstes schafft durch zu kommen.</p>
<p>Bei Fragen, Problemen und Anregungen stehe ich gern zur Verfügung.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.interaktionsdesigner.de/2008/07/09/wordpress-plugin-spamkill/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pauls Blog ist schöner geworden</title>
		<link>http://www.interaktionsdesigner.de/2008/07/09/pauls-blog-wird-schoner/</link>
		<comments>http://www.interaktionsdesigner.de/2008/07/09/pauls-blog-wird-schoner/#comments</comments>
		<pubDate>Tue, 08 Jul 2008 23:08:10 +0000</pubDate>
		<dc:creator>Paul</dc:creator>
				<category><![CDATA[Ich]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.interaktionsdesigner.de/?p=43</guid>
		<description><![CDATA[
Es ist vollbracht! Ohne Stress und Verluste habe ich nicht nur auf die aktuelle WordPress Version aktualisiert, sondern auch gleich noch einen behutsamen Relaunch vollzogen.
Der weiße Hintergrund hat jetzt einen Abschluss und darunter finden sich interessante Listen oder die Kommentare zu den Beiträgen.
Außerdem habe ich den Beiträgen auf der Startseite einen Rahmen gegeben, damit sie [...]]]></description>
			<content:encoded><![CDATA[<p><a title="Die Wartungsarbeiten auf Pauls Blog sind vorbei!" rel="lightbox" href="http://www.interaktionsdesigner.de/wp-content/uploads/2008/07/bild-1.png"><img class="alignright size-medium wp-image-44" title="Wartungsarbeiten an Pauls Blog" src="http://www.interaktionsdesigner.de/wp-content/uploads/2008/07/bild-1-300x167.png" alt="Pauls Blog" width="300" height="167" /></a></p>
<p>Es ist vollbracht! Ohne Stress und Verluste habe ich nicht nur auf die aktuelle WordPress Version aktualisiert, sondern auch gleich noch einen behutsamen Relaunch vollzogen.</p>
<p>Der weiße Hintergrund hat jetzt einen Abschluss und darunter finden sich interessante Listen oder die Kommentare zu den Beiträgen.<br />
Außerdem habe ich den Beiträgen auf der Startseite einen Rahmen gegeben, damit sie besser unterscheidbar sind. Die Suchbox hat jetzt ein schöneres Äußeres (die inneren Werte sind unangetastet) und man kann mir ein Bier spendieren (Rechts unten auf der Startseite).<br />
Unter <em>Einstellungen</em> ist entscheidbar ob sich externe Links im gleichen oder neuen Fenster öffnen sollen.  Die aktuelle Auswahl wird in einem Cookie gespeichert. Die Erkennung von externen Links ist noch nicht perfekt gelöst, aber innerhalb von Beiträgen funktioniert es.</p>
<p><strong>Viel Interessanter</strong> ist aber mein erstes WordPress Plugin: <strong>ID SpamKill! </strong>In einer langen Nacht habe ich meine <a title="Pauls Spamschutz für Gästebücher" href="http://www.interaktionsdesigner.de/2008/05/14/spamschutz-ohne-kompromisse/" target="_blank">Erkenntnisse</a> aus dem Papyros Gästebuch in ein sehr kleines Plugin gepackt und hier zum laufen bekommen. Kommentare können ganz ohne Anmeldung, Captchas oder sonst was geschrieben und werden (ggf.) direkt veröffentlicht.<br />
In Kürze werde ich es hier ausführlich vorstellen.</p>
<p>Bleibt mir noch eine gute Nacht zu wünschen und den Todo-Punkt <em>IE6 + 7 testen</em> doppelt zu unterstreichen.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.interaktionsdesigner.de/2008/07/09/pauls-blog-wird-schoner/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
