<?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/"
	
	xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>bueltge.de [by:ltge.de]</title>
	<atom:link href="http://bueltge.de/feed/" rel="self" type="application/rss+xml" />
	<link>http://bueltge.de</link>
	<description>Frank Bültge schreibt auf bueltge.de zu den Themen Webdesign, WordPress, Literatur und andere Themen bezüglich Internet und Webentwicklung</description>
	<lastBuildDate>Wed, 01 Sep 2010 17:50:06 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>WordPress Shortcodes außerhalb des Content nutzen</title>
		<link>http://bueltge.de/wordpress-shortcodes-ausserhalb-content-nutzen/1210/</link>
		<comments>http://bueltge.de/wordpress-shortcodes-ausserhalb-content-nutzen/1210/#comments</comments>
		<pubDate>Tue, 31 Aug 2010 16:48:57 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Tipps]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Shortcode]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1210</guid>
		<description><![CDATA[Die Shortcode-API kann viele Möglichkeiten in den Editor holen und trotzdem die Arbeit für die Autoren übersichtlich halten. So ist mittels eines Shortcodes schnell externe Inhalte in den Content geladen. Anwendungsfälle gibt es ausreichend, wie beispielsweise die Idee der Werbung in einem Artikel zeigt.

Ab und an gibt es aber Fälle, da möchte man im Template den Shortcode nutzen oder die Daten nicht im Editor pflegen, sondern vie Custom Field oder ähnliches mitgeben. Kennt man oder gibt es dafür eine Funktion im Plugin oder der Erweiterung für WordPress, dann kann man dies aber trotzdem nutzen. Eine Funktion von WordPress für den zugriff auf Shortcodes hilft.]]></description>
			<content:encoded><![CDATA[<p>Die <a href="http://codex.wordpress.org/Shortcode_API">Shortcode-API</a> kann viele Möglichkeiten in den Editor holen und trotzdem die Arbeit für die Autoren übersichtlich halten. So ist mittels eines Shortcodes schnell externe Inhalte in den Content geladen. Anwendungsfälle gibt es ausreichend, wie beispielsweise die <a href="http://bueltge.de/werbung-shortcode-benutzerdefinierte-felder-wordpress/741/">Idee der Werbung</a> in einem Artikel zeigt.</p>
<p>Ab und an gibt es aber Fälle, da möchte man im Template den Shortcode nutzen oder die Daten nicht im Editor pflegen, sondern via Custom Field oder ähnliches mitgeben. Kennt man oder gibt es dafür eine Funktion im Plugin oder der Erweiterung für WordPress, dann kann man dies aber trotzdem nutzen. Eine Funktion von WordPress für den Zugriff auf Shortcodes hilft.<br />
<span id="more-1210"></span><br />
Der einfachste Fall ist der Zugriff auf einen Shortcode, bspw. <code>myshortcode</code>; erfolgt mittels der Funktion <code>do_shortcode()</code>. Ein Code-beispiel dazu soll es verdeutlichen; abgelegt wird es im Template - bspw. die <code>single.php</code> des Themes.</p>
<pre><code class="php">
echo do_shortcode('&#091myshortcode]');
</code></pre>
<p>Wenn man mit Parametern arbeitet; heißt, der Shortcode kann diese Parameter verarbeiten, dann kann man diese einfach mitgeben.</p>
<pre><code class="php">
echo do_shortcode('&#091myshortcode param="blahblahblah"]');
</code></pre>
<p><strong>Aufpassen:</strong> PHP unterscheidet ' und ", daher kann es beim Laien zu Problemen kommen. Zum Beispiel würde der folgenden Aufruf nicht klappen: </p>
<pre><code class="php">
echo do_shortcode('&#091myshortcode param='blahblahblah']');
</code></pre>
<p>übersichtlich und funktionierend wäre</p>
<pre><code class="php">
echo do_shortcode('&#091myshortcode param="blahblahblah"]');
</code></pre>
<p>Ein weiters Beispiel nutze aus dem benutzerdefinierten Feld <em>example-name</em> den Wert und übergibt dies an den Shortcode <code>example_shortcode</code> für den Parameter <code>product</code>.</p>
<pre><code>
&lt;?php
$example_product = get_post_meta( $post-&gt;ID, 'example-name', $single = true );
if ($example_product)
	echo do_shortcode('&#091example_shortcode product="' . $example_product . '"]');
?&gt;
</code></pre>
<p>Daraus ergeben sich viele Möglichkeiten, so zum Beispiel auch ein einfacher Zugriff auf die Gallery, die man pro Beitrag pflegt.</p>
<pre><code class="php">
echo do_shortcode('&#091gallery option1="value1"&#093');
</code></pre>
<p>Damit kann man im Template einfach die Gallery laden und ist unabhängig von den Shortcodes im Editor. Nebenbei spart man sich das Parsen des Filters und beim neuen Design, wenn die die Bilder wenig relevant sind, kann man diese einfach weg lassen und muss nicht den Content filtern oder den Editor vieler Beiträge bemühen. Alle weiteren Ideen überlasse ich gern euch.<br />
<hr />
<p style="float:right;"><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/></p>
<p><small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p style="border: 1px solid #666666; padding: 5px; background: #e6e6e6 none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; display: block; margin-bottom: 25px;"><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://flattr.com/thing/13244/bueltge-de-byltge-de" title="Flattr this">Flattrn</a> &middot; <a href="http://bueltge.de/wordpress-shortcodes-ausserhalb-content-nutzen/1210/#writecomment" title="zu den Kommentaren">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/wordpress-shortcodes-ausserhalb-content-nutzen/1210/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/favicon.ico" />
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>Eigenes CDN in WordPress nutzen</title>
		<link>http://bueltge.de/eigenes-cdn-in-wordpress-nutzen/1205/</link>
		<comments>http://bueltge.de/eigenes-cdn-in-wordpress-nutzen/1205/#comments</comments>
		<pubDate>Sat, 14 Aug 2010 23:48:50 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Tipps]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1205</guid>
		<description><![CDATA[CDNs klingen immer gleich nach hohen Kosten, aber Google und co. genügt im Grunde eine cookiefreie Domain und daher zeige ich eine einfache Lösung, wie man das "eigene CDN" einrichtet und mit WordPress nutzt.]]></description>
			<content:encoded><![CDATA[<p>In einem <a href="http://www.contao.org/blog-leser/items/contao-fuer-google-page-speed-optimieren.html">Artikel von Leo Flyer</a> ist mir ein altes Thema nochmals aufgefallen - CDN mit dem eigenen Webspace. Sämtliche Analysetools wie YSlow oder PageSpeed empfehlen das Nutzen eines oder mehrerer CDN. In Sachen Performance erst mal richtig - im weitesten Sinne muss das CDN aber kein kostenpflichtiges CDN bei anderen Dienstleistern sein, sondern der eigenen Webspace kann dazu dienen.<br />
Google fordert nicht direkt ein CDN, sondern lediglich eine Domain ohne Cookies. Dafür muss man lediglich eine oder mehrere Subdomain mit Webspace anlegen und alles weitere übergebe ich an WordPress.</p>
<blockquote><p>CDN - <strong>Content Delivery Network</strong>, ist ein Netz lokal verteilter und über das Internet verbundener Server, mit dem Inhalte (insbesondere große Mediendateien) ausgeliefert werden. In der Regel sind diese Server sehr leistungsfähig und schnell. Sie konzentrieren sich auf die Ausgabe der Dateien und keine anderen Funktionen wie Cookies.</p></blockquote>
<p><span id="more-1205"></span><br />
Weitere Informationen zum Thema CDN gibt es beispielsweise bei <a href="http://de.wikipedia.org/wiki/Content_Distribution_Network">Wikipedia</a> oder bei <a href="http://playground.ebiene.de/2351/google-app-engine-als-cdn/">Sergej Müller</a>.<br />
Im Webspace meiner Domain habe ich drei Subdomains angelegt, die ich jeweils so eingestellt habe, dass sie auf Bilder, das Theme und Plugins verweisen.</p>
<p><img class="centered" src="http://bueltge.de/wp-content/images/wp/cdn-bueltge.png" alt="Subdomains" /></p>
<p>Im ersten Test sollte dies reichen. Insbesondere für Bilder und die Dateien des Theme ist das sicher nützlich, da die so gut wie statische Elemente sind. Für Bilder, die in erster Linie im Content der Artikel zu finden sind, habe ich eine Funktion laufen, die über den Hook <code>the_content</code> von WordPress die URLs im Artikel filtert und mit der Subdomain ersetzt.</p>
<pre><code class="php">
// replace content for CDN
if ( !function_exists('fb_add_static_content_url') ) {
	function fb_add_static_content_url($content) {
			if ( is_admin() ) // eigentlich überflüssig
				return $content;

			$wpurl = get_bloginfo('wpurl');

			$search = array(
				$wpurl . '/wp-content/images/',
				$wpurl . '/wp-content/download/',
			);

			$replace = array(
				'http://cdn1.bueltge.de/',
				'http://cdn2.bueltge.de/',
			);

			return str_replace( $search, $replace, $content );
	}
	add_filter( 'the_content', 'fb_add_static_content_url' );
}
</code></pre>
<p>Im weiteren kommt eine Funktion ins Spiel, die die Template Tags für die Adressen des Themes anpasst und auf die Subdomain verweist. Dies setzt voraus, dass die Dateien auch mit Hilfe der Template Tags von WordPress inkludiert wurden - zum Beispiel das Stylesheet über <code>&lt;link rel="stylesheet" href="&lt;?php bloginfo('stylesheet_url'); ?&gt;" type="text/css" media="screen" /&gt;</code>.</p>
<pre><code class="php">
// replace for CDN
if ( !function_exists('fb_add_static_wpurl') ) {
	function fb_add_static_wpurl($info, $show) {

		if ( is_admin() )
			return $info;

		$keys = array(
			'url',
			'wpurl',
			'stylesheet_url',
			'stylesheet_directory',
			'template_url',
			'template_directory',
			);

		if ( in_array( $show, $keys ) ) {

			$wpurl = get_bloginfo('wpurl');

			$search = array(
				$wpurl . '/wp-content/images/',
				$wpurl . '/wp-content/download/',
				$wpurl . '/wp-content/themes/',
				$wpurl . '/wp-content/plugins/',
			);

			$replace = array(
				'http://cdn1.bueltge.de/',
				'http://cdn2.bueltge.de/',
				'http://cdn3.bueltge.de/',
				'http://cdn3.bueltge.de/',
			);

			return str_replace( $search, $replace, $info );

		} else {
			return $info;
		}
	}
	add_filter( 'bloginfo_url', 'fb_add_static_wpurl', 9999, 2 );
}
</code></pre>
<p>Um alle relevanten Möglichkeiten von <code>bloginfo()</code> zu erreichen, muss man weitere Hooks ansprechen - hier habe ich erst nichts gefunden und eine Frage in der <a href="http://lists.automattic.com/pipermail/wp-hackers/2010-August/033872.html">wp-hackers-Gemeinde</a> fand Aufschluss. Die folgende Funktion kümmert sich daher um drei Schlüssel der Funktion und sorgt für das Ersetzen mit der Subdomain.</p>
<pre><code>
function fb_add_static_stylesheet_uri($uri) {

			if ( is_admin() )
				return $uri;

			$wpurl = get_bloginfo('wpurl');

			$search = array(
				$wpurl . '/wp-content/images/',
				$wpurl . '/wp-content/download/',
				$wpurl . '/wp-content/themes/',
				$wpurl . '/wp-content/plugins/',
			);

			$replace = array(
				'http://cdn1.bueltge.de/',
				'http://cdn2.bueltge.de/',
				'http://cdn3.bueltge.de/',
				'http://cdn3.bueltge.de/',
			);
			return str_replace( $search, $replace, $uri );

}
add_filter ( 'template_directory_uri', 'fb_add_static_stylesheet_uri' );
add_filter ( 'stylesheet_uri', 'fb_add_static_stylesheet_uri' );
add_filter ( 'stylesheet_directory_uri', 'fb_add_static_stylesheet_uri' );
</code></pre>
<p>Mit diesen drei kleinen Funktionen muss man in den Artikeln oder den Theme von WordPress nichts tun, man kann einfach die Funktionen in ein Plugin oder die <code>functions.php</code> des Themes legen. Natürlich müssen die Subdomains angelegt und richtig konfiguriert sein. Zusätzlich empfiehlt sich ein Eintrag in der <code>.htaccess</code> der Installation um doppelten Content zu verhindern.</p>
<pre><code>
##
# Explicitly send a 404 header if a file on cdn[0-9].example.org is not
# found. This will prevent the start page (empty URL) from being loaded.
##
RewriteCond %{HTTP_HOST} ^cdn[0-9]\.example\.org [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* - [R=404,L]

##
# Do not dispatch dynamic resources via cdn[0-9].example.org.
##
RewriteCond %{HTTP_HOST} ^cdn[0-9]\.example\.org [NC]
RewriteCond %{REQUEST_FILENAME} \.(php|html)$
RewriteRule .* - [R=404,L]
</code></pre>
<p>Zusätzliche Information zu dem Eintrag entnehmt bitte dem <a href="http://www.contao.org/blog-leser/items/contao-fuer-google-page-speed-optimieren.html">Artikel von Leo zu Contao Optimierung</a>.</p>
<p>Viel Spaß beim ausprobieren, beim Testen und auswerten. Neue Ideen, Erweiterungen und Verbesserungen können wie immer von euch in den Kommentaren hinterlassen werden  - ich freue mich darauf.<br />
<hr />
<p style="float:right;"><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/></p>
<p><small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p style="border: 1px solid #666666; padding: 5px; background: #e6e6e6 none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; display: block; margin-bottom: 25px;"><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://flattr.com/thing/13244/bueltge-de-byltge-de" title="Flattr this">Flattrn</a> &middot; <a href="http://bueltge.de/eigenes-cdn-in-wordpress-nutzen/1205/#writecomment" title="zu den Kommentaren">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/eigenes-cdn-in-wordpress-nutzen/1205/feed/</wfw:commentRss>
		<slash:comments>41</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/wp/cdn-bueltge.png" />
		<media:content url="http://bueltge.de/wp-content/images/wp/cdn-bueltge.png" medium="image">
			<media:title type="html">Subdomains</media:title>
		</media:content>
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>Tattoos sind purer Sex</title>
		<link>http://bueltge.de/tattoos-sind-purer-sex/1199/</link>
		<comments>http://bueltge.de/tattoos-sind-purer-sex/1199/#comments</comments>
		<pubDate>Sat, 14 Aug 2010 10:02:38 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Linktipp]]></category>
		<category><![CDATA[Test]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1199</guid>
		<description><![CDATA[Das Zimmer mit einem Wandtattoos verschönern - tolle Aussage, wir durften testen und hier ist unser Feedback zu den Wandtattoos.]]></description>
			<content:encoded><![CDATA[<p><a href="http://bueltge.de/wp-content/images/wandtattoo-2.jpg"><img class="alignright" src="http://bueltge.de/wp-content/images/wandtattoo.jpg" alt="Wandtattoo" /></a><br />
... meint <a href="http://www.jeriko.de/2007/03/22/tatowierung/">Jeriko</a> und ich stimme ihm da zu - aber gilt das auch für Wandtattoos?<br />
Wer hier eifrig mitliest oder mich kennt, der weiß, dass ich seit einem Jahr den Wohnort gewechselt habe und seit dem ein altes Haus an meine Wünsche anpasse, saniere., renoviere, den Garten anlege und pflege &#8211; das neue Heim genieße. In diesem Rahmen werden auch die einzelnen Räume nach und nach an unsere Wünsche angepasst und daher haben meine Frau und ich uns sehr über das Testangebot von <a href="http://wandtattoos.de/">Wandtattoos.de</a> gefreut. Also haben wir die Website durchsucht und geschaut, ob wir uns eines der sehr vielen Motive vorstellen konnten und dies dann im Rahmen dieses Blog testen wollen.<br />
<span id="more-1199"></span><br />
Es gibt tolle Motive und Sprüche - trotzdem ist nicht jedes Tattoo so, dass ich es jeden Tag sehen möchte und so reduziert sich nach erster Euphorie die Anzahl der Motive für unseren Zweck. Aktuell wurde gerade das Schlafzimmer auf Vordermann gebracht, der Fußboden bekam neue Dielen und von da an bis zur Decke ist alles neu. Zwei Wandteile sind in einen Weinrot gehalten und so waren wir begeistert, dass man die Wandtattoos in diversen Farben bestellen kann und unsere Farbe recht gut getroffen ist. Daher haben wir uns auf das Angebot eingelassen und die <a href="http://www.wandtattoos.de/products/Pflanzen/Pusteblume.html">Pusteblume</a> bestellt - wir wollten diese Freiheit der fliegenden Samen im Schlafzimmer haben <img src='http://bueltge.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> . </p>
<p>Nun aber zum eigentlichen Wandtattoo, dessen Qualität schon beim Auspacken begeistert. Erstklassiges Material mit einer ebenso sehr guten Beschreibung, wie man das Tattoo auf die Wand bringt. Dem Paket lag ein Rakel bei, der das Andrücken und Aufbringen sehr erleichtert. Ebenso lag ein extra Tattoo dabei - klein aber fein und fand ebenso eine wunderbare Stelle im Haus.</p>
<p>Mit etwas Geschick lässt sich das Wandtattoo sehr gut auf die Wand bringen. Durch die Mithilfe einer zweiten Person wird dieses aber erheblich erleichtert, zumindest bei der Größe von knapp 2m. Das Tattoo verzeiht Fehler beim Aufbringen und kann wieder gelöst werden - nicht übertreiben, irgendwann ist der Klebstoff sicher weg. Aber mann kann an Blasen nachhaken und neu ansetzen. Im Grunde ist das aber nicht notwendig, wenn man der Anleitung von Wandtattoo folgt und sauber arbeitet. Die Folie kann ebenso mit unebenen Untergründen umgehen, daher sind also auch leicht raue Untergründe als Oberfläche nutzbar.</p>
<p><img class="centered" src="http://bueltge.de/wp-content/images/wandtattoo-spruch.jpg" alt="Wandtattoo - Vor dem ersten Kaffee Klappe halten!" /></p>
<p>Mit ein wenig Geschick und Geduld kann der Wohnraum aufgewertet werden und dies ist einfach möglich. Der Preis erschien mir recht hoch, nachdem ich aber die Qualität in den Hände halte und das Tattoo auf die Wand gebracht habe, sehe ich dies anders und kann die Verarbeitung, das Material nur loben. Unsere Tochter hat natürlich auch gleich viele tolle Motive gefunden &#8211; die Idee der <a href="http://www.wandtattoos.de/Tafelfolie">Tafelfolie</a> begeistert sie aber am meisten. Mal sehen, wann ich mit diesem Zimmer starte und ende, da auch hier von Boden bis zur Decke alles neu wird.</p>
<p>Ich weiß, viele denken immer, dass muss er, er schreibt dazu im Blog - aber ich teste nur dann Produkte, wenn ich meine persönliche Meinung schreiben kann und aktuell kann ich keinen Haken oder Nachteil an den Tattoos erkennen - sie verzieren das Zimmer wunderbar und meine Familie erfreut sich seit dem an dem wunderbaren Zimmer, welches in allen Facetten in Eigenleistung entstanden ist. Noch das Zimmer meiner Tochter, ein Bad und dann komme ich dem Ende entgegen - vielleicht ist dann wieder mehr Zeit für das Blog.<br />
<hr />
<p style="float:right;"><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/></p>
<p><small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p style="border: 1px solid #666666; padding: 5px; background: #e6e6e6 none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; display: block; margin-bottom: 25px;"><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://flattr.com/thing/13244/bueltge-de-byltge-de" title="Flattr this">Flattrn</a> &middot; <a href="http://bueltge.de/tattoos-sind-purer-sex/1199/#writecomment" title="zu den Kommentaren">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/tattoos-sind-purer-sex/1199/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/wandtattoo.jpg" />
		<media:content url="http://bueltge.de/wp-content/images/wandtattoo.jpg" medium="image">
			<media:title type="html">Wandtattoo</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/images/wandtattoo-spruch.jpg" medium="image">
			<media:title type="html">Wandtattoo - Vor dem ersten Kaffee Klappe halten!</media:title>
		</media:content>
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>Die Reduktion von HTML5</title>
		<link>http://bueltge.de/reduktion-html5/1204/</link>
		<comments>http://bueltge.de/reduktion-html5/1204/#comments</comments>
		<pubDate>Sun, 08 Aug 2010 18:39:18 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Webküche]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1204</guid>
		<description><![CDATA[Neben dem <a href="http://bueltge.de/inspiriere-maximal-10k-html5/1200/">10k Contest</a> gibt es aktuell auch ein <a href="http://js1k.com/">1k Variante</a>, wobei es dabei um einen reinen JavaScript Vergleich handelt. Die Basis ist trotzdem html5 und ein canvas-Element steht zur Verfügung. Mit diesem kann man spielen und es sind einige wirklich tolle Sachen dabei - alles in allem 1k; externe Libraries sind hier nicht erlaubt. Für mich ein kleiner Ansporn um meine Idee mit HTML5 und CSS3 zu reduzieren und mal zu schauen, ob es denn auch im Rahmen von max. 1k geht.]]></description>
			<content:encoded><![CDATA[<p>Neben dem <a href="http://bueltge.de/inspiriere-maximal-10k-html5/1200/">10k Contest</a> gibt es aktuell auch ein <a href="http://js1k.com/">1k Variante</a>, wobei es sich dabei um einen reinen JavaScript Vergleich handelt. Die Basis ist trotzdem HTML5 und ein canvas-Element steht zur Verfügung. Mit diesem kann man spielen und es sind einige wirklich tolle Sachen dabei - alles in allem 1k; externe Libraries sind hier nicht erlaubt. Für mich ein kleiner Ansporn um meine Idee mit HTML5 und CSS3 zu reduzieren und mal zu schauen, ob es denn auch im Rahmen von max. 1kByte geht.<br />
<span id="more-1204"></span><br />
Dabei konnte ich erstmals die große Freiheit von HTML5 kennen lernen - HTML5 lässt im Syntax diverse Freiheiten, denn man muss nicht jedes Element nutzen und auch nicht jedes Element schließen. Für ein übersichtliches Markup sicher nicht immer vorteilhaft, für meine Vorgabe von einem Kilobyte aber schon. Dabei ist nun tatsächlich <a href="http://bueltge.de/test/10kapart/max1k.html">eine Lösung</a> entstanden, die nur 1k groß ist und in einigen Bereichen abgespeckt wurde. Die Animation wurde mit JavaScript und nicht CSS3 realisiert und auch die runden Ecken mussten weichen - zu viel Syntax.<br />
Wer also ein wenig Inspiration und Möglichkeiten braucht, schaut sich die beiden Versionen mal an und hat vielleicht auch große Lust mal wieder ein kleines Projekt zu machen, kein CMS dahinter - pur HTML, CSS und JavaScript.</p>
<p>Es gibt noch immer Potenzial zum Reduzieren der Größe, so bin ich kein Freak im Rahmen von JavaScript und hier sehe ich noch einiges an Möglichkeiten. Nun aber die beiden Lösungen zum Vergleich.</p>
<p><img class="centered" src="http://bueltge.de/wp-content/images/10kvs1k.png" alt="4k vs 1k mit HTML5, CSS3 uns JavaScript" /></p>
<p>Variante 1 hat in erster Linie ihren Bedarf im CSS, viel Code für wenig Wirkung. Man braucht aktuell für diverse Browser unterschiedliche Syntax um die Rundungen zu erzeugen. Die Animation funktioniert nur in Webkit-Browsern und auch die RGB-Farben sind recht viele Zeichen. </p>
<ol>
<li><a href="http://bueltge.de/test/10kapart/">Die 4,5k Variante</a></li>
<li><a href="http://bueltge.de/test/10kapart/max1k.html">Die 1k Variante</a></li>
</ol>
<p>Um diese Sachen auf 1k zu drücken musste einiges an Code weichen; eine andere Möglichkeit habe ich nicht gesehen. Die Animation habe ich nur im Ansatz zum Test eingebaut, sie ist wesentlich simpler. Das Spiel der Farben lasse ich via Zufall ablaufen und brauche trotzdem weniger Code. Lediglich die Möglichkeit RGB-Syntax zu nutzen ist geblieben, wird aber im JS per Zufall erzeugt.</p>
<p>In beiden Fällen habe ich es getan, weil ich mal etwas Spielen und Versuchen wollte. Einfach mal so und trotzdem sollte der Code valide und mit aktuellen Mitteln möglich sein. Interessant ist wohl das HTML5-Markup der 1k Variante - auch diese Version ist valider Code und ist doch recht untypisches Markup.</p>
<pre><code lang="html">
&lt;!DOCTYPE html&gt;
&lt;meta charset=&quot;utf-8&quot;&gt;
&lt;title&gt;one day at a time in 1k&lt;/title&gt;
&lt;style&gt;body{background:#FFF;font:16px/23px Georgia,Times,serif;margin:20px}h1{font-size:45px}h3{display:none}time{font-size:50px;border:3px solid #F9F5EB;-webkit-box-shadow:4px 4px 6px #545454;-moz-box-shadow:4px 4px 6px #545454;box-shadow:4px 4px 6px #545454;padding:30px 40px}div{margin:120px 0}&lt;/style&gt;
&lt;script&gt;function d(){var n=new Date(),t=n.getDate(),m=n.getMonth(),y=n.getFullYear(),y=t+'.'+m+'.'+y;if(t&lt;10)t=&quot;0&quot;+t;if(m&lt;10)m=&quot;0&quot;+m, datetime=y+'-'+m+'-'+t,x=document.createTextNode(y);d=document.getElementById('d');d.appendChild(x);d.setAttribute(&quot;datetime&quot;,datetime);setInterval('d.style.background=&quot;rgba(&quot;+Math.floor(Math.random()*256)+&quot;,&quot;+Math.floor(Math.random()*256)+&quot;,&quot;+Math.floor(Math.random()*256)+&quot;,0.4)&quot;',600);setInterval('d.style.margin=Math.floor(Math.random()*20)+&quot;%&quot;',500)}window.onload=d;&lt;/script&gt;
&lt;header&gt;&lt;h1&gt;Carpe diem (1k)&lt;/h1&gt;&lt;/header&gt;
&lt;div&gt;&lt;h3&gt;Today's date&lt;/h3&gt;&lt;time id=&quot;d&quot;&gt;&amp;nbsp;&lt;/time&gt;&lt;/div&gt;

</code></pre>
<p>Die style- und script-Elemente kann man im Grunde unbeachtet lassen, es geht um die anderen Tags, hier wird dem typischen Markup von HTML einiges entzogen.</p>
<p>Das <code>html</code>-, <code>head</code>- und <code>body</code> sind ganz entfallen. Gleiches kann man auch für <code>colgroup</code> und <code>tbody</code> machen. Andere Elemente dürfen nur das schließende Tag weg lassen: <code>li</code>, <code>dt</code>, <code>dl</code>, <code>p</code>, <code>option</code> und einige mehr.</p>
<p>Im Gegensatz dazu die Variante mit xHTML-Schreibweise und kompletten Tags.</p>
<pre><code>
&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;en&quot;&gt;
	&lt;head&gt;
		&lt;meta charset=&quot;utf-8&quot;&gt; 

		&lt;title&gt;one day at a time&lt;/title&gt;

		&lt;meta name=&quot;description&quot; content=&quot;one day at a time - Small Sample Application&quot;&gt;
		&lt;meta name=&quot;language&quot; content=&quot;en&quot; /&gt;
		&lt;link rel=&quot;stylesheet&quot; href=&quot;style.css&quot; /&gt;

		&lt;script&gt;
			function addDate(){
				var now   = new Date();
				var day   = now.getDate();
				var month = now.getMonth();
				var mname = new Array(&quot;January&quot;, &quot;February&quot;, &quot;March&quot;, &quot;April&quot;, &quot;May&quot;, &quot;June&quot;, &quot;July&quot;, &quot;August&quot;, &quot;September&quot;, &quot;October&quot;, &quot;November&quot;, &quot;December&quot;);
				var year  = now.getFullYear();
				var date  = day + '.' + mname[month] + ' ' + year;
				if (day &lt; 10) day = &quot;0&quot; + day;
				if (month &lt; 10) month = &quot;0&quot; + month;
				var datetime = year + '-' + month + '-' + day;
				var dtxt   = document.createTextNode(date);
				document.getElementById('date').appendChild(dtxt);
				document.getElementById('date').setAttribute(&quot;datetime&quot;, datetime )
			}
			window.onload = addDate;
		&lt;/script&gt;
	&lt;/head&gt;
	&lt;body&gt;

		&lt;div id=&quot;wrap&quot;&gt;

			&lt;header&gt;
				&lt;hgroup&gt;
					&lt;h1&gt;one day at a time&lt;/h1&gt;
					&lt;h2&gt;Carpe diem &amp;mdash; &lt;a href=&quot;http://en.wikipedia.org/wiki/Carpe_diem&quot;&gt;Seize the day&lt;/a&gt;.&lt;/h2&gt;
				&lt;/hgroup&gt;
			&lt;/header&gt;

			&lt;section&gt;
				&lt;h3&gt;Today's date&lt;/h3&gt;
				&lt;div class=&quot;pulse&quot;&gt;
					&lt;time id=&quot;date&quot;&gt;&amp;nbsp;&lt;/time&gt;
				&lt;/div&gt;
			&lt;/section&gt;

			&lt;footer&gt;
				&lt;p&gt;View in an HTML5 browser such as: &lt;a href=&quot;http://ie.microsoft.com/testdrive/&quot;&gt;IE9 Developer Preview&lt;/a&gt;, &lt;a href=&quot;http://www.mozilla.com/en-US/firefox/firefox.html&quot;&gt;Firefox&lt;/a&gt;.&lt;/p&gt;
				&lt;p&gt;See animation only on webkit browser such as: &lt;a href=&quot;http://www.apple.com/safari/&quot;&gt;Safari&lt;/a&gt; or &lt;a href=&quot;http://www.google.com/chrome/index.html?hl=en&amp;amp;brand=CHMB&amp;amp;utm_campaign=en&amp;amp;utm_source=en-ha-na-us-sk&amp;amp;utm_medium=ha&quot;&gt;Chrome&lt;/a&gt;.&lt;/p&gt;
			&lt;/footer&gt;

		&lt;/div&gt;

	&lt;/body&gt;
&lt;/html&gt;
</code></pre>
<p>Natürlich sind hier auch einige Inhalte mehr und vor allem wesentlich mehr Semantik unter gebracht. Eine schöner Vergleich der vielleicht zum Nachdenken anregt und mir wieder die Unterschiede und Möglichkeiten aufgezeigt hat.</p>
<p>Vielleicht Lust bekommen, zu spielen, zu testen und die neuen Möglichkeiten mit HTML5 und CSS3 zu versuchen - wenn ja, dann hat sich der Artikel gelohnt. Solltest du Hinweise für meine Spielerei oder Fehler gefunden haben - dann bin ich sehr dankbar und der Artikel hat sich noch viel mehr gelohnt.<br />
<hr />
<p style="float:right;"><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/></p>
<p><small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p style="border: 1px solid #666666; padding: 5px; background: #e6e6e6 none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; display: block; margin-bottom: 25px;"><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://flattr.com/thing/13244/bueltge-de-byltge-de" title="Flattr this">Flattrn</a> &middot; <a href="http://bueltge.de/reduktion-html5/1204/#writecomment" title="zu den Kommentaren">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/reduktion-html5/1204/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/10kvs1k.png" />
		<media:content url="http://bueltge.de/wp-content/images/10kvs1k.png" medium="image">
			<media:title type="html">4k vs 1k mit HTML5, CSS3 uns JavaScript</media:title>
		</media:content>
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>Kontrolle von Inhalt via Userrechten &amp; Zeit mit WordPress</title>
		<link>http://bueltge.de/kontrolle-inhalt-userrechten-zeit-wordpress/1177/</link>
		<comments>http://bueltge.de/kontrolle-inhalt-userrechten-zeit-wordpress/1177/#comments</comments>
		<pubDate>Wed, 04 Aug 2010 14:22:19 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Tipps]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[Shortcode]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1177</guid>
		<description><![CDATA[WordPress bringt eine eigene User-Verwaltung mit und so kann man auch auf Grund diverser Rollen und Objekte die Inhalte steuern. In einigen Fällen ist es eine typische Anforderung, dass man den kompletten Inhalt nur den registrierten Usern zugänglich macht. Gleiches gilt natürlich auch für Teile des Content. Es gibt sicher verschiedene Anwendungen - einige kleine Lösungsvorschläge möchte ich hier kurz vorstellen.]]></description>
			<content:encoded><![CDATA[<p>WordPress bringt eine eigene User-Verwaltung mit und so kann man auch auf Grund diverser Rollen und Objekte die Inhalte steuern. In einigen Fällen ist es eine typische Anforderung, dass man den kompletten Inhalt nur den registrierten Usern zugänglich macht. Gleiches gilt natürlich auch für Teile des Content. Es gibt sicher verschiedene Anwendungen - einige kleine Lösungsvorschläge möchte ich hier kurz vorstellen.<br />
<span id="more-1177"></span></p>
<h4>Rechte-Abfrage</h4>
<p>Eine einfache Möglichkeit ist die Abfrage der Rechte - die WordPress-Funktion <code>current_user_can()</code> erlaubt dies und kann einfach in Templates des Themes verwendet werden. Somit kann man steuern, dass nur geloggte User mit den entsprechenden Rechten den Inhalt sehen.<br />
Im einfachsten Fall könnte man dies wie folgt im Template einbauen:</p>
<pre><code class="php">
if ( current_user_can( 'manage_options' ) )
	the_content( the_title( '', '', false ) . ' ' . __( 'weiterlesen &raquo;', FB_BASIS_TEXTDOMAIN ) );
else
	_e( 'Nur für geloggte User zug&auml;nglich', FB_BASIS_TEXTDOMAIN );
</code></pre>
<p>Ohne die einzelnen Rechte abzufragen genügt die Abfrage mittels der Funktion <code>is_user_logged_in()</code>. Damit wird geprüft, ob der User geloggt ist.</p>
<p>Hier gibt es sicher diverse Ansätze und Möglichkeiten, die aber leicht nutzbar sind und trotzdem die unterschiedlichen Rollen und Objekte berücksichtigen. Die Objekte je Rolle sind übersichtlich im <a href="http://codex.wordpress.org/Roles_and_Capabilities">Codex</a> beschrieben.</p>
<h4>Prüfung auf Login via Funktion</h4>
<p>Nun ist die Integration im Template recht einfach, sorgt aber dafür dass man in der Regel jedes Template anpassen muss. Da WordPress mit Hooks arbeitet, kann man hier auch einhaken und zentral via Plugin oder <code>functions.php</code> im Theme eine Funktion dafür ablegen.</p>
<p>Die folgende Funktion ist so ein Beispiel und prüft in dem Fall unabhängig von den Rechten, sondern lediglich ob der User geloggt ist - wenn ja, dann darf der Inhalt gesehen werden. Über den Hook the_content wird hier zentral gesteuert - so dass die Ausgabe im Theme, welche via dem Template Tag <code>the_content()</code> kommt, nur dann den Content wieder gibt, wenn man als User geloggt ist.<br />
Parallel wurde hier auch explizit im Feed nur ausgegeben, wenn man geloggt ist - <code>!is_feed()</code>.</p>
<p>Als Alternative für nicht geloggte User wird ein Abschnitt des Content ausgegeben - dazu gibt es verschieden Ansätze, hier wurde explizit mit Zeichen gearbeitet. So entsteht quasi ein Teaser für den Leser.</p>
<pre><code class="php">
function content_only4logged_in($content) {

	// alle geloggten User
	if ( is_user_logged_in() &#038;&
			!is_null($content) &#038;&
			!is_feed()
		 ) {

		return $content;
	} else {

		$content  = wp_html_excerpt( $content, 80 );
		$content .= ' &hellip;';
		$content .= __( 'Sorry, more of this content is only available for logged users.', FB_TEXTDOMAIN );
		return $content;
	}
}
add_action( 'the_content', 'content_only4logged_in' );
</code></pre>
<h4>Inhalte via Shortcode einschränken</h4>
<p>Eine weitere Alternative ist es, nur einen bestimmten Abschnitt des Content nur für geloggte User frei zu geben. Dies könnte man beispielsweise über die Shortcode-API von WordPress tun. Auch dazu ein Beispiel. Hier wird der Shortcode <code>[member]</code> eingesetzt. Alles innerhalb dieses Elementes ist nur für geloggte User sichtbar.<br />
Auch dieser Code gehört in ein Plugin oder die Schnittstelle des Themes für neue Funktionen.</p>
<pre><code class="php">
function fb_check_logged_in( $atts, $content = null ) {
	if ( is_user_logged_in() &#038;&
		!is_null($content) &#038;&
		!is_feed()
		 ) {

		return $content;
	} else {

		return __( 'Sorry, this content is only available for logged users.', FB_TEXTDOMAIN );
	}
}
add_shortcode( 'member', 'fb_check_logged_in' );
</code></pre>
<h4>Zeitabhängig ausgeben</h4>
<p>Eine denkbare Alternative ist auch das Ausgeben von Inhalten nach einem bestimmten Zeitraum. Diese Möglichkeit kann sicher beliebig erweitert werden. So lohnt sicher die Erweiterung um eine <a href="http://bueltge.de/wordpress-plugin-flexibilitaet-schreiben/1086/">Metabox</a> zur Eingabe eines Datums an den Beiträgen oder Erweiterung von Parametern um den Zeitrahmen in einem <a href="http://bueltge.de/tag/shortcode/">Shortcode</a> abzufragen.</p>
<pre><code class="php">
function content_only4time($content) {

	$date = strtotime( '01-10-2010' ); // day-month-year
	$now  = strtotime( date('d-m-Y') );
	echo $now . ' - ' . $date;
	if ( $date &#038;& ( $date < $now ) ) {

		return $content;
	} else {

		return __( 'Sorry, die Zeit ist noch nicht reif.', FB_TEXTDOMAIN );
	}
}
add_action( 'the_content', 'content_only4time' );
</code></pre>
<p>In diesem Zusammenhang kann das Plugin <a href="http://playground.ebiene.de/316/wpsleep-wordpress-plugin-zeitliche-steuerung-der-bestandteile-eines-artikels/">wpSleep</a> genutzt werden, welches via Shortcode und den Parametern der Zeit die Ausgabe steuert.</p>
<h4>Mehr</h4>
<p>Die Liste der Ansätze und vor allem der Möglichkeiten lässt sich beliebig fort führen - mit den Möglichkeiten kommt man eventuell auf eigene Ideen und kann die aufgezeigten Ansätze nutzen. Gern können weitere Ideen und Möglichkeiten in den Kommentaren untergebracht werden.<br />
<hr />
<p style="float:right;"><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/></p>
<p><small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p style="border: 1px solid #666666; padding: 5px; background: #e6e6e6 none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; display: block; margin-bottom: 25px;"><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://flattr.com/thing/13244/bueltge-de-byltge-de" title="Flattr this">Flattrn</a> &middot; <a href="http://bueltge.de/kontrolle-inhalt-userrechten-zeit-wordpress/1177/#writecomment" title="zu den Kommentaren">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/kontrolle-inhalt-userrechten-zeit-wordpress/1177/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/favicon.ico" />
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>Inspiriere mit maximal 10k HTML5</title>
		<link>http://bueltge.de/inspiriere-maximal-10k-html5/1200/</link>
		<comments>http://bueltge.de/inspiriere-maximal-10k-html5/1200/#comments</comments>
		<pubDate>Mon, 02 Aug 2010 08:16:07 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[CSS, xHTML, JS]]></category>
		<category><![CDATA[Webküche]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[StyleSheet]]></category>
		<category><![CDATA[xHTML]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1200</guid>
		<description><![CDATA[Es ist an der Zeit, zurück zu den Ursprüngen zu finden und sich auf die Optimierung mit Blick auf Größe der Website Gedanken zu machen - so oder so ähnlich interpretiere ich den Wettbewerb für Menschen, die Websites machen. Vor zehn Jahren haben A List Apart einen Aufruf gestartet Much Ado About 5K. Weniger als [...]]]></description>
			<content:encoded><![CDATA[<p>Es ist an der Zeit, zurück zu den Ursprüngen zu finden und sich auf die Optimierung mit Blick auf Größe der Website Gedanken zu machen - so oder so ähnlich interpretiere ich den Wettbewerb für Menschen, die Websites machen.</p>
<p>Vor zehn Jahren haben A List Apart einen Aufruf gestartet <strong><a href="http://www.alistapart.com/articles/5k/">Much Ado About 5K</a></strong>. Weniger als 5 kByte waren zulässig um kleine Websites zu machen - diese Arbeiten sind aus meiner Sicht in erster Linie Anregung zu eigenen Gedanken und Inspiration für neue Arbeiten. Die Gemeinschaft der Webentwickler diskutiert gerne und so sind diese Formen der Themenanregung beliebt. Neben der Größe der Website von 10 k gibt es einige weitere Bedingungen - Standards: html5 und die Darstellung in Firefox, IE9, Safari und Chrome &#038; diverse <a href="http://10k.aneventapart.com/Contest/Libraries">Bibliotheken</a> - und damit ist zehn Jahre später ein neuer Wettbewerb <strong><a href="http://10k.aneventapart.com/">10k Apart</a></strong> durch fast das gleiche Team ins Leben gerufen. Zeit ein wenig Spaß zu haben und eine eigene kleine Arbeit bereit zu stellen.</p>
<p><img class="centeredob" src="http://bueltge.de/wp-content/images/10kapart_logo.png" alt="10k Apart Logo" /><br />
<span id="more-1200"></span><br />
Auch ich habe mich ein wenig von der vielen Arbeit erholt und mal eine kleine <a href="http://10k.aneventapart.com/Entry/22">Spielerei gemacht</a>, die man nun dort als App besichtigen kann - nichts besonderes, aber unterhaltsam und eine schöne Abwechslung. Ich wollte jeden Tag einen neuen Wert geben und uns die Erinnerung an jeden neuen Tag geben - 10k sollten dabei dicke reichen und so habe ich html5, CSS3 und JavaScript eingesetzt. Ebenfalls spiele ich mit den Animationsmöglichkeiten von CSS3, die allerdings aktuell nur in Webkit-Browsern wie Safari und Chrome laufen. Schaut es euch an und vielleicht nutzt es dem Lernen und dem Verständnis der neuen Mittel. Aber vielleicht motiviert es euch auch um ebenfalls an der Challange zu 10k Apart teilzunehmen.<br />
Die Gallerie hat schon jetzt tolle Sachen dabei - auch wenn nicht alle Apps die 10k einhalten - zumindest wenn man mit Libraries wie jQuery arbeitet <img src='http://bueltge.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> . Aber im Ende ist es eine tolle Aktion und die Teilnahme inspiriert. Es macht Spaß mit den neuen Möglichkeiten zu arbeiten und kein ToDo für alte Browser zu implementieren.</p>
<p>* Alternativ kann man sich <a href="http://bueltge.de/test/10kapart/">die Spielerei</a> auch in meinem <a href="http://bueltge.de/test/">kleinen Labor</a> ansehen.<br />
<hr />
<p style="float:right;"><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/></p>
<p><small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p style="border: 1px solid #666666; padding: 5px; background: #e6e6e6 none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; display: block; margin-bottom: 25px;"><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://flattr.com/thing/13244/bueltge-de-byltge-de" title="Flattr this">Flattrn</a> &middot; <a href="http://bueltge.de/inspiriere-maximal-10k-html5/1200/#writecomment" title="zu den Kommentaren">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/inspiriere-maximal-10k-html5/1200/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/10kapart_logo.png" />
		<media:content url="http://bueltge.de/wp-content/images/10kapart_logo.png" medium="image">
			<media:title type="html">10k Apart Logo</media:title>
		</media:content>
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>WordPress Child-Themes verstehen</title>
		<link>http://bueltge.de/wordpress-child-themes-verstehen/1192/</link>
		<comments>http://bueltge.de/wordpress-child-themes-verstehen/1192/#comments</comments>
		<pubDate>Tue, 27 Jul 2010 16:10:57 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Themes]]></category>
		<category><![CDATA[Tipps]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Template]]></category>
		<category><![CDATA[Theme]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[WP]]></category>
		<category><![CDATA[WP3.0]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1192</guid>
		<description><![CDATA[Mit der Version 3.0 von WordPress wurde die viel erwartete Funktion der <a href="http://codex.wordpress.org/Child_Themes">Child Themes</a> integriert - viel erwartet? Ja, leider nicht in Deutschland. Ich vermute, dass es einfach daran liegt, dass der Markt der kostenpflichtigen Themes hier wesentlich kleiner ist und die meisten Entwickler komplett neue Themes erstellen und nicht auf eine Basis setzen. Aber egal, nun gibt es eine Lösung dafür und ich möchte am Beispiel den neuen Standard-Theme <a href="http://wordpress.org/extend/themes/twentyten">TwentyTen</a> zeigen, wie man es nutzt.

Die Funktion der Child Themes kann im Grunde bei jedem Theme angewandt werden und die neuen Funktionen erleichtern den Zugriff und das Erstellen einen Child Themes. Im Vorfeld gab es auch Möglichkeiten ein Theme zu verändern ohne die eigentlichen Dateien des Themes stark zu verändern. Mit Hilfe der Unterstützung von Child Themes ist dies nun aber komplett unabhängig und so kann man ein Theme nutzen, kann ohne Problem updaten, und trotzdem eigene Ideen realisieren.

In einigen Beiträgen des Netzes wurde die Child Themes schon angesprochen und ich habe bisher nur Artikel gefunden, die die Aktivierung und Änderung des Stylesheets ansprechen. Daher möchte ich dazu nur kurz eingehen, dass ist im Grunde auch recht einfach und dann die verschiedenen Möglichkeiten im Bezug der Template-Dateien aufzeigen.]]></description>
			<content:encoded><![CDATA[<p>Mit der Version 3.0 von WordPress wurde die viel erwartete Funktion der <a href="http://codex.wordpress.org/Child_Themes">Child Themes</a> integriert - viel erwartet? Ja, leider nicht in Deutschland. Ich vermute, dass es einfach daran liegt, dass der Markt der kostenpflichtigen Themes hier wesentlich kleiner ist und die meisten Entwickler komplett neue Themes erstellen und nicht auf eine Basis setzen. Aber egal, nun gibt es eine Lösung dafür und ich möchte am Beispiel den neuen Standard-Theme <a href="http://wordpress.org/extend/themes/twentyten">TwentyTen</a> zeigen, wie man es nutzt. Ein weiteres Beispiel findet ihr im übrigen in meinem <a href="http://wpbasis.de">WP Basis-Theme</a> (<a href="http://code.google.com/p/wp-basis-theme/source/browse/#svn/trunk/basis-child-example%3Fstate%3Dclosed">SVN</a>); aktuell nicht die html5-Version.</p>
<p>Die Funktion der Child Themes kann im Grunde bei jedem Theme angewandt werden und die neuen Funktionen erleichtern den Zugriff und das Erstellen einen Child Themes. Im Vorfeld gab es auch Möglichkeiten ein Theme zu verändern ohne die eigentlichen Dateien des Themes stark zu verändern. Mit Hilfe der Unterstützung von Child Themes ist dies nun aber komplett unabhängig und so kann man ein Theme nutzen, kann ohne Problem updaten, und trotzdem eigene Ideen realisieren.</p>
<p>In einigen Beiträgen des Netzes wurde die Child Themes schon angesprochen und ich habe bisher nur Artikel gefunden, die die Aktivierung und Änderung des Stylesheets ansprechen. Daher möchte ich dazu nur kurz eingehen, dass ist im Grunde auch recht einfach und dann die verschiedenen Möglichkeiten im Bezug der Template-Dateien aufzeigen.<br />
<span id="more-1192"></span></p>
<h4>Vorteile der Idee Child Theme</h4>
<p>Mehr oder weniger versucht jeder Administrator einer WordPress Installation etwas Individualismus zu leben. Dabei gehen nicht alle den Weg eines eigens erstellen Themes. Nicht selten wird ein freies oder kommerzielles Theme genutzt und dann an die eigenen Bedürfnisse angepasst. Dabei haben diverse Themes unterschiedliche Optionen, die aber trotzdem nur selten für das Anpassen ausreichen. Will man die einzelnen Darstellungen anpassen, beispielsweise die Sicht einer Kategorie, führt dies schnell zu sehr starken Veränderungen des Themes. Egal wie umfangreich, ein Update eines Themes ist nicht mehr ohne Probleme realisierbar. Hier kommen die Child Themes ins Spiel.</p>
<p>Mit einem Child Theme kann ein Theme angepasst werden oder man kann ein Theme als "Framework" nutzen und dabei komplett eigene Ideen umsetzen. Egal wie umfangreich, das eigentliche Theme bleibt unangetastet und kann ein Update erfahren.</p>
<h4>Nachteile der Verwendung Child Theme</h4>
<p>Wie so oft, wo Vorteile sind, sind auch Nachteile. Nicht selten sind die "Framework" Themes sehr umfangreich und bringen sehr viele Funktionen mit, die man als Laie nicht mehr überschauen kann und das Anpassen kann viel Mühe und Zeit kosten. Hier können auch die Child Themes nicht helfen.<br />
Einen großen Nachteile sehe ich  in der Performance, muss WordPress doch einnen Schritt weiter gehen und sich in zwei Bereichen nach den Templates umsehen und entsprechend ziehen.<br />
Im weiteren werden in der Regel die Stylesheets, wenn man auf sie aufbaut, via @-Regel eingebunden, die <a href="http://www.stevesouders.com/blog/2009/04/09/dont-use-import/">Nachteile in der Performance</a> hat.</p>
<p>In allen negativen Punkten kommt es auf Können und Wissen des Entwicklers an, also wie man das Theme bzw. Child Theme erstellt. Damit kann man die Punkte entkräften. Wichtig: die neue Funktion ist kein Freibrief, sie sollte genauso überlegt eingesetzt werden. Aber sie sorgt dafür, dass man sein erstandenes Theme nicht anfassen muss und trotzdem sehr überschaubar Anpassungen vornehmen kann.</p>
<h3>Child Theme anlegen</h3>
<p>Genug der Vorrede, die man sicher erweitern und diskutieren kann. Am Beispiel Theme TwentyTen soll nun eine angepasstes Theme entstehen - ich nenne es <em>TwentyTenJump</em> <img src='http://bueltge.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Im ersten Schritt wird ein neuer Ordner angelegt, in dem wir alle Template-Dateien, Bilder, Scripte und Stylesheets ablegen - was man im Grunde für das Child Theme benötigt. In diesem Beispiel ist das der Ordner <em>twentytenjump</em>. Um ein Child Theme zu erzeugen und WordPress dieses erkennbar zu machen bedarf es lediglich der <code>style.css</code> innerhalb der neuen Ordners mit diversen Strings in einem Kommentar.</p>
<p>Innerhalb der <code>style.css</code> sieht es wie folgt aus.</p>
<pre><code class="css">
@charset "UTF-8";

/**
 * Theme Name:     TwentyTenJump
 * Theme URI:      http://bueltge.de/?p=1192
 * Description:    Child theme for the Twenty Ten theme. Realized for a small tutorial to child themes in WordPress.
 * Author:         Frank Bültge
 * Author URI:     http://bueltge.de/
 * Template:       twentyten
 * Version:        0.1.0
 */

@import url('../twentyten/style.css');

</code></pre>
<p>Entscheidend sind die Schlüssel <em>Theme Name</em> und <em>Template</em>. Der Schlüssel <code>Template</code> verweist auf den <strong>Ordner-Namen</strong> des Theme, welches als Basis gezogen wird - in diesem Beispiel das Theme Twentyten.</p>
<p>Folgenden Aufbau habe ich nun innerhalb der Installation von WordPress.</p>
<ul>
<li><code>wp-content</code>
<ul>
<li><code>themes</code>
<ul>
<li><code>twentyten</code></li>
<p> (das Basis-Theme, inkl. aller Template-Dateien)</p>
<ul>
<li><code>style.css</code></li>
<li><code>index.php</code></li>
<li>...</li>
</ul>
<li><code>twentytenjump</code>
<ul>
<li><code>style.css</code> (muss diese Namenskonvetion erfüllen: <i>style.css</i>)</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<p>Damit sind die ersten Voraussetzungen geschaffen und man kann das neue Theme im Backend von WordPress aktivieren.<br />
<strong>Achtung:</strong> der Verweis auf das Basis-Theme ist nicht sonderlich auffällig, so dass man die Abhängigkeit übersehen könnte. Darum also immer kontrolliert ein Theme löschen. Am verwendeten Theme gibt es keinerlei Hinweis, dass ein anderes Theme als Child-Theme auf dieses Theme zugreift.</p>
<p><img class="centered" src="http://bueltge.de/wp-content/images/wp/child-theme.jpg" alt="Child Themes in WordPress" /></p>
<h4>Am Stylesheet drehen</h4>
<p>Ab nun kann man jede beliebe Änderung in dem eigenen Stylesheet ablegen. Ebenfalls kann natürlich der Aufruf des Stylesheets <code>@import url('../twentyten/style.css');</code> aus dem Basis-Theme entfallen und man kann sich komplett eigene Stylesheet-Strukturen aufbauen.</p>
<p>Man nutzt quasi die Template-Dateien, den Aufbau und das PHP-KnowHow vom Basis Theme, in dem Fall Twenty Ten. Man kümmert sich ausschließlich um das Design und das im beliebigen Umfang. Beispielsweise könnte das im einfachsten Fall eine Farbänderung des Hintergrund sein und alternativ kann ein komplett eigenes Design kreiert werden.</p>
<h4>Templates ersetzen</h4>
<p>Die Funktionalität des Child Theme lässt aber mehr zu als das Änderung des Aussehen. So kann man bestehende Template-Dateien des Basis-Themes ersetzen. WordPress sucht quasi im ersten Schritt im übergeordneten Child Theme und dann im Basis-Theme nach dem möglichen Template. Durchläuft dabei die <a href="http://codex.wordpress.org/File:Template_Hierarchy.png">Hierarchie der Template-Dateien</a>.</p>
<p>An vielen Punkten vom Theme kann man via Hook eingreifen, was aber nicht jedem Nutzer liegt und kompliziert erscheint. So wird nicht selten die Ausgabe des Titel im <code>head</code> einer Website mit eigenen Funktionen oder von Plugins ersetzt. Man kann entweder via Hook den Titel bearbeiten oder die Ausgabe über eine Funktion steuern. Für das Beispiel soll nun der Titel mit einer Funktion aus einem Plugin ausgegeben werden. In dem Fall muss die <code>header.php</code> bearbeitet werden und darum muss man wie folgt vorgehen, so dass das Basis-Theme unangetastet bleibt.</p>
<p>Es ist lediglich die <code>header.php</code>, die den <code>head</code>-Abschnitt für das Theme enthält in das eigene Child Theme zu kopieren und hier kann sie beliebig bearbeitet werden. Ab nun zieht WordPress diese <code>header.php</code> und nicht mehr die Original-Datei aus dem Basis Theme Twenty Ten.</p>
<p>Damit kann nun auch die angesprochene Funktion in den Title integriert werden, ein Beispiel:</p>
<pre><code class="php">
&lt;title&gt;&lt;?php
	/*
	 * Print the &lt;title&gt; tag based on what is being viewed.
	 * We filter the output of wp_title() a bit -- see
	 * twentyten_filter_wp_title() in functions.php.
	 */
	if ( function_exists('seo_title_tag') )
		seo_title_tag();
	else
		wp_title( '|', true, 'right' );

	?&gt;&lt;/title&gt;
</code></pre>
<p>Das Basis-Theme bleibt unangetastet, kann weiterhin via Updates auf dem neusten Stand gehalten werden und ab nun zieht WordPress die <code>header.php</code> immer aus dem Child Theme.</p>
<p>Wie in diesem kleinen Beispiel kann man jedes Template ersetzen und so an die eigenen Anforderungen angepasst werden. Trotzdem sollte man bedenken, dass man das Template komplett ersetzt - in dem Beispiel-Fall würde man also ein Update der <code>header.php</code> nicht mitbekommen. Insofern kann es nützlich sein, wenn man auf diverse Bereiche besser via Hook zugreift und diese in eigenen Funktionen abbildet, dazu gleich mehr.</p>
<p><strong>Wichtig:</strong> eine Ausnahme ist die <code>functions.php</code>, dazu im Anschluss mehr.</p>
<h4>Templates erweitern</h4>
<p>Um eigene Anforderungen zu erfüllen, kann es sein, dass man neue Templates benötigt, Template-Dateien die es im Ist-Zustand nicht im Basis-Theme nicht gibt. Im Sinne der Hirarchie kann man immer erweitern. Beispielsweise besitzt Twenty Ten keine <code>home.php</code> - sollte man die aber definieren wollen, also dann wenn die definierte Home-Seite des Backend im Frontend geladen wird, dann kann man diese Datei einfach in das Child-Theme ablegen und WordPress zieht diese Datei, wenn der Zustand <code>is_home()</code> wahr ist.</p>
<p>Mit WordPress Version 3.0 gibt es aber eine weitere Möglichkeit außerhalb der Template-Hirarchie um eigene Templates einzubringen - <a href="http://bueltge.de/template-part-im-wordpress-template-laden/1157/" title="mehr Information in einem weiteren Beitrag"><code>get_template_part()</code></a>.<br />
Diese Funktion wird konsequent innerhalb von Twenty Ten verwendet - damit muss man in diversen Fällen keine eigenen Templates für den kompletten Aufruf anlegen, sondern lediglich den Abschnitt des Loop.<br />
Beispielsweise nutzt Twenty Ten für die Darstellung der Kategorie-Archive den Aufruf <code>get_template_part( 'loop', 'category' );</code>. Damit ist es möglich, dass in unserem Child Theme ein Template abgelegt wird, was diesen Loop bedient. Es ist also lediglich eine Datei <code>loop-category.php</code> anzulegen und dort alle notwendigen Infos abzulegen.<br />
Im folgenden Beispiel passe ich den Loop an, wenn man sich einem der vier Kategorien befindet. Weitere Änderungen sind möglich, so dass man volle Kontrolle und Flexibilität erhält.</p>
<pre><code class="php">
// Anpassungen des Loop
if ( in_category( array(47, 37, 27, 45) ) ) {
	query_posts( 'cat='.$cat.'&amp;posts_per_page=-1&amp;orderby=title&amp;order=ASC' );
}	else {
	query_posts( 'cat='.$cat.'&amp;posts_per_page=20&amp;paged='.$paged );
}
while ( have_posts() ) : the_post(); ?&gt;
</code></pre>
<p>Ähnlich könnte man so den Loop für die <code>index.php</code> anpassen - Template Datei <code>loop-index.php</code> wäre dann im Spiel</p>
<h4>Funktionen einbringen</h4>
<p>Natürlich kann man auch innerhalb des Child-Theme eigene Funktionen einbringen. Wenn man eine eigene <code>functions.php</code> im Child Theme ablegt, dann ersetzt diese Datei nicht die <code>functions.php</code> des Basis-Theme!<br />
Es werden immer die Funktionen des Basis-Theme genutzt; man muss sie via Hook deaktivieren. Die Möglichkeit wird auch in einer Doku in der Datei functions.php erklärt.</p>
<pre><code class="php">
add_action( 'after_setup_theme', 'my_child_theme_setup' );
function my_child_theme_setup() {
		// We are providing our own filter for excerpt_length (or using the unfiltered value)
		remove_filter( 'excerpt_length', 'twentyten_excerpt_length' );
		...
}
</code></pre>
<p>Innerhalb der Funktion <code>my_child_theme_setup()</code> kann man nun Funktione des Basis-Theme deaktivieren und eigene Funktionen einbringen.</p>
<p>Weitere Funktionen gehören in die <code>functions.php</code> des Child Themes - das Basis-Theme bleibt immer unangetastet. Im folgenden Code dazu ein Beispiel.<br />
Dabei deaktiviere ich die Funktion des Basis Theme Twenty Ten zur Länge des Excerpt und lade dazu eine eigene Funktion <code>twentytenjump_excerpt_length()</code> und es wird ein Widget eingebracht.</p>
<pre><code class="php">
&lt;?php
function twentytenjump_setup() {

	remove_filter( 'excerpt_length', 'twentyten_excerpt_length' );
	add_filter( 'excerpt_length', 'twentytenjump_excerpt_length' );

	add_action( 'widgets_init', 'register_limited_catagories_widget' );
}
add_action( 'after_setup_theme', 'twentytenjump_setup' );

function twentytenjump_excerpt_length( $length ) {
	return 10;
}

class limited_catagories_list_widget extends WP_Widget {

	function limited_catagories_list_widget(){
		$widget_ops = array( 'classname' =&gt; __('Selective categories'), 'description' =&gt; __('Show a list of Categories, with the ability to exclude categories') );

		$control_ops = array( 'id_base' =&gt; 'some-cats-widget' );
		$this-&gt;WP_Widget( 'some-cats-widget', __('Selective Catagories'), $widget_ops, $control_ops );
	}

	function form ( $instance){
		$defaults = array( 'title' =&gt; __('Catagories'), 'cats' =&gt; '', 'count' =&gt; 0 );
		$instance = wp_parse_args( (array) $instance, $defaults );
		$count = isset($instance['count']) ? (bool) $instance['count'] :false;
		?&gt;
		&lt;p&gt;
			&lt;label for=&quot;&lt;?php echo $this-&gt;get_field_id( 'title' ); ?&gt;&quot;&gt;&lt;?php _e( 'Title:' ); ?&gt;&lt;/label&gt;
			&lt;input id=&quot;&lt;?php echo $this-&gt;get_field_id( 'title' ); ?&gt;&quot; name=&quot;&lt;?php echo $this-&gt;get_field_name( 'title' ); ?&gt;&quot; value=&quot;&lt;?php echo $instance['title']; ?&gt;&quot; class=&quot;widefat&quot; /&gt;
		&lt;/p&gt;
		&lt;p&gt;
			&lt;input type=&quot;checkbox&quot; class=&quot;checkbox&quot; id=&quot;&lt;?php echo $this-&gt;get_field_id('count'); ?&gt;&quot; name=&quot;&lt;?php echo $this-&gt;get_field_name('count'); ?&gt;&quot;&lt;?php checked( $count ); ?&gt; /&gt;
			&lt;label for=&quot;&lt;?php echo $this-&gt;get_field_id('count'); ?&gt;&quot;&gt;&lt;?php _e( 'Show post counts' ); ?&gt;&lt;/label&gt;&lt;br /&gt;
		&lt;/p&gt;
		&lt;p&gt;
			&lt;label for=&quot;&lt;?php echo $this-&gt;get_field_id( 'cats' ); ?&gt;&quot;&gt;&lt;?php _e( 'Categories to exclude (comma separated list of Category-IDs): ' ); ?&gt;&lt;/label&gt;
			&lt;input id=&quot;&lt;?php echo $this-&gt;get_field_id( 'cats' ); ?&gt;&quot; name=&quot;&lt;?php echo $this-&gt;get_field_name( 'cats' ); ?&gt;&quot; value=&quot;&lt;?php echo $instance['cats']; ?&gt;&quot; class=&quot;widefat&quot; /&gt;
		&lt;/p&gt;
		&lt;?php
	}

	function update($new_instance, $old_instance) {
			$instance = $old_instance;
			$instance['title'] = strip_tags( $new_instance['title'] );
			$instance['count'] = !empty($new_instance['count']) ? 1 : 0;
			$instance['cats']  = strip_tags( $new_instance['cats'] );
			return $instance;
	}

	function widget($args, $instance){
		extract( $args );
		$title = apply_filters('widget_title', $instance['title'] );
		$c     = $instance['count'] ? '1' : '0';
		$cats  = $instance['cats'];
		echo $before_widget;
		if ( $title )
			echo $before_title . $title . $after_title;
		echo '&lt;ul&gt;';
		wp_list_categories(&quot;exclude=$cats&amp;title_li=&amp;show_count=$c&quot;);
		echo '&lt;/ul&gt;';
		echo $after_widget;
	}

}

function register_limited_catagories_widget(){
	register_widget('limited_catagories_list_widget');
}
?&gt;
</code></pre>
<h3>Fazit</h3>
<p>Ich meine aktuell, dass durch die Einführung des neuen Standard-Theme Twenty Ten sicher einige neue schöne Funktionen hinzugekommen sind. Ich denke aber ebenso, dass Twenty Ten sehr ungeeignet ist um die Arbeit von WordPress im Bereich des Themes zu verstehen. Gerade Einsteiger und PHP-Neulinge werden sich schwer tun. Trotzdem entstehen so neue Möglichkeiten und will man Child Themes sauber nutzen, dann kommt man um das Verständnis der Hooks in der WordPress API nicht herum. WordPress führt die Idee der Hooks konsequent fort, schon immer in Plugins beliebt, machen sie sich nun auch in Themes breit. Alles hat Vor- und Nachteile.<br />
Nutzt man aber ein gut gepflegtes Theme oder Framework, dann wird man die neuen Möglichkeiten schätzen und kann so immer ohne Probleme Updaten. Entscheidend wird das eigene Wissen um WordPress sein - je nach Interesse, Wissensstand und Arbeitsweise kann man eigene Themes erstellen. Man sollte sich im Vorfeld Gedanken machen und nicht blind loslegen und wie so oft, am Theme schrauben.</p>
<h3>Download:</h3>
<p>Zum Abschluss noch das Theme mit den entsprechenden Template-Dateien als Downlaod, so dass man einen kleinen Start zum Spielen hat.</p>
<form class="spenden" action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="DT9BG8NJTXQN4">
<input type="image" src="http://bueltge.de/wp-content/images/donate.png" border="0" name="submit" alt="Jetzt einfach, schnell und sicher online bezahlen – mit PayPal.">
<img class="ob" alt="Spendenbutton" src="https://www.paypal.com/de_DE/i/scr/pixel.gif" width="1" height="1"><br />
</form>
<p><strong>Ist die Arbeit nicht 1 Euro wert?</strong><br />
Jede Spende wird dankbar angenommen und erm&ouml;glicht das weitere Arbeiten an freier Software.<br />
M&ouml;chtest du mehr oder anders spenden, so besuche meine <a href="http://bueltge.de/wunschliste/">Wunschliste</a>.<br />
Download als zip-Datei: <a href="http://bueltge.de/wp-content/download/wp/themes/twentytenjump.zip">twentytenjump.zip</a> - 5 kByte<br />
<hr />
<p style="float:right;"><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/></p>
<p><small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p style="border: 1px solid #666666; padding: 5px; background: #e6e6e6 none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; display: block; margin-bottom: 25px;"><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://flattr.com/thing/13244/bueltge-de-byltge-de" title="Flattr this">Flattrn</a> &middot; <a href="http://bueltge.de/wordpress-child-themes-verstehen/1192/#writecomment" title="zu den Kommentaren">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/wordpress-child-themes-verstehen/1192/feed/</wfw:commentRss>
		<slash:comments>31</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/wp/child-theme.jpg" />
		<media:content url="http://bueltge.de/wp-content/images/wp/child-theme.jpg" medium="image">
			<media:title type="html">Child Themes in WordPress</media:title>
		</media:content>
		<media:content url="http://bueltge.de//www.paypal.com/de_DE/i/scr/pixel.gif" medium="image">
			<media:title type="html">Spendenbutton</media:title>
		</media:content>
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>WordPress Custom Post Type und Permalinks</title>
		<link>http://bueltge.de/wordpress-custom-post-type-permalinks/1194/</link>
		<comments>http://bueltge.de/wordpress-custom-post-type-permalinks/1194/#comments</comments>
		<pubDate>Mon, 26 Jul 2010 09:42:46 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Tipps]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[Theme]]></category>
		<category><![CDATA[WP]]></category>
		<category><![CDATA[WP3.0]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1194</guid>
		<description><![CDATA[Bei der Verwendung von Custom Post Types und aktiven Permalinks muss die neue Erzeugung der Permalinks beachtet werden! Die Rewrite Rules von WordPress müssen neu geschrieben werden.]]></description>
			<content:encoded><![CDATA[<p>Seit Version 3.0 von WordPress werden die <a href="http://wpengineer.com/impressions-of-custom-post-type/">Custom Post Types</a> unterstützt und man kann eigene Typen von Inhalten definieren - eher zu verstehen wie Seiten, nicht wie Artikel! Dabei kann automatisiert die Permalink-Struktur von WordPress unterstützt werden. Die bedeutet, wenn man einen eigenen Post Type anlegt, dann kann dieser bei aktiver Verwendung von Permalinks genutzt werden.</p>
<p>Aber die Permalinks klappen erst dann, wenn die Rewrite Rules von WordPress neu erzeugt wurden <span id="more-1194"></span>- vermutlich kommen da die vielen Fragen her. Wenn man einen neuen Post Type anlegt und damit spielt, kommt oft die Frage, warum der Aufruf des Custom Beitrags auf einen 404 führt - WordPress kennt die URL-Struktur in den Permalinks nicht und immer wieder vergisst man, dass man die Rewrite Rules neu erzeugen muss.<br />
Im einfachsten Fall speichert man das Setzen der Permalinks in den Einstellungen neu - alternativ kann man in sein Plugin oder das Theme die Funktion <code>flush_rewrite_rules()</code> integrieren. Diese bewirkt das erneute Setzen der Rewrite Rules.</p>
<p>* Ich überlege, ob ich ein Plugin mit Verwendung der Custom Post Types bereit stelle, wobei ich verschiedene Erweiterungen integriert habe, die mir typisch in der Verwendung der Post Types erscheinen. Wie ist dazu die Meinung, oder ist dies eher Entwicklerwerkzeug und bei diesen Anwendern bekannt und damit für die Leser uninteressant oder zu viel Code?<br />
<hr />
<p style="float:right;"><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/></p>
<p><small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p style="border: 1px solid #666666; padding: 5px; background: #e6e6e6 none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; display: block; margin-bottom: 25px;"><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://flattr.com/thing/13244/bueltge-de-byltge-de" title="Flattr this">Flattrn</a> &middot; <a href="http://bueltge.de/wordpress-custom-post-type-permalinks/1194/#writecomment" title="zu den Kommentaren">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/wordpress-custom-post-type-permalinks/1194/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/favicon.ico" />
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>WordPress-Theme in Abhängigkeit des Titel</title>
		<link>http://bueltge.de/wordpress-theme-in-abhaengigkeit-des-titel/397/</link>
		<comments>http://bueltge.de/wordpress-theme-in-abhaengigkeit-des-titel/397/#comments</comments>
		<pubDate>Thu, 15 Jul 2010 23:42:05 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Tipps]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Theme]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=397</guid>
		<description><![CDATA[Individuelle Styles für jede Seite sind aktuell ein Trend. WordPress bietet verschiedene Ansätze dafür, eine Möglichkeit will ich aufzeigen.]]></description>
			<content:encoded><![CDATA[<p>Das Blog hat ein Theme und bekommt für jede Seite ein extra Stylesheet. Dieser aktuelle Trend der Individualität für jeden Inhalt wird auf diversen Sites diskutiert. Auch mit WordPress kann man dies tun; verschiedene Möglichkeiten gibt es. Eine Möglichkeit ist es auf Basis des Titels ein individuelles Stylesheet zu erstellen.<br />
Im Standard gibt die Klassenvergabe der Funktion <a href="http://codex.wordpress.org/Template_Tags/body_class" title="mehr dazu im Codex von WordPress"><code>body_class()</code></a> schon eine Menge an Möglichkeiten. Noch mehr Individualität kann man über den Titel oder die ID erreichen.<br />
Lohnt sicher nicht im klassischen Blogumfeld aber für eine Seite mit überschaubaren Content und dem wunschgemäßen Unterschied funktioniert meine Idee recht gut. Wie habe ich es in dem Fall umgesetzt?<br />
<span id="more-397"></span><br />
Wenn eine Seite geladen wird, dann kann man ja den Title übergeben. Wenn man diesen in den Body-Tag als ID oder class übernimmt, und dann jeweils für die <code>ID</code> oder <code>class</code> eine Style erstellt, wird das passende Design geladen.</p>
<p>Alternativ kann man mit der ID der Seite oder des Beitrags arbeiten, Funktion the_ID() übergibt diese. Aufpassen, IDs und Klassen dürfen nicht mit einem Zahlenweert beginnen und daher muss ein String ergänzt werden, beispielsweise </p>
<pre><code class="php">
&lt;div id="page-&lt;?php the_ID(); ?&gt;"&gt;
</code></pre>
<p>Als letzte Alternative möchte ich erwähnen, dass man die Funktion <code>body_class()</code> via Hook mit eigenen Klassen erweitern kann. So kann man auch den Titel einer Seite/Beitrags via Hook in diese Funktion bringen und ausgeben lassen.</p>
<pre><code class="php">
function fb_title_body_class($classes) {
	global $post;

	$classes[] = sanitize_title_with_dashes( get_the_title( $post->ID ) );

	return $classes;
}
add_filter( 'body_class', 'fb_title_body_class' );
</code></pre>
<p>Im folgenden der einfachste Fall via Titel, so dass man lediglich diese Klasse ausgibt und <code>body_class()</code> wird nicht genutzt.</p>
<h4>Mit Hilfe des Titel</h4>
<p>in den header des Themes kommt das Stylesheet:</p>
<pre><code>
&lt;link rel="stylesheet" href="&lt;?php bloginfo('template_url'); ?&gt;/custom.css" type="text/css" media="screen" /&gt;
</code></pre>
<p>Alternativ wird dieses via Hook <code>wp_head</code> eingebunden, wenn die entsprechende Seite geladen wird, so lädt man das explizite Stylesheet nur, wenn es benötigt wird und der header ist lesbar. Alles spielt sich in der <code>functions.php</code> des Themes ab.</p>
<p>in den body-Tag der <code>page.php</code> kommt der Titel der Seite:</p>
<pre><code>&lt;body class="&lt;?php echo sanitize_title_with_dashes( get_the_title() ); ?&gt;"&gt;</code></pre>
<p>Damit hat die Seite "My Home" den body-Tag:</p>
<pre><code>
&lt;body class="my-home"&gt;
und so weiter...
</code></pre>
<p>in der <code>custom.css</code> definierst du nun alle Styles für class home: bsp.</p>
<pre><code>
.my-home a { color: #090; text-decoration: none; }
.my-home a:visited { color: #999; text-decoration: none; }
.my-home a:hover { color: #f60; text-decoration: none; }
</code></pre>
<p>in dem original-Theme sieht das so aus:</p>
<pre><code>
a { color: #009; text-decoration: underline; }
a:visited { color: #999; text-decoration: underline; }
a:hover { color: #c00; text-decoration: underline; }
</code></pre>
<p>Wie ich finde, ein Ansatz mit viel Potential und dies überlasse ich gern eurer Kreativität. Wer also mit WordPress für jede Seite ein anders Stylesheet laden möchte, hat so einen Ansatz für eine Lösung.</p>
<h4>Plugin-Lösung</h4>
<p>Auf Wunsch einiger Leser habe ich ein kleines Plugin erstellt, welches den Titel des Beitrags in die Funktion body_class() schreibt. Man muss also lediglich das Plugin aktivieren und die WordPress Standard-Funktion body_class() im body-Tag verwenden - wenn sie nicht schon im Theme integriert ist. In der Regel findet das im Template <code>header.php</code> statt.</p>
<pre><code class="php">
&lt;body &lt;?php body_class(); ?&gt;&gt;
</code></pre>
<p>Die Version 0.1 sieht wie folgt aus:</p>
<pre><code>
&lt;?php
/**
 * Plugin Name: Title 2 body_class
 * Plugin URI: http://bueltge.de/wordpress-theme-in-abhaengigkeit-des-titel/397/
 * Text Domain: title2bodyclass
 * Domain Path: /languages
 * Description: Add the title of the post to the boy_class-function
 * Author: Frank B&amp;uuml;ltge
 * Version: 0.1
 * Author URI: http://bueltge.de/
 * Donate URI: http://bueltge.de/wunschliste/
 * License: GPL
 * Last change: 26.07.2010 10:37:23
 */ 

/**
License:
==============================================================================
Copyright 2010 Frank Bueltge  (email : frank@bueltge.de)

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

Requirements:
==============================================================================
This plugin requires WordPress &gt;= 2.8 and tested with PHP Interpreter &gt;= 5.2.9
*/

if ( !class_exists('title2body_class') ) {

	global $wp_version;
	if ( !function_exists ('add_action') || version_compare($wp_version, &quot;2.8alpha&quot;, &quot;&lt;&quot;) ) {
		if (function_exists ('add_action'))
			$exit_msg = 'The plugin requires WordPress 2.8 or newer. &lt;a href=&quot;http://codex.wordpress.org/Upgrading_WordPress&quot;&gt;Please update WordPress&lt;/a&gt; or delete the plugin.';
		else
			$exit_msg = '';
		header('Status: 403 Forbidden');
		header('HTTP/1.1 403 Forbidden');
		exit($exit_msg);
	}

	class title2body_class{

		function __construct() {

			add_action( 'body_class', array( &amp;$this, 'title_body_class' ) );
		}

		function title_body_class($classes) {
			global $post;

			$classes[] = sanitize_title_with_dashes( get_the_title( $post-&gt;ID ) );

			return $classes;
		}
	}

	function title2body_class_start(){
		new title2body_class();
	}

	add_action('plugins_loaded', 'title2body_class_start');
}
?&gt;
</code></pre>
<p>Download des Plugins <strong>Title 2 body_class</strong>: <a href="http://bueltge.de/wp-content/download/wp/plugins/title2body-class.zip">title2body-class.zip</a> (1 kByte)<br />
<hr />
<p style="float:right;"><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/></p>
<p><small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p style="border: 1px solid #666666; padding: 5px; background: #e6e6e6 none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; display: block; margin-bottom: 25px;"><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://flattr.com/thing/13244/bueltge-de-byltge-de" title="Flattr this">Flattrn</a> &middot; <a href="http://bueltge.de/wordpress-theme-in-abhaengigkeit-des-titel/397/#writecomment" title="zu den Kommentaren">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/wordpress-theme-in-abhaengigkeit-des-titel/397/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/favicon.ico" />
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>Gürtel für Unentschlossene und Selbermacher</title>
		<link>http://bueltge.de/guertel-fuer-unentschlossene-und-selbermacher/1191/</link>
		<comments>http://bueltge.de/guertel-fuer-unentschlossene-und-selbermacher/1191/#comments</comments>
		<pubDate>Thu, 15 Jul 2010 09:02:13 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Linktipp]]></category>
		<category><![CDATA[Test]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1191</guid>
		<description><![CDATA[Ab und an sitzt man ja mit Freunde zusammen und hat die eine oder andere tolle Idee - nicht selten stirbt man über der Idee aber ab und man glaubt nicht wirklich an eine Realisierung. Das folgende Produkt ist so was - da würde ich beim Bier sicher drüber philosophieren, einen Businessplan würde ich aber für Riskant erachten und so war ich sehr gespannt auf den Gürtel  von <a href="http://www.wechselwild.com/">wechselwild.com</a> für Unentschlossene und Selbermacher.]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" src="http://bueltge.de/wp-content/images/belt/guertel-komplett-vorschau.jpg" alt="Gürtel Beispiele" /><br />
Dass ich hier im Blog immer mal das eine oder andere Produkt vorstelle, ist sicher schon aufgefallen. Dieses mal habe ich was ganz Anderes. Die eine oder andere Idee wird mir immer mal heran getragen - wichtig ist mir: ich muss schreiben können, was ich denke und nicht der Produkthersteller, und ich muss Lust darauf haben.</p>
<p>Ab und an sitzt man ja mit Freunden zusammen und hat die eine oder andere tolle Idee - nicht selten stirbt man über der Idee ab und man glaubt nicht wirklich an eine Realisierung. Das folgende Produkt ist so was - da würde ich beim Bier sicher drüber philosophieren, einen Businessplan würde ich aber für Riskant erachten und so war ich sehr gespannt auf den Gürtel  von <a href="http://www.wechselwild.com/">wechselwild.com</a> für Unentschlossene und Selbermacher.<br />
<span id="more-1191"></span><br />
Ich habe das Einsteigerset von wechselwild bekommen und dies enthält einen Gürtel (in meinem Fall schwarzes Leder) mit der ideenreichen Schnalle, diverse Bilder und einen Rahmen zum vereinfachten Erstellen eigener Motive.<br />
<img class="centered" src="http://bueltge.de/wp-content/images/belt/belt.jpg" alt="Verpackung des Einsteigersets" /><br />
Beim Auspacken gefällt die Aufmachung. Der Gürtel macht was her, tolles Material und sehr gute Verarbeitung. Die Größe der Schnalle ist vielleicht nicht jedermann Sache, aber dies ist persönlicher Geschmack. Die Schnalle kommt mit magnetischer Wirkung und so kann man beliebig das Motiv der Schnalle ändern - zu jedem Anlass oder Kleidungsstück gibt es damit die passende Gürtelschnalle. Wie schon erwähnt, finde ich ein tolle und witzige Aktion und wenn dazu noch die Qualität passt, dann ist dies sicher lobenswert. Ich bewundere den Mut zu diesem Produkt.</p>
<blockquote><p>Same Shit. Different Belt.</p></blockquote>
<p><img class="alignright" src="http://bueltge.de/wp-content/images/belt/guertelschnalle-rueckseite-vorschau.jpg" alt="Gürtel Rückseite" /><br />
Der Slogan der Jungs und Mädels zeigt eigentlich, was den Gürtel ausmacht. Man ist kreativ und kann sich selbst verwirklichen im Design der Gürtelschnalle. Mit Shirts wird diese Idee ja seit Jahren praktiziert und nun gibt es eine weitere Zone des Körpers, die man kreativ und passend gestalten kann. Schaut euch doch mal in den <a href="http://www.wechselwild.com/start/wechselbilder">Motiven</a> um (<a href="http://www.wechselwild.com/motiv/schieber">iPhone Liebhaber werden ebenso fündig</a>), auch da kann man sich Inspiration holen und das Aussehen komplettieren.</p>
<p>Ich für meinen Teil finde die Idee toll, der Preis des <a href="http://www.wechselwild.com/guertel-starterset-classic">Einsteigersets</a> passt zur Qualität des Gürtels, gilt für Leder, Schnalle und Verarbeitung. Ich wünsche der Idee viel Erfolg, macht sie die Straßen doch wieder ein Stück bunter.</p>
<p>Die <a href="http://www.wechselwild.com/">Website</a> gibt viele Infos, Optionen und Möglichkeiten - offensichtlich lebt man Veränderungen und Weiterentwicklung. Schaut euch um, bildet euch eine Meinung und vielleicht seit ihr ja ebenso begeistert wie ich.<br />
<hr />
<p style="float:right;"><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/></p>
<p><small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p style="border: 1px solid #666666; padding: 5px; background: #e6e6e6 none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; display: block; margin-bottom: 25px;"><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://flattr.com/thing/13244/bueltge-de-byltge-de" title="Flattr this">Flattrn</a> &middot; <a href="http://bueltge.de/guertel-fuer-unentschlossene-und-selbermacher/1191/#writecomment" title="zu den Kommentaren">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/guertel-fuer-unentschlossene-und-selbermacher/1191/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/belt/guertel-komplett-vorschau.jpg" />
		<media:content url="http://bueltge.de/wp-content/images/belt/guertel-komplett-vorschau.jpg" medium="image">
			<media:title type="html">Gürtel Beispiele</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/images/belt/belt.jpg" medium="image">
			<media:title type="html">Verpackung des Einsteigersets</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/images/belt/guertelschnalle-rueckseite-vorschau.jpg" medium="image">
			<media:title type="html">Gürtel Rückseite</media:title>
		</media:content>
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>WordPress Plugin Secure WordPress abgegeben</title>
		<link>http://bueltge.de/wordpress-plugin-secure-wordpress-abgegeben/1189/</link>
		<comments>http://bueltge.de/wordpress-plugin-secure-wordpress-abgegeben/1189/#comments</comments>
		<pubDate>Fri, 09 Jul 2010 13:42:58 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Plugin]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[WordCamp]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1189</guid>
		<description><![CDATA[Das Plugin Secure WordPress wird von mir nicht mehr supportet, ich habe es an einen anderen Eigner übergeben. Für die Anwender bleibt trotzdem alles beim alten.]]></description>
			<content:encoded><![CDATA[<p>Das Plugin <a href="http://bueltge.de/wordpress-login-sicherheit-plugin/652/">Secure WordPress</a> verbindet einige Themen, um die WordPress Installation ein wenig sicherer zu machen. Das Plugin erfreut sich großer Beliebtheit und in einer der vergangenen Versionen habe ich den kostenlosen Scan eines Sicherheitsunternehmens integriert. Auch diese wird eifrig genutzt und das Bewusstsein zum Thema Sicherheit wird größer. Durch die Integration des externen Scans war ich häufig in Kontakt mit den Leuten dieses Unternehmens und ich habe im Zuge der Gespräche das Plugin an <a href="http://www.sitesecuritymonitor.com/secure-wordpress-plugin">Site Security Monitor</a> abgegeben. Damit übernehme ich keinen Support mehr.</p>
<p>Das Plugin ist weiterhin frei, Open Source und GPL. Für Anwender also kein Nachteil - für mich der Vorteil, dass ich eine Aufgabe weniger habe. Weitere Hinwiese gibt es von den neuen <a href="http://www.sitesecuritymonitor.com/blog/bid/43091/SSM-Takes-over-Leading-Wordpress-Security-Plugin">Entwicklern</a>. <span id="more-1189"></span><br />
Ich habe schon in der Vergangenheit Plugins abgegeben oder sterben lassen - dies ist immer eine Entscheidung des oder der Autoren. In diesem Fall ist wohl in beiden Nutzern gedient, denn der Backlink dieses Plugins ist sicher als hochwertig einzustufen und für Anwender bleibt das Plugin erhalten. Weitere Plugins von mir - die im SVN von WordPress gehostet sind, noch immer genug für den Abend, findet man über meinen <a href="http://wordpress.org/extend/plugins/profile/bueltge">User</a>.<br />
<hr />
<p style="float:right;"><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/></p>
<p><small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p style="border: 1px solid #666666; padding: 5px; background: #e6e6e6 none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; display: block; margin-bottom: 25px;"><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://flattr.com/thing/13244/bueltge-de-byltge-de" title="Flattr this">Flattrn</a> &middot; <a href="http://bueltge.de/wordpress-plugin-secure-wordpress-abgegeben/1189/#writecomment" title="zu den Kommentaren">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/wordpress-plugin-secure-wordpress-abgegeben/1189/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/favicon.ico" />
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>A/B Tests mit WordPress</title>
		<link>http://bueltge.de/ab-tests-mit-wordpress/1186/</link>
		<comments>http://bueltge.de/ab-tests-mit-wordpress/1186/#comments</comments>
		<pubDate>Wed, 07 Jul 2010 11:50:09 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Webküche]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Test]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1186</guid>
		<description><![CDATA[A/B Testing war bisher nicht mit Unterstützung von freien Plugins möglich. Die erste Version eines Plugins, explizit für diese Aufgabe, ist nun online und kann getestet werden, definitiv einen Blick wert.]]></description>
			<content:encoded><![CDATA[<p>... waren bisher nicht mit Unterstützung von freien Plugins möglich. Die erste Version eines Plugins, explizit für diese Aufgabe, ist nun online und kann getestet werden, definitiv einen Blick wert.</p>
<p>A/B Tests unterteilen die Zielgruppe der Website in unterschiedliche Gruppen - A &#038; B. Je nach Gruppe wird das Werbemittel erstellt und ausgewertet. Ziel ist die Optimierung von Elementen auf der Site für die jeweilige Zielgruppe. Es findet also ein Vergleich des bestehenden Werbemittels mit einem veränderten Mittel statt und die Auswertung zeigt dann, welches Werbemittel besser anschlägt. Mehr Informationen gibt es beispielsweise bei <a href="http://de.wikipedia.org/wiki/A/B-Test">Wikipedia</a>.<br />
<span id="more-1186"></span><br />
<a href="http://mitcho.com/">Mitcho</a>, Entwickler diverse populärer Plugins für WordPress und Firefox, hat mit Unterstützung von Automattic die erste Version des Plugins <a href="http://shrimptest.wordpress.com/">ShrimpTest</a> veröffentlicht. Schon jetzt macht das Plugin eine gute Figur und lädt zum testen ein. Hintergründe und Informationen zu weiteren Releases erfährt man auf der <a href="http://shrimptest.wordpress.com/">Site</a> und im Video zum Plugin. Das Plugin hat eine komplette Verwaltung im backend und im Frontend der Site kann man zwischen den verschiedenen Tests variieren.</p>
<p><embed class="centered" type="application/x-shockwave-flash" src="http://s0.videopress.com/player.swf?v=1" width="400" height="300" wmode="transparent" seamlesstabbing="true" allowfullscreen="true" allowscriptaccess="always" overstretch="true" flashvars="guid=Lz1prIsG&amp;isDynamicSeeking=false"></embed><br />
<hr />
<p style="float:right;"><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/></p>
<p><small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p style="border: 1px solid #666666; padding: 5px; background: #e6e6e6 none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; display: block; margin-bottom: 25px;"><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://flattr.com/thing/13244/bueltge-de-byltge-de" title="Flattr this">Flattrn</a> &middot; <a href="http://bueltge.de/ab-tests-mit-wordpress/1186/#writecomment" title="zu den Kommentaren">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/ab-tests-mit-wordpress/1186/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/favicon.ico" />
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>WordCamp 2010 - ein Rückblick</title>
		<link>http://bueltge.de/wordcamp-2010-berlin-rueckblick/1184/</link>
		<comments>http://bueltge.de/wordcamp-2010-berlin-rueckblick/1184/#comments</comments>
		<pubDate>Mon, 05 Jul 2010 12:14:58 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[WordCamp]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1184</guid>
		<description><![CDATA[Das letzte Wochenende habe ich mich in der Hauptstadt aufgehalten, das erste mal seit 22 Jahren. Insofern war für mich nicht nur das <a href="http://wordcamp.de">WordCamp</a> ein Ereignis der Eindrücke, sondern ebenso die Stadt und die Menschen.
Ich möchte euch gern einen Eindruck meines Empfinden von diesem Wochenende wieder geben]]></description>
			<content:encoded><![CDATA[<p>Das letzte Wochenende habe ich mich in der Hauptstadt aufgehalten, das erste mal seit 22 Jahren. Insofern war für mich nicht nur das <a href="http://wordcamp.de">WordCamp</a> ein Ereignis der Eindrücke, sondern ebenso die Stadt und die Menschen.<br />
Ich möchte euch gern einen Eindruck meines Empfinden von diesem Wochenende wieder geben - dabei bin ich sicher aus der Richtung des Orga-Team etwas voreingenommen, oder habe eine andere Sicht, da ich unsere Bemühungen und Aufwände kenne. Vielleicht ist es trotzdem spannend und damit komme ich der Pflicht nach, die ich bei einigen Leuten offen habe.<br />
<span id="more-1184"></span><br />
Die Kollegen von <a href="http://inpsyde.com/">Inpsyde</a> sind in erster Linie das Rauschen im Ohr - wir sehen uns aktuell maximal zwei mal im Jahr und fühlen uns doch verbunden. Wir lösen und leiden so viel gemeinsam, lernen uns und das Business kennen. Insofern ist das WordCamp auch für uns eine Chance unsere Erinnerungen an das Aussehen des Anderen aufzufrischen und ohne Headset oder Telefon sprachliche Kommunikation zu betreiben. Ich freue mich immer sehr auf das Treffen und hoffe daher auch, dass WordCamp gut verläuft - die Teilnehmer zufrieden sind und wir unsere freie Arbeit erfolgreich getan haben.</p>
<h4>&#8222;Netzwerken&#8220;</h4>
<p>Der wichtigste Punkt bei einem WordCamp ist für mich der Austausch - wir schaffen eine Plattform, legen einen Termin fest (wobei wir immer abhängig von den Beitreibern der Location sind), so dass Interessenten zum Thema Web und WordPress sich austauschen können. WordPress ist flexibel - wir sollten es auch sein; für mich macht das die Möglichkeiten des Web aus und die Mauer im Kopf ist sicher ein falscher weg.</p>
<p><img class="centered" src="http://bueltge.de/wp-content/images/wcb10/wcb10-mauer.jpg" alt="Die Mauer im Berlin ist hoffentlich nicht im Kopf" /></p>
<h4>Inhalte</h4>
<p>Inhaltlich steuern wir nur bei, wenn wir eigene Sessions abgeben dürfen und zeitlich können. Für mich ist das nicht immer einfach und das Camp ist damit immer kontrovers von mir gesehen wurden, denn als Mitglied des Orga-Team, hat man fast immer zu tun - es gibt immer etwas zu klären, zu organisieren. Leider konnte ich keine Session im Ganzen besuchen, gab es doch die eine oder andere spannende Thematik - Lob an <a href="http://jendryschik.de/weblog/2010/07/04/wordcamp-2010/">Michael</a> und <a href="http://sprungmarker.de/2010/wordcamp2010_das_war_mein_erstes_barcamp/">Silvia</a> - diese beiden Sessions konnte ich Bruchstücken sehen und beide Themen empfinde ich als spannend und wichtig.</p>
<h4>Austausch &#038; Gespräche</h4>
<p>In erster Linie suche ich also Gespräche, dabei komme ich nie auf mein Ziel - es ist einfach zu viel und ich würde oft gern mit fast jedem in einen Austausch kommen. Da treffe ich <a href="http://www.highresolution.info/">Dirk</a> oder <a href="http://grochtdreis.de/">Jens</a> und viele andere, mit denen ich via Netz &#038; Telefon im Kontakt stehe und finde dann leider immer nur bruchstückhaft die Zeit, mit den Leuten zu plaudern. Das ist der Nachteil, wenn man organisiert und wir wollen, dass es den Leuten gefällt - also muss hier und da immer was getan werden. Die Kostendeckung ist nicht so, dass wir einen Event-Organisation beauftragen und fertig - hier steckt enorme Eigenleistung drin. Vermutlich könnte auch wir dann entspannen und die Beine hoch legen.</p>
<p><img class="centered" src="http://bueltge.de/wp-content/images/wcb10/wcb10-hof.jpg" alt="WM Zeit - Entspannung macht sich breit" /></p>
<h4>Aussichten</h4>
<p>So lange machen wir aber weiter, wenn die Besucher des WordCamp es denn wollen. Insofern schauen wir auch, dass ihr einigermaßen gut versorgt werden - Obst für die Fitness, Kuchen für die Nerven und Getränke für die Spannkraft, möglichst alles 4free - die 10€ sind eine Spende und werden in den kommenden Tagen einer Organisation übergeben. Sie dienen lediglich als Aspekt, um nicht willkürlich den platz zu bloggen und somit die beschränkten Anmeldungen zum WordCamp auch wirklich für kommende Besucher zu haben.</p>
<h4>Geschmäcker sind verschieden - zum Glück</h4>
<p>Es ist nicht leicht, den Geschmack aller zu treffen - was dem einen gefällt, ist dem anderen noch lange nicht recht. Wir wollen jedes Jahr einen anderen Ort anbieten, wollen verschiedene Sachen versuchen und uns weiter entwickeln. Daher ist es gut, wenn ihr Feedback gebt, Ideen einbringt. Einige Leute haben dies direkt am Ende der Sessions getan, anderen schreiben Beiträge dazu und andere senden uns eine Mail. </p>
<blockquote><p>vielen, vielen Dank für das WordCamp 2010! Es war eine unterhaltsame und informative Zeit. Ich habe wieder einmal viele nette und offene Menschen kennengelernt, wofür ich Euch sehr dankbar bin. Auch die Einzelgespräche waren wegweisend.</p>
<p>Meinen Respekt an Euch alle für die Organisation! Ihr habt nie den Eindruck gemacht, dass Ihr müde wärt, ganz im Gegenteil: Wer hinschaute, hat Euch immer wuseln und organisieren sein, ausnahmslos!</p>
<p>Es war toll, von der Verpflegung bis hin zu den Inhalten, von den emotionalen Momenten der WM ganz abgesehen. Aber eben auch das war möglich.</p>
<p>RIESEN DANK AN EUCH ALLE!<br />
<cite>Dirk</cite></p></blockquote>
<h4>Themenvielfalt &#038; Kenntnisstand</h4>
<p>Klar ist wohl, nicht allen kann man es recht machen. Trotzdem wollen wir ein Konglomerat an Möglichkeiten anbieten, jeder soll sich wieder finden und wohl fühlen. Inhaltlich ist das eher schwer - die Themen, das Level der Sessions muss durch die Besucher kommen - wir geben nur den Rahmen. Und dieser Rahmen soll möglichst gut für eine Unkonferenz geeignet sein, wobei wir den Begriff des BarCamp schon aufweichen und im Vorfeld Sessions einreichen lassen, bewerten lassen und einen obligatorischen Programmplan erstellen. In diesem Jahr empfand ich es als besonders wertvoll, dass dies so ist, denn die Bereitschaft für Sessions, die man adhoc zum Camp vorstellt, war doch recht gering. Im Laufe des Tages haben sich dann noch einige ergeben - hier gilt es mutiger sein. Im Nachhinein erfährt man dann im Gespräch, hätte ich doch, wollte ja und naja ... Schade, die Chance für Feedback und für Austausch hat man nur an diesem einem Tag.</p>
<h4>Nachhaltigkeit</h4>
<p>Vielleicht ist das ja wirklich zu diskutieren, vielleicht sollte man zwei Tage in Erwägung ziehen - aber: ich denke, dass es nichts bringt, aktuell sind die Vorträge so, dass man einen Tag gut füttern kann; alles weitere ist Zeit, die viele nicht geben wollen - mein Eindruck. Der Freitag hat sich etabliert und auch da kommt nur ein Teil der Leute, ist doch hier die Chance am größten, neue Leute zu treffen, in den Austausch zu gehen und ein Netzwerk zu bilden. Gerade im Sektor Web, besonders wenn man beruflich in diesem Bereich tätig ist, sehe ich im Netzwerk die größte Chance.<br />
Viele Webworker sind Einzelkämpfer - man kann nicht alles wissen, muss man auch nicht, man muss wissen, wen man fragen kann oder wer einem hilft - und brauchen das Netzwerk. <strong>Hier sehe ich die Stärke</strong> und daher sollte man gerade dieses Netzwerk auf solchen Veranstaltungen wachsen lassen und pflegen.</p>
<blockquote><p>um es noch mal persönlich zu sagen: es war ein absolut geniales Wochenende! Ihr habt da wirkliches tolles auf die Beine gestellt, trotz widriger Bedingungen wie Strom, Wetter und Fußballspiel...<br />
<cite><a href="http://wildbits.de/">Thomas</a></cite></p></blockquote>
<h4>Location</h4>
<p>Ein großes Problem für uns als Orga-Team ist immer die Location - nicht einfach etwas zu finden und alles sicher abzuklären, so auch hier. Im letzten Jahr wurden wir da seitens Intershop sehr verwöhnt. Im betahaus muss man dann in den letzten Tag vor dem Camp erfahren, dass es keine Stühle und kein Strom gibt, obwohl wir seit Monaten in Verbindung stehen. Hier hilft nur Improvisieren und zum Glück waren wir in Berlin, Stühle und Kabeltrommeln konnten kurzfristig organisiert werden. Unsere Planung war damit aber auch hin, von der Kalkulation ganz zu schweigen. Gleiches gilt für die Timeline, da man die Stühle dann gegen 22Uhr abholte, anstatt wie geplant um 20Uhr. So war dann ein langer Tag spät zu Ende, die Folgen waren im Kopf und den Füßen in erster Linie zu spüren und als meine Frau dann den Tisch beim Inder als Kopfkissen nahm, ging ein aufregendes und spannendes Wochenende zu Ende es blieben einige Gespräche am Sonntag morgen beim ruhigen Frühstück.</p>
<h4>Fazit</h4>
<p>Ich für meinen Teil habe viele Leute getroffen, kennen gelernt und mein Eindruck: WordPress und Menschen scheinen nicht nur mir Spaß zu machen. Auf ein neues, immer besser, immer mehr und immer mit diesem Elan und der Freude. Die gute Stimmung war ja auch schon vor dem WM-Spiel auf dem Camp vertreten und ich war begeistert, wie viele die gute Stimmung halten konnten, auch wenn nicht alles perfekt ist.</p>
<p>Es gibt noch so viel zu erzählen, aber ich bin wohl noch immer ein wenig verschlissen und so will ich hier schließen und danke für die vielen netten Kontakte. Vielleicht gibt es eine weitere Auflage des WordCamp - wir werden sehen.<br />
<hr />
<p style="float:right;"><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/></p>
<p><small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p style="border: 1px solid #666666; padding: 5px; background: #e6e6e6 none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; display: block; margin-bottom: 25px;"><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://flattr.com/thing/13244/bueltge-de-byltge-de" title="Flattr this">Flattrn</a> &middot; <a href="http://bueltge.de/wordcamp-2010-berlin-rueckblick/1184/#writecomment" title="zu den Kommentaren">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/wordcamp-2010-berlin-rueckblick/1184/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/wcb10/wcb10-mauer.jpg" />
		<media:content url="http://bueltge.de/wp-content/images/wcb10/wcb10-mauer.jpg" medium="image">
			<media:title type="html">Die Mauer im Berlin ist hoffentlich nicht im Kopf</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/images/wcb10/wcb10-hof.jpg" medium="image">
			<media:title type="html">WM Zeit - Entspannung macht sich breit</media:title>
		</media:content>
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>Hier gibt&#039;s was auf die Ohren: WordPress total</title>
		<link>http://bueltge.de/hier-gibts-was-auf-die-ohren-wordpress-total/1183/</link>
		<comments>http://bueltge.de/hier-gibts-was-auf-die-ohren-wordpress-total/1183/#comments</comments>
		<pubDate>Tue, 29 Jun 2010 13:14:56 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Podcast]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1183</guid>
		<description><![CDATA[Das populäre Podcast der Technikwürze durfte auch ich nun mit einer Sendung bereichern, im Boot sind Perun und David und damit wünsche ich euch viel Spaß beim Hören.]]></description>
			<content:encoded><![CDATA[<p>Die <a href="http://technikwuerze.de/">Technikwürze</a> ist einer meiner nächtlichen Beschäftigungen, denen ich ohne Partner <img src='http://bueltge.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  oder Rechner nach gehe. Ich mag die Themen, lasse mich gern berauschen und kann so neue Ideen und Themen finden. Nicht immer ist man einer Meinung und das ist gut so.<br />
Nun hatte auch ich die Chance meinen kleinen Anteil an der Sendung zu leisten und bei dem Thema und den Mitstreitern ist man gern bereit einige Stunden über WordPress zu reden. Die Partner <a href="http://www.perun.net/">Vlad</a> und <a href="http://macx.de/">David</a> waren nett, Skype hat nicht gestreikt, der Kaffee gut und was daraus geworden ist, könnt ihr euch nun anhören &#8211; <a href="http://technikwuerze.de/podcast/technikwuerze171/">WordPress total</a>.</p>
<p><a href="http://technikwuerze.de/podcast/technikwuerze171/"><img class="centered" src="http://bueltge.de/wp-content/images/tw171.png" alt="Technikwürze 171" /></a><br />
<span id="more-1183"></span><br />
Irgendwie kennt man sich ja: David, Perun und ich haben mal über diverse Kanäle Kommunikation betrieben, die Stimme auf der anderen Seite ist trotzdem immer was anderes. Man merkt, ich kenne die da und eigentlich doch nicht. Man muss erst mal nachfragen, wie man denn den Namen ausspricht und stellt die eine oder andere Schwäche öffentlich - Podcasts sind anders, hier werden Aussprache-Fehler deutlich, dagegen sind die Rechtschreibfehler im Blog harmlos - die kann ich korrigieren. Egal, lasst euch überraschen oder schaltet ab, wenn ihr mich nicht auf den Ohren ertragen wollt.</p>
<p>Klar: nicht alles ist fehlerfrei, da muss ich wohl noch üben; es ist nicht vollkommen, die Zeit ist dafür einfach zu kurz und klar, ihr könnt meckern und wenn ich denn einmal eine weitere Möglichkeit habe, dann werde ich es besser machen, wenn ich denn kann und daran denke. Und ja, die Links sind nicht vollkommen, aber ich denke, dass wir viel abgebildet haben und was ich so nutze, ist drin.</p>
<p>Ach ja, es gibt im übrigen Gewinne - tolle Bücher und DVDs, also - <a href="http://technikwuerze.de/podcast/technikwuerze171/">vorbei schauen</a>, zuhören, gewinnen und kommentieren.</p>
<p>Mir bleibt nur zu sagen - viel Spaß.<br />
<hr />
<p style="float:right;"><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/></p>
<p><small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p style="border: 1px solid #666666; padding: 5px; background: #e6e6e6 none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; display: block; margin-bottom: 25px;"><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://flattr.com/thing/13244/bueltge-de-byltge-de" title="Flattr this">Flattrn</a> &middot; <a href="http://bueltge.de/hier-gibts-was-auf-die-ohren-wordpress-total/1183/#writecomment" title="zu den Kommentaren">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/hier-gibts-was-auf-die-ohren-wordpress-total/1183/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/tw171.png" />
		<media:content url="http://bueltge.de/wp-content/images/tw171.png" medium="image">
			<media:title type="html">Technikwürze 171</media:title>
		</media:content>
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>Warum ich den FeedBurner-Einsatz nicht mag</title>
		<link>http://bueltge.de/warum-ich-den-feedburner-ersatz-nicht-mag/1159/</link>
		<comments>http://bueltge.de/warum-ich-den-feedburner-ersatz-nicht-mag/1159/#comments</comments>
		<pubDate>Mon, 28 Jun 2010 11:11:36 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Webküche]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Feed]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1159</guid>
		<description><![CDATA[Feeds sind kein Hype, aber sie sind ein mächtiges Werkzeug, welches ich nicht missen mag - um so weniger verstehe ich, warum man den eigenen Content einem externen Dienst übergibt und die Kontrolle über Cache und URL aus der Hand gibt.]]></description>
			<content:encoded><![CDATA[<p>Ich bekomme immer mal Fragen zu <a href="http://feedburner.com">FeedBurner</a> und WordPress und muss dann meist antworten, da habe ich wenig Erfahrung und kann nur unterschwellig helfen. Im Gegenzug kommt dann meist die Frage: Warum ich FeedBurner nicht einsetze? In diesem Beitrag möchte ich mal in einigen Sätzen <strong>meine</strong> Gründe gegen FeedBurner formulieren. Vielleicht entsteht eine Diskussion in den Kommentaren und vielleicht bin ich am Ende auch anderer Meinung.<br />
<span id="more-1159"></span><br />
In erster Linie ist es eine Aversion gegenüber externen  Diensten - ich kann sie nicht kontrollieren. Ich versuche meist, dass ich eine Lösung nutze, die out of the box dabei ist, die mich nichts extra kostet und die ich steuern und kontrollieren kann. Bei FeedBurner gebe ich jede Kontrolle ab, was schon beim Aktualisieren ein Nachteil sein kann, denn den Cache von FeedBurner kann man meines Wissens nach nicht beeinflussen.</p>
<p>Ein weiterer wichtiger Punkt, wohl der Wichtigste und der, der mich am meisten stört: die meisten FeedBurner-Nutzer <del datetime="2010-06-29T10:15:30+00:00">leiden</del> leiten jeden ihrer Feeds auf einen Feed um. Dies ist besonders nachteilig wenn man auf WordPress setzt, denn <a href="http://bueltge.de/feed-adressen-unter-wordpress/225/">WP generiert im Standard für jede Archivsicht</a> (Kategorien, Tags, Autoren, etc.) eigene Feeds - einfach so. Ich möchte ab und an nur bestimmte Bereiche des Autors oder der Site lesen und man nimmt mir die Chance dazu, in dem man alle Feeds der Applikation auf eine gemeinsame URL umleitet.</p>
<p>Ich mag die Idee der Feeds, ich liebe FullFeeds und ich liebe den Gedanken Inhalte zu tauschen und dem Leser die Art und Weise zu übergeben, wie er denn den Inhalt konsumiert. Gerade in Zeiten von unterschiedlichen Geräten zum Konsumieren von Inhalten, sei es iPad oder der mobile Client, ist es sehr schön, wenn ich als Konsument mein Leseverhalten beibehalten darf und nicht dem Zwang des Autors oder Websitebetreibers folgen muss. Ich will die Diskussion zum FullFeed damit nicht wieder aufleben lassen, dies habe ich schon getan, siehe <a href="http://bueltge.de/short-feeds-es-stinkt-mir/896/">Short Feeds: Es stinkt mir</a>, aber auch dies ist eine Einschränkung, ebenso wie die Bündelung aller Feeds in einen via FeedBurner.</p>
<p>Der letzte Punkte ist ebenso störend, wenn man ihn gehen will oder muss - was wenn man den Account bei FeedBurner killt, dann gehen die Probleme erst richtig los. Die User haben den Feed über die URL von FeedBurner abonniert und ggf. verliert man alle Leser, die man über die Zeit geschätzt hat. Die URL von FeedBurner ist bei den Leuten im Reader, nicht die URL der Site - schade, denn Sie bekommen ohne Zusatzinfos nichts mit. Eine Weiterleitung ist so gut wie unmöglich und damit kann man nur hoffen, dass bei dieser Änderung der User seinen Reader updated und den letzten Post via FeedBurner-URL liest und auch ausführt.</p>
<p><strong>Update:</strong> Weitere Aspekte gegen den Einsatz von FeedBurner <a href="http://blah.tamagothi.de/2010/06/28/und-auf-bueltge-de-ist-schoen-zusammengefasst-w/">nennt der Nachtwächter</a>.</p>
<p>Aktuell sehe ich keinen Vorteil in der Nutzung von FeedBurner - sagt mir, warum ihr FeedBurner nutzt, oder warum nicht. Es interessiert mich wirklich.<br />
<hr />
<p style="float:right;"><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/></p>
<p><small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p style="border: 1px solid #666666; padding: 5px; background: #e6e6e6 none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; display: block; margin-bottom: 25px;"><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://flattr.com/thing/13244/bueltge-de-byltge-de" title="Flattr this">Flattrn</a> &middot; <a href="http://bueltge.de/warum-ich-den-feedburner-ersatz-nicht-mag/1159/#writecomment" title="zu den Kommentaren">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/warum-ich-den-feedburner-ersatz-nicht-mag/1159/feed/</wfw:commentRss>
		<slash:comments>46</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/favicon.ico" />
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>Die größte Herausforderung dürfte der Burnout werden</title>
		<link>http://bueltge.de/die-groesste-herausvorderung-duerfte-der-burnout-werden/1182/</link>
		<comments>http://bueltge.de/die-groesste-herausvorderung-duerfte-der-burnout-werden/1182/#comments</comments>
		<pubDate>Thu, 24 Jun 2010 10:09:42 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[Web 2.0]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1182</guid>
		<description><![CDATA[Das Leben ohne Auszeit ist ein Merkmal des Enterprise 2.0 und es birgt Gefahren, hier ist jeder Nutzer in der Pflicht.]]></description>
			<content:encoded><![CDATA[<p>Weil es mich täglich betrifft, weil ich Freunde habe, die betroffen sind, weil ich sehr aktiv bin, weil meine Frau immer in Sorge um mich ist und weil ich glaube, dass das allumfassende Präsent sein erst am Anfang steht, sehe ich ein große und wahre <a href="http://www.computerworld.com/s/article/9178126/Experts_warn_of_the_dark_side_of_Enterprise_2.0">Aussage im Interview mit Kathleen Culver</a>.</p>
<p>Ich möchte die folgende Aussage einfach zum Nachdenken hier ablegen, mehr oder weniger Wertefrei - aber ich weiß, dass jede Maschine und jeder Mensch ab und an eine Auszeit brauchen - ansonsten verkürzt sich die Laufzeit oder der Verschleiß steigt exponential. Zeit für Familie, Zeit für Alternativen zum Job und Zeit für Alternativen zum Netz sind wichtig und sollten bewahrt werden.</p>
<blockquote><p>Das Problem mit all den Interaktionsmöglichkeiten ist, dass man den Wunsch verspürt, immer überall zu antworten. und zwar nicht nur während der Arbeitszeit, sondern rund um die Uhr. Man ist immer erreichbar. ... Wir verlieren unsere Auszeiten. Wir nutzen den Blackberry beim Abendbrot, senden ständig Tweets. Die Zeit, in der wir früher Sudoku oder Tennis spielten, verbringen wir im Netz. Wir nehmen Arbeitsprobleme aus dem Unternehmen mit nach Hause und lassen uns ständig damit konfrontieren. ... Die größte Herausforderung dürfte der Burnout werden.<br />
<cite><a href="http://www.computerworld.com/s/article/9178126/Experts_warn_of_the_dark_side_of_Enterprise_2.0">Experts warn of the dark side of Enterprise 2.0</a></cite></p></blockquote>
<hr />
<p style="float:right;"><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/></p>
<p><small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p style="border: 1px solid #666666; padding: 5px; background: #e6e6e6 none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; display: block; margin-bottom: 25px;"><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://flattr.com/thing/13244/bueltge-de-byltge-de" title="Flattr this">Flattrn</a> &middot; <a href="http://bueltge.de/die-groesste-herausvorderung-duerfte-der-burnout-werden/1182/#writecomment" title="zu den Kommentaren">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/die-groesste-herausvorderung-duerfte-der-burnout-werden/1182/feed/</wfw:commentRss>
		<slash:comments>29</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/favicon.ico" />
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>Digital Native</title>
		<link>http://bueltge.de/digital-native/1181/</link>
		<comments>http://bueltge.de/digital-native/1181/#comments</comments>
		<pubDate>Tue, 22 Jun 2010 07:19:21 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Podcast]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1181</guid>
		<description><![CDATA[Die Digital Native bewegen auch die Eltern, es gibt neue Augenblicke und Erfahrungen.]]></description>
			<content:encoded><![CDATA[<p>So ändert sich die Zeit - war ich noch dankbar für jede Geschichte mehr vor dem Schlafen, ist nun <a href="http://www.wdr.de/tv/wissenmachtah/">Wissen macht ah!</a> angesagt. Keine Angst, dies sind Ausnahmen und aktuell dürfen wir eine <a href="http://www.zeiss.de/cinemizer">Zeiss Cinemizer</a> testen und dies wollte meine Tochter ausgiebig tun.<br />
<img class="centered" src="http://bueltge.de/wp-content/images/digital_native.jpg" alt="Digital Native" /><br />
<hr />
<p style="float:right;"><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/></p>
<p><small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p style="border: 1px solid #666666; padding: 5px; background: #e6e6e6 none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; display: block; margin-bottom: 25px;"><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://flattr.com/thing/13244/bueltge-de-byltge-de" title="Flattr this">Flattrn</a> &middot; <a href="http://bueltge.de/digital-native/1181/#writecomment" title="zu den Kommentaren">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/digital-native/1181/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/digital_native.jpg" />
		<media:content url="http://bueltge.de/wp-content/images/digital_native.jpg" medium="image">
			<media:title type="html">Digital Native</media:title>
		</media:content>
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>Thelonious?</title>
		<link>http://bueltge.de/thelonious/1179/</link>
		<comments>http://bueltge.de/thelonious/1179/#comments</comments>
		<pubDate>Fri, 18 Jun 2010 08:21:32 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Linktipp]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1179</guid>
		<description><![CDATA[Schön ist, wenn einen ein Stück Software auch auf die anderen schönen Sachen im Leben aufmerksam macht - WordPress, Jazz und Bier.]]></description>
			<content:encoded><![CDATA[<p>Schön ist, wenn einen ein Stück Software auch auf die anderen schönen Sachen im Leben aufmerksam macht.</p>
<p><a href="http://www.northcoastbrewing.com/beer-brotherThelonious.htm" title="die Website zu Brother Thelomnius Bier besuchen"><img class="centered" src="http://bueltge.de/wp-content/images/brand-BroThelo.jpg" alt="Brother Thelonious Bier" /></a><br />
<span id="more-1179"></span><br />
<object class="centered" width="425" height="344"><param name="movie" value="http://www.youtube.com/v/OMmeNsmQaFw&#038;hl=de_DE&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/OMmeNsmQaFw&#038;hl=de_DE&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object><br />
<hr />
<p style="float:right;"><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/></p>
<p><small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p style="border: 1px solid #666666; padding: 5px; background: #e6e6e6 none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; display: block; margin-bottom: 25px;"><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://flattr.com/thing/13244/bueltge-de-byltge-de" title="Flattr this">Flattrn</a> &middot; <a href="http://bueltge.de/thelonious/1179/#writecomment" title="zu den Kommentaren">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/thelonious/1179/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/brand-BroThelo.jpg" />
		<media:content url="http://bueltge.de/wp-content/images/brand-BroThelo.jpg" medium="image">
			<media:title type="html">Brother Thelonious Bier</media:title>
		</media:content>
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>WordPress und jQuery - einige Tipps</title>
		<link>http://bueltge.de/wordpress-und-jquery-einige-tipps/1172/</link>
		<comments>http://bueltge.de/wordpress-und-jquery-einige-tipps/1172/#comments</comments>
		<pubDate>Thu, 17 Jun 2010 16:00:21 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Themes]]></category>
		<category><![CDATA[Tipps]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1172</guid>
		<description><![CDATA[jQuery und WordPress gemeinsam nutzen ist einfach, wenn man die Funktionen kennt und einige Beispiel sollen dem Verständnis dienen.]]></description>
			<content:encoded><![CDATA[<p>Innerhalb von WordPress sind eine ganze Reihe von Javascript Bibliotheken vorhanden, diese kann man einfach nutzen und muss sie nicht extra in Themes und Plugins mitbringen. Ebenfalls empfiehlt sich diese Vorgehensweise, damit Bibliotheken nicht mehrfach geladen werden. Einiges Hinweise zu beiden Themen findet ihr in den Beiträgen <a href="http://bueltge.de/javascript-bibliotheken-in-und-aus-wordpress-nutzen/808/">JavaScript-Bibliotheken in und aus WordPress nutzen</a> und <a href="http://bueltge.de/abfrage-einer-script-version-in-wordpress/570/">Abfrage einer Script-Version in WordPress</a>.</p>
<p><img class="alignrightob" src="http://bueltge.de/wp-content/images/jquery_logo.gif" alt="jQuery Logo" /><br />
Ab und an braucht man aber etwas bestimmtes und einiges davon wiederholt sich und daraus sind einige Code-Schnippsel entstanden, die hier nun abgelegt sind. Dabei möchte ich speziell am Beispiel jQuery zeigen, wie das geht - liegt zum einen daran, dass jQuery mit vielen Plugins im Core von WordPress vorhanden ist und dass die Arbeit mit jQuery recht unkompliziert ist. Prinzipiell gelten die Hooks und Aufrufe aber auch für eigene Scripte und andere Bibliotheken.<br />
<span id="more-1172"></span></p>
<h4>Die Hooks zum einhaken</h4>
<p>WordPress bietet die Hooks um an bestimmten Punkten im Core einzuhaken. Hier ist einer der Stärken von WordPress und die folgenden drei Hooks sind insbesondere für das inkludieren von Scripten bei Themes interessant. Die nachfolgenden Beispiele zeigen die Verwendung auf.</p>
<ul>
<li><a href="http://adambrown.info/p/wp_hooks/hook/init"><code>init</code></a></li>
<li><a href="http://adambrown.info/p/wp_hooks/hook/template_redirect"><code>template_redirect</code></a></li>
<li><code>after_setup_theme</code> ab WordPress 3.0</li>
</ul>
<h4>jQuery von WordPress im Theme mit der Google AJAX Library ersetzen</h4>
<p>Im folgenden Source wird die jquery-Library von Google CDN geladen; die Nutzung von jQuery kann aber ungestört genutzt bleiben. Andere Plugins können also via <code>wp_enqueue_script()</code> sehr einfach auf die Bibliothek zugreifen.</p>
<pre><code class="php">
function fb_greyfoto_init() {
	if ( !is_admin() ) { // prinzipiell überflüssig, da der Hook nur im Theme zieht
		wp_deregister_script( 'jquery' ); // deregister Schlüssel jquery
		wp_register_script( 'jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js', false, '1.4.2'); // registriere Schlüssel jquery mit der URL von Google CDN
		wp_enqueue_script( 'jquery' ); // binde jquery ein
	}
}
// nur für Theme, ab WordPress 3.0
add_action( 'after_setup_theme', 'fb_greyfoto_init' ); // Theme aktiv, inkludiere Funktion
</code></pre>
<h4>jQuery Library im Footer</h4>
<p>Der Standard-Aufruf von <code>wp_enqueue_script( 'jquery' )</code> im Theme sorgt zwar dafür, dass man jQuery von WordPress holt und wenn alle Plugins und Themes die Bibliothek so referenzieren, dann wird die Bibliothek auch nur einmal eingebunden, aber jQuery wird nicht im Footer geladen, sondern im <em>head</em> der Site. Daher muss der Aufruf umgestellt werden und der Parameter für "lade im Footer" mitgegeben werden.<br />
Im Aufruf des Beispiel zeigt sich auch der Unterschied der Hooks, da <code>after_setup_theme</code> erst ab WordPress 3.0 zur Verfügung steht.</p>
<pre><code class="php">
function fb_greyfoto_init() {
	if ( !is_admin() ) {
		wp_deregister_script( 'jquery' );
		wp_register_script( 'jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js', false, '1.4.2', true ); // lade im Footer - true
		wp_enqueue_script( 'jquery' );

		// js vom Theme laden, Vorraussetzung jQuery
		wp_enqueue_script( 'styleswitcher', get_bloginfo( 'template_directory') . '/js/styleswitcher.jquery.php', array( 'jquery'), '1.3.2', true ); // lade mein Script mit Schlüssel styleswitcher im Footer und benutze jquery
		wp_enqueue_script( 'greyfoto', get_template_directory_uri() . '/js/photoblogfb.js', array( 'jquery', 'styleswitcher'), '1.1.3.1', true ); // nutze jquery und styleswitcher und lade dann Script greyfoto
	}
}

// auch für WP < version 3.0
global $wp_version;
if ( version_compare($wp_version, "3.0alpha", "<") ) {
	add_action( 'init', 'fb_greyfoto_init' );
} else {
	add_action( 'after_setup_theme', 'fb_greyfoto_init' );
}
</code></pre>
<p>Das obige Beispiel kann man noch ein wenig eleganter lösen und so das Laden der Scripte an WP übergeben; wichtig ist, dass die eigenen Scripte über einen Schlüssel registriert sind und diese Schlüssel gibt man dann nur als Voraussetzung mit.</p>
<pre><code class="php">
function fb_greyfoto_init() {
	if ( !is_admin() ) {
		wp_deregister_script( 'jquery' );
		wp_register_script( 'jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js', false, '1.4.2', true ); // lade im Footer - true
		wp_register_script( 'styleswitcher', get_template_directory_uri() . '/js/styleswitcher.jquery.php', array( 'jquery'), '1.3.2', true ); // registrier mein Script mit Schlüssel styleswitcher für das Laden im Footer und Vorraussetzung jquery
		wp_register_script( 'greyfoto', get_template_directory_uri() . '/js/photoblogfb.js', array( 'jquery', 'styleswitcher'), '1.1.3.1', true ); // nutze jquery und styleswitcher und lade dann Script greyfoto

		wp_enqueue_script( array('greyfoto') ); // greyfoto braucht styleswitcher und jquery
	}
}

add_action( 'after_setup_theme', 'fb_greyfoto_init' );
</code></pre>
<h4>Script bei spezieller Seite laden</h4>
<p>Manche Scripte braucht man explizit nur auf bestimmten Templates, Seiten oder Beiträgen - dazu sind die <a href="http://bueltge.de/debug-objects-wordpress-plugin/966/">Conditional Tags</a> da; es gilt sie zu nutzen. Hier beginnt Performance-Optimierung. Das folgende Script wird nur beim Template <code>custom-page.php</code> geladen.</p>
<pre><code class="php">
function fb_greyfoto_page_init() {
	if ( !is_page_template( 'custom-page.php' ) )
		return;

	wp_enqueue_script( 'mypagescript', get_template_directory_uri() . '/js/my_script_4_page.js', array('jquery'), '0.1', true );
}
add_action( 'template_redirect', 'fb_greyfoto_page_init' );
</code></pre>
<h4>Die Verwendung des $</h4>
<p>Auch innerhalb der Scripte gibt es einiges zu beachten.<br />
Um mit $ zu arbeiten, wie viele mit jQuery gewohnt sind, muss Jquery aan $ übergeben werden; einfach und schnell passiert und nun kann man wie gewohnt arbeiten. Die Kurzvariante <code>$(function() {} );</code> sollte man sich innerhalb von WordPress angewöhnen.</p>
<pre><code class="javascript">
jQuery(function ($) {
	// hier kann man nun ohne Probleme $ als Referenz auf jQuery nutzen
});
</code></pre>
<p>Um zu prüfen, ob das HTML geladen ist, nutzt man den folgenden Aufruf. So stellt man sicher, dass der DOM geladen ist und man via jQuery das DOM durchsuchen kann und nun die eigentliche Arbeit des Scriptes starten kann. Ein klare Empfehlung also für diese Variante. Die vielen Vorteile möchte ich nicht erklären, dies kann man genau und umfangreich im Beitrag <a href="http://www.learningjquery.com/2006/09/introducing-document-ready">Introducing $(document).ready()</a> nachlesen.</p>
<pre><code class="javascript">
jQuery(document).ready(function ($) {
	$('#id').toggle({
		//paramter für bsp. toggle
	});
});
</code></pre>
<hr />
<p style="float:right;"><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/></p>
<p><small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p style="border: 1px solid #666666; padding: 5px; background: #e6e6e6 none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; display: block; margin-bottom: 25px;"><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://flattr.com/thing/13244/bueltge-de-byltge-de" title="Flattr this">Flattrn</a> &middot; <a href="http://bueltge.de/wordpress-und-jquery-einige-tipps/1172/#writecomment" title="zu den Kommentaren">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/wordpress-und-jquery-einige-tipps/1172/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/jquery_logo.gif" />
		<media:content url="http://bueltge.de/wp-content/images/jquery_logo.gif" medium="image">
			<media:title type="html">jQuery Logo</media:title>
		</media:content>
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>Photoblog Theme Greyfoto in neuer Version</title>
		<link>http://bueltge.de/photoblog-theme-greyfoto-in-neuer-version/1175/</link>
		<comments>http://bueltge.de/photoblog-theme-greyfoto-in-neuer-version/1175/#comments</comments>
		<pubDate>Thu, 10 Jun 2010 13:29:54 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Themes]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Theme]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1175</guid>
		<description><![CDATA[Das Theme Greyfoto in neuer Version verfügbar - Betatester gesucht!]]></description>
			<content:encoded><![CDATA[<p>Da das <a href="http://bueltge.de/photoblog-theme-greyfoto/837/">Theme Greyfoto</a> eine große Resonanz erfahren hat,  pflege ich es bisher noch. Aktuell habe ich eine neue Version erstellt und in Übersee wurde es bereits bei einigen Anwendern getestet. Auch mit der neuen Version 3.0 von WordPress wird es laufen und es werden einige Funktionen unterstützt.<br />
<span id="more-1175"></span><br />
Auf den ersten Blick werden nur wenige Anwender Unterschiede erkennen, unter der Haube hat sich aber einiges getan und daher wäre ich dankbar, wenn ihr testet und mir eine Rückmeldung gebt. Die neue <strong>Version 2.3.2</strong> ist auf der <a href="http://bueltge.de/photoblog-theme-greyfoto/837/">Seite zum Theme</a> zu bekommen - hinterlasst bitte auch dort eure Hinweise oder direkt via Mail an mich. Ich werde dann versuchen, dass ich es zeitnah bearbeiten kann.</p>
<p><a href="http://bueltge.de/photos/"><img class="centered" src="http://bueltge.de/wp-content/download/wp/themes/greyfoto.jpg" alt="Screenshot Greyfoto" /></a><br />
<cite><a href="http://bueltge.de/photos/">Demo des Photoblog</a></cite><br />
Vielen Dank schon jetzt an die Tester.<br />
<hr />
<p style="float:right;"><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/></p>
<p><small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p style="border: 1px solid #666666; padding: 5px; background: #e6e6e6 none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; display: block; margin-bottom: 25px;"><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://flattr.com/thing/13244/bueltge-de-byltge-de" title="Flattr this">Flattrn</a> &middot; <a href="http://bueltge.de/photoblog-theme-greyfoto-in-neuer-version/1175/#writecomment" title="zu den Kommentaren">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/photoblog-theme-greyfoto-in-neuer-version/1175/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/download/wp/themes/greyfoto.jpg" />
		<media:content url="http://bueltge.de/wp-content/download/wp/themes/greyfoto.jpg" medium="image">
			<media:title type="html">Screenshot Greyfoto</media:title>
		</media:content>
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>Soundtrack - Das Imperium der Wölfe</title>
		<link>http://bueltge.de/soundtrack-das-imperium-der-woelfe/1173/</link>
		<comments>http://bueltge.de/soundtrack-das-imperium-der-woelfe/1173/#comments</comments>
		<pubDate>Tue, 08 Jun 2010 12:30:51 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Linktipp]]></category>
		<category><![CDATA[Musik]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1173</guid>
		<description><![CDATA[Kleiner Musik- und Filmtipp am Rande des technischen Geschehens zu toller Musik und einem wunderbar spannenden Film - Das Imperium der Wölfe.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.amazon.de/gp/product/B000AM4NI8?ie=UTF8&#038;tag=buedebyltgde-21&#038;linkCode=as2&#038;camp=1638&#038;creative=19454&#038;creativeASIN=B000AM4NI8"><img class="alignright" src="http://ecx.images-amazon.com/images/I/41WVPFD2FQL._SL160_.jpg" alt="Das Imperium der Wölfe, Soundtrack" /></a><br />
Weil ich gestern im ZDF-Montagskino, das einzige Programm, welches ich via Zattoo nutze, einen <a href="http://spielfilm.zdf.de/ZDFde/inhalt/27/0,1872,1020923_idDispatch:9671187,00.html?dr=1" title="Das Imperium der Wölfe auf ZDF.de">absolut fantastischen Film</a> gesehen habe und weil ich das Album zum Film nun schon mehrfach wieder gehört habe, will ich es einfach nicht vergessen, auf <a href="http://de.wikipedia.org/wiki/Das_Imperium_der_W%C3%B6lfe">diesen Film</a> und die tolle Musik hinzuweisen.<br />
Wen es in die zum Teil recht schweren Werke des Albums drängt, der ist hier gut aufgehoben. Ich mag diese Art der Musik, ist geschmückt mit einer Vielzahl von Ideen, Klangfarben und Umsetzungsstilen.<br />
<span id="more-1173"></span><br />
Der wohl bekannteste Song aus dem Album kommt von <a href="http://www.skinmusic.net/discography.html">Skin</a>, hinreichend bekannt aus den Medien um Rock&#038;Pop und dem Film-Business, daher nun das nachfolgende Video dazu.<br />
<object width="480" height="385" class="centered"><param name="movie" value="http://www.youtube.com/v/u3P4lMNcpgI&#038;hl=de_DE&#038;fs=1&#038;rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/u3P4lMNcpgI&#038;hl=de_DE&#038;fs=1&#038;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object><br />
<hr />
<p style="float:right;"><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/></p>
<p><small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p style="border: 1px solid #666666; padding: 5px; background: #e6e6e6 none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; display: block; margin-bottom: 25px;"><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://flattr.com/thing/13244/bueltge-de-byltge-de" title="Flattr this">Flattrn</a> &middot; <a href="http://bueltge.de/soundtrack-das-imperium-der-woelfe/1173/#writecomment" title="zu den Kommentaren">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/soundtrack-das-imperium-der-woelfe/1173/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:thumbnail url="http://ecx.images-amazon.com/images/I/41WVPFD2FQL._SL160_.jpg" />
		<media:content url="http://ecx.images-amazon.com/images/I/41WVPFD2FQL._SL160_.jpg" medium="image">
			<media:title type="html">Das Imperium der Wölfe, Soundtrack</media:title>
		</media:content>
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>Gewinnspiel: 5 Jahre bueltge.de als Blog</title>
		<link>http://bueltge.de/gewinnspiel-5-jahre-bueltge-de-als-blog/1171/</link>
		<comments>http://bueltge.de/gewinnspiel-5-jahre-bueltge-de-als-blog/1171/#comments</comments>
		<pubDate>Mon, 07 Jun 2010 08:47:29 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Geburtstag]]></category>
		<category><![CDATA[Gewinnspiel]]></category>
		<category><![CDATA[Linktipp]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1171</guid>
		<description><![CDATA[Mein kleines Blog gibt es in dieser Form, als gelebter Weblog, nun 5 Jahre und zu diesem Anlass gibt es 10 T-Shirts von 3DSupply zu gewinnen.]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" src="http://bueltge.de/wp-content/images/shirts/157_1275617425.0_190_160.png" alt="Shirt #1" /><br />
Mein kleines Blog gibt es in dieser Form, als gelebter Weblog, nun <strong>5 Jahre</strong> und da ich ab und zu das eine oder andere Produkt testen darf (hierbei entscheide im übrigen nur ich, das Produkt und meine pers. Meinung zählen), habe ich zehn wunderbare T-Shirts zu verteilen. Ich nutze diese Aktion daher und verschenke durch die Unterstützung von <a href="http://www.3dsupply.de/">3DSupply</a> die folgenden T-Shirts.<br />
Eine Aktion von 3DSupply hat in der Vergangenheit schon mal zu ihrer Bekanntheit beigetragen und in dem Zusammenhang haben <a href="http://www.3dsupply.de/shirt4link/participants/">viele Blogs</a> ein Shirt ergattert. In diesem Zusammenhang ist die kleine Unterstützung für meinen kleinen Geburtstag entstanden.<br />
<span id="more-1171"></span><br />
Ich denke, dass tolle Motive dabei sind und jeder, der eines mag, könnte fündig werden.<br />
Wer eines der Shirts haben will. muss nur einen Kommentar hinterlegen und das Wunschshirt inkl. Größe angeben, einfach die Nummerierung mitgeben und ich kümmere mich nach dem Zufallsprinzip um das Versenden der Shirts. Viele weitere Motive gibt es im <a href="http://www.3dsupply.de/">T-Shirt Shop 3DSupply</a> zu bestaunen.</p>
<p><img src="http://bueltge.de/wp-content/images/shirts/205_1275617429.0_190_160.png" alt="Shirt #2" /> <img src="http://bueltge.de/wp-content/images/shirts/246_1275617407.0_190_160.png" alt="Shirt #3" /> <img src="http://bueltge.de/wp-content/images/shirts/295_1275617437.0_190_160.png" alt="Shirt #4" /> <img src="http://bueltge.de/wp-content/images/shirts/300_1275617437.0_190_160.png" alt="Shirt #5" /> <img src="http://bueltge.de/wp-content/images/shirts/363_1275617443.0_190_160.png" alt="Shirt #6" /> <img src="http://bueltge.de/wp-content/images/shirts/411_1275617448.0_190_160.png" alt="Shirt #7" /> <img src="http://bueltge.de/wp-content/images/shirts/419_1275617448.0_190_160.png" alt="Shirt #8" /> <img src="http://bueltge.de/wp-content/images/shirts/52_1275617408.0_190_160.png" alt="Shirt #9" /> <img src="http://bueltge.de/wp-content/images/shirts/57_1275617412.0_190_160.png" alt="Shirt #10" /></p>
<p>Die Aktion lasse ich <strong>bis zum Sonntag, den 13.Juni 2010</strong> laufen und gebe dann die Gewinner hier bekannt. Hinterlasst einen <strong>Kommentar</strong>, worüber auch immer <img src='http://bueltge.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  und gebt <strong>T-Shirt-Größe und Motiv</strong> (<em>Nummer der Bilderreihenfolge genügt</em>) mit, hinterlasst eine <strong>gültige E-Mail-Adresse</strong>, so dass ich euch dann anschreiben kann.<br />
Sollten es mehr als 10 Kommentare werden, dann lose ich <em>via Zufall die 10 Gewinner</em> aus und werde jeweils, wenn das Shirt schon weg ist, den nächsten Gewinner ziehen - daher könnt ihr auch <em>gern 2 oder 3 Shirt-Motive</em> mitgeben.<br />
<strong>Viel Spaß</strong> und danke für diese Aktion an die Jungs und Mädels von 3DSupply; meine Gewinne wären sicher schmaler ausgefallen.</p>
<h4>Gewinner</h4>
<ul>
<li>#14 - C8H10N14O2</li>
<li>#69 - Ponnyhof</li>
<li>#160 - Bähhhm!</li>
<li>#50 - Enter</li>
<li>#29 - Localhorst</li>
<li>#11 - Tasten</li>
<li>#82 - Eulen</li>
<li>#45 - Add to Favorites</li>
<li>#39 - Kopiervorgang abgebrochen</li>
<li>#122 - VW Bus</li>
</ul>
<p>Herzlichen Glückwunsch den Gewinnern und viel Spaß mit den Shirts, ich werde die Adressen bei euch via Mail abfragen und bei #122 nochmal die Größe, da sie im Kommentar fehlt. Im Anschluss werden die Shirts dann direkt von <a href="http://www.3dsupply.de/">3D Supply</a> versandt.<br />
<hr />
<p style="float:right;"><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/></p>
<p><small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p style="border: 1px solid #666666; padding: 5px; background: #e6e6e6 none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; display: block; margin-bottom: 25px;"><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://flattr.com/thing/13244/bueltge-de-byltge-de" title="Flattr this">Flattrn</a> &middot; <a href="http://bueltge.de/gewinnspiel-5-jahre-bueltge-de-als-blog/1171/#writecomment" title="zu den Kommentaren">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/gewinnspiel-5-jahre-bueltge-de-als-blog/1171/feed/</wfw:commentRss>
		<slash:comments>161</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/shirts/157_1275617425.0_190_160.png" />
		<media:content url="http://bueltge.de/wp-content/images/shirts/157_1275617425.0_190_160.png" medium="image">
			<media:title type="html">Shirt #1</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/images/shirts/205_1275617429.0_190_160.png" medium="image">
			<media:title type="html">Shirt #2</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/images/shirts/246_1275617407.0_190_160.png" medium="image">
			<media:title type="html">Shirt #3</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/images/shirts/295_1275617437.0_190_160.png" medium="image">
			<media:title type="html">Shirt #4</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/images/shirts/300_1275617437.0_190_160.png" medium="image">
			<media:title type="html">Shirt #5</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/images/shirts/363_1275617443.0_190_160.png" medium="image">
			<media:title type="html">Shirt #6</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/images/shirts/411_1275617448.0_190_160.png" medium="image">
			<media:title type="html">Shirt #7</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/images/shirts/419_1275617448.0_190_160.png" medium="image">
			<media:title type="html">Shirt #8</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/images/shirts/52_1275617408.0_190_160.png" medium="image">
			<media:title type="html">Shirt #9</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/images/shirts/57_1275617412.0_190_160.png" medium="image">
			<media:title type="html">Shirt #10</media:title>
		</media:content>
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>Codeschnippsel zu WordPress Kategorien</title>
		<link>http://bueltge.de/codeschnippsel-zu-wordpress-kategorien/1163/</link>
		<comments>http://bueltge.de/codeschnippsel-zu-wordpress-kategorien/1163/#comments</comments>
		<pubDate>Mon, 07 Jun 2010 03:23:51 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Tipps]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Template]]></category>
		<category><![CDATA[Theme]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1163</guid>
		<description><![CDATA[Die Kategorien von WordPress können ein mächtiges Werkzeug sein, man kann aber auch daran verzweifeln, dazu ein anderes mal vielleicht mehr, aber es gibt auch nicht für jede Anwendung einen entsprechenden Template-Tag von WordPress und so muss man sich etwas bauen. Zwei kleine Sachen, die ich in letzter Zeit gebraucht habe und die ich nicht verstauben lasse will stehen nun in diesem Beitrag.]]></description>
			<content:encoded><![CDATA[<p>Die Kategorien von WordPress können ein mächtiges Werkzeug sein, man kann aber auch daran verzweifeln, dazu ein anderes mal vielleicht mehr, aber es gibt auch nicht für jede Anwendung einen entsprechenden Template-Tag von WordPress und so muss man sich etwas bauen. Zwei kleine Sachen, die ich in letzter Zeit gebraucht habe und die ich nicht verstauben lasse will stehen nun in diesem Beitrag.<br />
<span id="more-1163"></span></p>
<h4>Liste aller Unterkategorien</h4>
<p>Manchmal braucht man einfach nur eine Liste alle untergeordneten Kategorien, fragt nicht warum. Die Anforderungen von Projekten kann sehr vielfältig sein, ebenso der Lösungsweg und in meinem Fall ist ein kleiner Code-Schnippsel entstanden, die sich um die Ausgabe der Subcategories kümmert; zum mitnehmen, spielen, verbessern und erweitern.</p>
<pre><code class="php">
$echo = '&lt;ul&gt;' . "\n";
$childcats = get_categories('child_of=' . $cat . '&#038;hide_empty=1');
foreach ($childcats as $childcat) {
	if (1 == $childcat-&gt;category_parent) {
		$echo .= "\t" . '&lt;li&gt;&lt;a href="' . get_category_link($childcat-&gt;cat_ID).'" title="' . $childcat-&gt;category_description . '"&gt;';
		$echo .= $childcat-&gt;cat_name . '&lt;/a&gt;';
		$echo .= '&lt;/li&gt;' . "\n";
	}
}
$echo .= '&lt;/ul&gt;' . "\n";
echo $echo;
</code></pre>
<h4>Abfrage, ob in Kategorie oder Subkategorie</h4>
<p>Die zweite Sache brauchte ich nicht erstellen, die habe ich bei <a href="http://valendesigns.com/wordpress/is-category-or-subcategory-wp-function/">valen</a> gefunden - klein aber fein. Sie gibt zurück, ob man sich in einer untergeordneten- oder der Haupt-Kategorie befindet. Brauchen kann man so was, wenn man komplexe Strukturen aufbaut und steuern will. Als Übergabe muss die ID der Kategorie mitgegeben werden, kein Slug!</p>
<pre><code class="php">
function is_category_or_subcategory($catID = 0) {
	foreach (get_the_category() as $cat) {
		if ( $catID == $cat-&gt;cat_ID || cat_is_ancestor_of($catID, $cat) )
			return true;
	}
	return false;
}
</code></pre>
<p>In dem Zusammenhang im übrigen der Hinweis auf die Funktion <a href="http://codex.wordpress.org/Function_Reference/cat_is_ancestor_of"><code>cat_is_ancestor_of()</code></a> - sehr mächtig und nützlich.<br />
<hr />
<p style="float:right;"><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/></p>
<p><small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p style="border: 1px solid #666666; padding: 5px; background: #e6e6e6 none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; display: block; margin-bottom: 25px;"><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://flattr.com/thing/13244/bueltge-de-byltge-de" title="Flattr this">Flattrn</a> &middot; <a href="http://bueltge.de/codeschnippsel-zu-wordpress-kategorien/1163/#writecomment" title="zu den Kommentaren">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/codeschnippsel-zu-wordpress-kategorien/1163/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/favicon.ico" />
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>Flattr Button für WordPress ohne Plugin</title>
		<link>http://bueltge.de/flattr-button-wordpress-ohne-plugin/1169/</link>
		<comments>http://bueltge.de/flattr-button-wordpress-ohne-plugin/1169/#comments</comments>
		<pubDate>Thu, 03 Jun 2010 23:33:18 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tipps]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1169</guid>
		<description><![CDATA[Aktuell ist Flattr in aller Munde und die Idee ist sicher einen Test wert, wie ich mich überzeugen lassen habe. Mal soll nur sein Urteil fällen, wenn man weiß, um was es geht und darum wollte auch ich Flattr testen und in das Blog integrieren. Allerdings sagt mit das Plugin nicht so zu und so ist eine kleine Funktion entstanden, die den Button integriert.]]></description>
			<content:encoded><![CDATA[<p><img class="alignrightob" src="http://bueltge.de/wp-content/images/flattr-logo-beta.png" alt="Flattr Logo" /><br />
Aktuell ist <a href="http://flattr.com/">Flattr</a> in aller Munde und die Idee ist sicher einen Test wert, wie ich mich überzeugen lassen habe. Mal soll nur sein Urteil fällen, wenn man weiß, um was es geht und darum wollte auch ich Flattr testen und in das Blog integrieren. Allerdings sagt mit das Plugin nicht so zu und so ist eine kleine Funktion entstanden, die den Button integriert.<br />
<span id="more-1169"></span></p>
<h4>Die Funktion</h4>
<p>Die folgenden kleine Funktion gehört in die <code>functions.php</code> des Themes oder auch in ein Plugin ausgelagert. Hier ist eurer Wissen gefragt - für mich ist es Theme-spezifisch und damit eine Funktion des Themes und damit in der <code>functions.php</code> des Themes.</p>
<pre><code>
/**
 * Flattr Button in WordPress Templates
 *
 * @author Frank Bültge
 * @link   Flattr API https://flattr.com/support/api
 * @param  integer  $uid   personal user ID
 * @param  string   $cat   Flattr category: text, images, video, audio, software or rest.
 * @param  string   $btn   Type of Flattr button: '' or 'compact'
 * @param  integer  $hide  Use this to hide the thing from listings on flattr.com. The value 1 will hide the thing.
 *
 */
function fb_flattr_link($uid = '', $cat = 'text', $btn = 'compact', $hide = 0) {

	$uid  = (int) $uid;
	$cat  = htmlspecialchars($cat);
	$btn  = htmlspecialchars($btn);
	$hide = (int) $hide;

	$noflattr = 0;
	$noflattr = (int) get_post_meta( get_the_ID(), 'noflattr', true );

	if ( !$uid )
		$uid = (int) get_post_meta( get_the_ID(), 'flattrid', true );

	if ( defined('WPLANG') )
		$locale = WPLANG;
	if ( empty($locale) )
		$locale = 'en_US';

	$ftag = '';
	$tags = get_the_tags( get_the_ID() );
	if ( $tags ) {
		foreach( $tags as $tag ) {
			$ftag .= $tag-&gt;name . ', ';
		}
		$ftag = substr( $ftag, 0, -2 );
	} else {
		$tag = '';
	}

	$dsc = htmlspecialchars( wp_strip_all_tags( trim( get_the_excerpt() ), TRUE ) );
	$dsc = str_replace( &quot;'&quot;, &quot;&quot;, $dsc );
	$dsc = str_replace( &quot;\n&quot;, &quot; &quot;, $dsc ); // maybe \r\n

	$tle = htmlspecialchars( strip_tags( get_the_title() ) );
	$tle = str_replace( &quot;'&quot;, &quot;&quot;, $tle );
	$tle = str_replace(":", "", $tle);

	$flattr = '
	&lt;span class=&quot;flattr&quot;&gt;
		&lt;script type=&quot;text/javascript&quot;&gt;
			var flattr_uid  = \'' . $uid . '\';
			var flattr_url  = \'' . get_permalink() . '\';
			var flattr_tle  = \'' . $tle . '\';
			var flattr_dsc  = \'' . $dsc . '\';
			var flattr_cat  = \'' . $cat . '\';
			var flattr_lng  = \'' . $locale . '\';
			var flattr_tag  = \'' . $ftag . '\';
			var flattr_btn  = \'' . $btn . '\';
			var flattr_hide = ' . $hide . ';
		&lt;/script&gt;
		&lt;script src=&quot;http://api.flattr.com/button/load.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
	&lt;/span&gt;
	';

	if ( !$noflattr &amp;&amp; ( 0 != $uid ) )
		echo $flattr;
}
</code></pre>
<h4>Die Verwendung</h4>
<p>Innerhalb des Templates für die Beiträge, kommt dann die obige Funktion als Aufruf; in der Regel sollte der Aufruf in die <code>single.php</code> des Themes.</p>
<pre><code class="php">
&lt;?php if ( function_exists('fb_flattr_link') ) fb_flattr_link($uid = 'DEINE_UID'); ?&gt;
</code></pre>
<p>Es gibt im Code eine Abfrage, die ein benutzerdefiniertes Feld mit dem Namen <code>flattrid</code> abfragt. In diesem kann man eine ID mitgeben, so dass der Button in Abhängigkeit unterschiedlicher Autoren genutzt werden kann. Man muss dann die obige Funktion ohne die Übergabe des Parameters $uid nutzen, wie folgt:</p>
<pre><code class="php">
&lt;?php if ( function_exists('fb_flattr_link') ) fb_flattr_link(); ?&gt;
</code></pre>
<p>Eine Ausgabe erscheint dann nur, wenn eine ID zum Feld <code>flattrid</code> gepflegt ist und wenn das nachfolgende Feld <code>noflattr</code> ungleich 1 ist.</p>
<p>Ich habe noch ein benutzerdefiniertes Feld eingefügt - wenn man dies nutzt, als <code>noflattr</code> eingeben und als Wert <code>1</code>, dann wird der Button nicht ausgegeben. Ich denke, es gibt Beiträge, die brauchen keinen Flattr-Button, weil zum Beispiel der Content von anderen Leuten ist.</p>
<p><img class="centered" src="http://bueltge.de/wp-content/images/noflattr.png" alt="benutzerdef. Feld in WordPress für die Deaktivierung des Flattr-Button" title="benutzerdef. Feld in WordPress für die Deaktivierung des Flattr-Button" /></p>
<p>Der Button wird innerhalb des span-Elementes mit der Klasse <code>flattr</code> ausgegeben und kann so via CSS angesprochen werden, kleines Beispiel.</p>
<pre><code class="css">
.flattr {
margin: 5px 0 0 5px;
}
</code></pre>
<p>Die Funktion kann in vielen Bereichen ausgebaut werden, zum Beispiel gibt es sicher die Überlegung, <del datetime="2010-06-10T12:16:28+00:00">dass man die ID mitgibt, so dass Blogs mit unterschiedlichen Autoren immer den Button zum jeweiligen Autor bekommen - eine beutzerdef. Feld für die ID kann da helfen</del> ist nun schon drin; die schönere Lösung wäre ein Profilfeld am Autor, welches dann in Abhängigkeit des Autors eines Beitrags gezogen wird - aber Flattr stellt ein Plugin, darum sollten die sich kümmern.</p>
<p>Ebenso könnte man alles in MetaBoxen auslagern (wie beispielsweise im Plugin <a href="http://bueltge.de/wordpress-plugin-flexibilitaet-schreiben/1086/">Different Type</a> gezeigt), damit benutzerfreundlicher machen und automatisiert vor den Content hängen oder in den Feed. Wobei der Feed ja so eine Sache ist, dient er doch dem Datentausch. Da Flattr aber eigene Plugins bereit stellt, wollte ich kein Plugin bauen und wer mag, nutzt die Funktion und erweitert sie sich entsprechend, wenn der jetzige Umfang nicht reicht.<br />
<hr />
<p style="float:right;"><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/></p>
<p><small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p style="border: 1px solid #666666; padding: 5px; background: #e6e6e6 none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; display: block; margin-bottom: 25px;"><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://flattr.com/thing/13244/bueltge-de-byltge-de" title="Flattr this">Flattrn</a> &middot; <a href="http://bueltge.de/flattr-button-wordpress-ohne-plugin/1169/#writecomment" title="zu den Kommentaren">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/flattr-button-wordpress-ohne-plugin/1169/feed/</wfw:commentRss>
		<slash:comments>57</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/flattr-logo-beta.png" />
		<media:content url="http://bueltge.de/wp-content/images/flattr-logo-beta.png" medium="image">
			<media:title type="html">Flattr Logo</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/images/noflattr.png" medium="image">
			<media:title type="html">benutzerdef. Feld in WordPress für die Deaktivierung des Flattr-Button</media:title>
		</media:content>
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>Traffic-Einblicke bei bueltge.de</title>
		<link>http://bueltge.de/traffic-einblicke-bei-bueltge-de/1167/</link>
		<comments>http://bueltge.de/traffic-einblicke-bei-bueltge-de/1167/#comments</comments>
		<pubDate>Thu, 03 Jun 2010 10:13:21 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Webküche]]></category>
		<category><![CDATA[Linktipp]]></category>
		<category><![CDATA[Optimierung]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[Statistik]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1167</guid>
		<description><![CDATA[Scheinbar ist man an Zahlen meines Blogs interessiert und immer wieder gibt es Fragen, mit welcher Technik ich arbeite. Ich bin kein Freak im Hinblick auf die Zahlen, habe nur wenige Vergleichszahlen und diese schwanken enorm. Insofern zeige ich mal die Werte des Monats März 2010 und ihr könnt ich selber einen Überblick verschaffen. Einige Punkt zur Technik werde ich gern im Anschluss verlieren.]]></description>
			<content:encoded><![CDATA[<p>Scheinbar ist man an Zahlen meines Blogs interessiert und immer wieder gibt es Fragen, mit welcher Technik ich arbeite. Ich bin kein Freak im Hinblick auf die Zahlen, habe nur wenige Vergleichszahlen und diese schwanken enorm. Insofern zeige ich mal die Werte des Monats März 2010 und ihr könnt ich selber einen Überblick verschaffen. Einige Punkt zur Technik werde ich gern im Anschluss verlieren.<br />
<span id="more-1167"></span><br />
Ich interessiere mich nicht sonderlich für Statistiken, fälsche auch keine und so glaube ich auch nur wenigen Auswertungen. Ich habe seit August 2009 <a href="http://www.haveamint.com/">Mint</a> als Statistik-Tool im Zugriff, weil ich mit <a href="http://piwik.org/">Piwik</a> - das kam vorher zum Einsatz - unzufrieden war. Liegt nicht an der Aufbereitung der Inhalte und der Entwicklung, sondern einfach daran, dass Piwik mit meinem Traffic Probleme hat und daher immer wieder unzuverlässig ist. Für externe Dienste bin ich nur schwer zu begeistern und so kam nach einigen Fragen bei Freunden das Tool Mint ins Haus. Der zweite und dritte Screenshot ist auch direkt von dort und es sollen nur zwei Bereiche aufgezeigt werden, für dich sich via Mail in der Regel am meisten interessiert wird.</p>
<h4>Hits &#038; Traffic</h4>
<p>Im ersten Screenshot seht ihr die Zahlen, die die <strong>Serverstatisik des Hosters</strong> ausspuckt.<br />
<img class="centered" src="http://bueltge.de/wp-content/images/traffic/traffic.png" alt="Traffic bei bueltge.de" /><br />
Ich meine, dass &asymp;4,4Millionen Hits pro Monat für ein One Man Show ganz gut sind; <a href="http://bueltge.de/probleme-fassen/965/">Probleme</a> hatte ich ja schon ausreichend und daher musste ich ja, da ich nicht den Provider wechseln wollte, auf einen eigenen Server wechseln. Dank <a href="http://wpseo.de/">Sergej von wpSEO</a> wird dieser auch ohne eigenes Zutun finanziert und so sind die Unkosten gleich null für mich persönlich - alternativ hatte ich überlegt, dass Blog anders zu fahren, da mir der Kostenaufwand für ein Freizeitprojekt recht hoch erschien.</p>
<h4>Besucherzahlen</h4>
<p>Der folgenden Screenshot zeigt euch die Monatsstatistik, die seit dem Einsatz von Mint gesammelt wurden. ich habe mal beispielhaft die Werte des <strong>Monats März</strong> hinzugefügt.<br />
<img class="centered" src="http://bueltge.de/wp-content/images/traffic/besucherzahlen.png" alt="Besucherzahlen bei bueltge.de" /></p>
<h4>Populäre Seiten</h4>
<p>Woher kommen die Leute und was wollen Sie - einen kleinen Einblick schafft der Blick auf den folgenden Screenshot. Hier ist nicht zu sehen, dass das Feed meines Blogs immer die Nummer 1 ist, dort kommen im Schnitt &asymp;250.000 Anfragen und 130.000 Besucher rein. Bei meinem Blog sind ganz klar die Feedleser die Masse; der Feed war es auch, der mir damals die meisten Probleme generierte. Die <strong>250.000 Anfragen</strong> auf dem Feed sorgen für eine Last von <strong>14.423.036 kByte</strong>.<br />
<img class="centered" src="http://bueltge.de/wp-content/images/traffic/postpopular.png" alt="Populärste Seiten bei bueltge.de" /></p>
<h3>Hinter den Kulissen</h3>
<p>Das Blog läuft mir WordPress und auch sonst nutze ich keine Zaubertricks - setze auf klassische Methoden, die ich verstehe und kontrollieren kann. Ich bin der Meinung, dass Cache toll ist - aber man sollte wissen was man tut. Nicht selten befolgen Sites die Tipps aus dem Netz, verstehen aber nicht, was sie da tun und laufen dann in einem Problemfall in weitere Probleme rein. Blindes cachen bringt Ärger. Gerade im Umfeld von PHP und mySQL gibt es viele sehr unterschiedliche Methoden und wichtig ist mir, dass ich die Methode verstehe und möglichst keine Wissenschaft betreibe.</p>
<p>Zum Einsatz kommen möglichst nur Erweiterungen in WordPress, die ich selber schreibe, oder die ich geprüft habe. Dazu nutze ich den Editor und eigene Plugins von mir zur Analyse. Mir ist wichtig, dass die Last nicht durch Plugins enorm erhöht wird. Ebenfalls schaue ich genau auf die Last im Backend von WordPress, denn bei der wenigen Zeit die ich habe, will ich nicht noch auf Inhalte warten. Insofern beginnt eine Optimierung also bei der Installation, beim Theme und den Plugins, vor allem bei den Content-Filtern und ich nutze bewusst keine Widgets! Hier ist exakte, wissende und kontrollierte Arbeitsweise wichtig. Vieles an "Standard-caches" steuere ich via .htaccess; einen Einblick davon kann man sich in der <a href="http://code.google.com/p/wp-basis-theme/source/browse/trunk/basis/wp-root-tipps/.htaccess">Beispieldatei</a> vom <a href="http://wpbasis.de/">WP Basis Theme</a> im SVN machen.</p>
<p><strong>Am Rande:</strong> die größten Probleme machte mir in der Vergangenheit den Code, den ich in den Beiträgen darstelle, zu filtern. Der wurde via Filter maskiert und via Geshi formatiert - das war das aus ab einer gewissen Zugriffszahl. Aktuell arbeite ich mit einer eigenen Lösung und hinterlasse nur maskierten Code im Content, es läuft kein Filter mehr. Ich kenne kein Plugin für WordPress, was ich daher empfehlen kann, jeder Filter kann auf lange Sicht zu Problemen führen und das Blog ist abhängig vom Plugin, denn bei Deaktivierung wird der Code dann nicht selten interpretiert.</p>
<p>Im weiteren kommt nach Spielereien mit dem <a href="http://eaccelerator.net/">eAccelerator</a> der <a href="http://pecl.php.net/package/APC">APC</a> zum Einsatz. Hier habe ich keine handhabe, ich habe das Modul vom Hoster installieren lassen und kann nicht daran drehen. Aber innerhalb von WordPress habe ich eine Erweiterung laufen, die den Standard-Cache von WP mit dem APC nutzt und parallel läuft das Plugin <a href="http://www.w3-edge.com/wordpress-plugins/w3-total-cache/">W3 Total Cache</a> - dies ist aus meiner Sicht aktuell eines der Plugins, die man sich ansehen sollte, wenn man dahingehend Bedarf hat! Auch hier gilt, kontrolliert nutzen - nicht blind einschalten. Das Plugin hat sehr viele Funktionen, so dass man sehr schön gezielt schalten kann.<br />
Ich kenne die Meinungen zu dem Auslagern auf statische Seiten, zum Beispiel via Plugin Super Cache, verliere damit aber eine gewissen Freiheit und muss mich wesentlich mehr um das Cachen kümmern. Daher bevorzuge ich eher andere Themen. Ebenfalls kommt hier kein CDN zum Einsatz; in einem anderen Projekt mit viel Grafik war dies wirklich ein Schachzug und hat extreme Geschwindigkeit gebracht.</p>
<p><strong>Um es kurz zu machen:</strong> einige Einblicke in die Zahlen habe ich gebracht, gern zeige ich mehr, wenn man mag. Den technischen Aspekt möchte ich ungern klar darstellen, da aus meiner Sicht das Thema nicht schwarz &#038; weiß ist, sondern bedacht eingesetzt werden sollte und immer in Abhängigkeit der Anforderungen steht. Schreibe Reviews für Kunden, dann schaue ich mir jedes Detail an, gebe Empfehlungen und immer wieder gibt es Unterschiede. Nicht jeder hat unbegrenzte Möglichkeiten, nutzt Server Load Balancing für eine Verteilung der Last. Es gilt, mit bedacht und kontrolliert an der Performance drehen.</p>
<p><strong>Ein letzter Hinweis:</strong> wer mehr über die Optimierung bei sehr hohem Traffic wissen möchte, der sollte sich den <a href="http://twitter.com/fholzhauer/status/15198165020">Vortrag von Florian Holzhauer</a> ansehen. Er <a href="http://www.lawblog.de/index.php/archives/2010/06/01/blick-unter-die-haube-des-law-blog/">administriert das Lawblog</a> und dies hat &asymp;8Millionen Hits im Monat - ich bin also recht klein in der Blogwelt.<br />
<hr />
<p style="float:right;"><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/></p>
<p><small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p style="border: 1px solid #666666; padding: 5px; background: #e6e6e6 none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; display: block; margin-bottom: 25px;"><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://flattr.com/thing/13244/bueltge-de-byltge-de" title="Flattr this">Flattrn</a> &middot; <a href="http://bueltge.de/traffic-einblicke-bei-bueltge-de/1167/#writecomment" title="zu den Kommentaren">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/traffic-einblicke-bei-bueltge-de/1167/feed/</wfw:commentRss>
		<slash:comments>35</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/traffic/traffic.png" />
		<media:content url="http://bueltge.de/wp-content/images/traffic/traffic.png" medium="image">
			<media:title type="html">Traffic bei bueltge.de</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/images/traffic/besucherzahlen.png" medium="image">
			<media:title type="html">Besucherzahlen bei bueltge.de</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/images/traffic/postpopular.png" medium="image">
			<media:title type="html">Populärste Seiten bei bueltge.de</media:title>
		</media:content>
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
	</channel>
</rss>