<?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] &#187; StyleSheet</title>
	<atom:link href="http://bueltge.de/tag/stylesheet/feed/" rel="self" type="application/rss+xml" />
	<link>http://bueltge.de</link>
	<description>Frank Bültge schreibt auf bueltge.de zu den Themen Webentwicklung &#38; design, WordPress, Literatur und andere Themen bezüglich Internet und Development</description>
	<lastBuildDate>Mon, 06 Feb 2012 12:19:43 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Simple Media Queries Tester</title>
		<link>http://bueltge.de/simple-media-queries-tester/1239/</link>
		<comments>http://bueltge.de/simple-media-queries-tester/1239/#comments</comments>
		<pubDate>Tue, 21 Dec 2010 09:18:21 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[CSS, xHTML, JS]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Webküche]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[StyleSheet]]></category>
		<category><![CDATA[Webdesign]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1239</guid>
		<description><![CDATA[Die Möglichkeiten von CSS Media Queries in einem Blick halten empfinde ich gerade beim Entwickeln wichtig, darum ein kleines Tool, was dies ermöglicht.]]></description>
			<content:encoded><![CDATA[<p><a href="http://css-tricks.com/css-media-queries/">CSS Media Queries</a> dringen immer weiter vor und die Möglichkeiten der Anpassung bei der Größe einer Website an die den entsprechenden Client bzw. die Bildgröße des Browsers werden notwendiger. Die Media Queries sind eine Lösung, die ihre Vor- und Nachteile haben. Beim Einsetzen empfand ich es manchmal als Nachteil, dass ich mir nicht alle Größe gleichzeitig ansehen konnte. Warum also nicht einfach ein kleines Script und das iframe-Element sinnvoll gebrauchen.<br />
Wer mag und dies braucht, der findet hier nun eine simple und einfache Lösung oder kann auch gern das <a href="http://bueltge.de/test/media-query-tester.php">laufende Script</a> in meinem "Test-Labor" nutzen. Die Version hat auch einige weitere Spielereien inne, so kann man außerdem die Werte der iframes anpassen und diese Daten speichere ich mittels der <a href="http://dev.w3.org/html5/webstorage/">DOM Storage-API</a> innerhalb eines Browsers lokal. Meine Lösung im Labor hat keinen Fallback und sollte nur mit Browsers sauber laufen, die die Möglichkeit der Storage API unterstützen.<br />
<span id="more-1239"></span><br />
Die Lösung kann beliebig erweitert und verbessert werden, viel Freude damit.</p>
<p><a href="http://bueltge.de/test/media-query-tester.php"><img src="http://bueltge.de/wp-content/images/Simple-Media-Queries-Tester.png" alt="Screenshot Simple Media Queries Tester" title="Simple Media Queries Tester" class="centered" /></a></p>
<p>Der folgende Code ist lediglich in einer PHP-Datei zu speichern und kann dann genutzt werden. Ich habe nur wenig mit CSS gespielt und angepasst; ebenfalls ist die Browserunterstützung vermutlich nicht sonderlich groß, da ich rein auf HTML5 und CSS3 setze und keine Scripte dafür hinterlege. </p>
<pre><code>
&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
	&lt;meta charset=utf-8 /&gt; 

	&lt;title&gt;Simple Media Queries Tester&lt;/title&gt; 

	&lt;meta name=&quot;description&quot; content=&quot;Simple Media Queries Tester&quot; /&gt;
	&lt;meta name=&quot;author&quot; content=&quot;Frank Bueltge - http://bueltge.de&quot; /&gt; 

	&lt;style type=&quot;text/css&quot; media=&quot;screen&quot;&gt;
	/*&lt;![CDATA[*/
		body { background:#fff;font-family:Arial,Helvetica,sans-serif;font-size:100%;margin:20px; }
		a { text-decoration:none; color:#1152c8; }
		fieldset { border:1px solid #ccc; margin:0 0 20px 0; }
		form#mediaqueriestest input { margin:auto; }
		form#mediaqueriestest button { margin:auto;text-shadow:0 1px 1px #000;text-transform:uppercase; }
		form#mediaqueriestest button:hover { background:#1152c8;color:#000;cursor:pointer; }
		form#mediaqueriestest input:active, form#mediaqueriestest input:focus { outline:none;border:1px solid #333;background:#fff;color:#000;-moz-border-radius:20px;-webkit-border-radius:20px;-khtml-border-radius:20px;border-radius:20px; }
		form#mediaqueriestest fieldset, form#mediaqueriestest legend, form#mediaqueriestest input, form#mediaqueriestest button, iframe, footer {
background:#333;color:#fff;padding:7px 25px;border:1px solid #333;-moz-border-radius:20px;-webkit-border-radius:20px;-khtml-border-radius:20px;border-radius:20px; }
		form#mediaqueriestest fieldset, form#mediaqueriestest legend { background:#ccc;color:#000;margin:10px;padding-bottom:25px; }
		form#mediaqueriestest legend { padding:7px 25px;-webkit-box-shadow: 2px 2px 2px #333; }
		iframe { margin:0 auto; border:1px solid #ccc; margin:10px; }
		footer { display:block; color:#333; margin:20px 0 0 0; border:2px solid #ba0100; background:#fff; }
	/*]]&gt;*/
	&lt;/style&gt;

&lt;/head&gt;
&lt;body&gt;
	&lt;header&gt;
		&lt;h1&gt;&lt;a href=&quot;http://bueltge.de/&quot; title=&quot;to the weblog of the author&quot;&gt;Simple Media Queries Tester&lt;/a&gt;&lt;/h1&gt;
	&lt;/header&gt;

	&lt;section&gt;
		&lt;form id=&quot;mediaqueriestest&quot; action=&quot;&lt;?php echo htmlspecialchars( strip_tags($_SERVER['PHP_SELF']) ); ?&gt;&quot; method=&quot;get&quot;&gt;
		&lt;fieldset&gt;
		&lt;legend&gt;Test your URL&lt;/legend&gt;
		&lt;label for=&quot;testurl&quot;&gt;Test URL&lt;/label&gt;
			&lt;input type=&quot;text&quot; name=&quot;testurl&quot; id=&quot;testurl&quot; placeholder=&quot;Input your test url here&quot; size=&quot;70&quot;&gt;
			&lt;button type=&quot;submit&quot;&gt;Test it!&lt;/button&gt;
		&lt;/fieldset&gt;
		&lt;/form&gt;
		&lt;?php
		if ( !empty($_GET['testurl']) ) {
			$newURL = htmlspecialchars( strip_tags($_GET['testurl']), ENT_QUOTES );
			if (preg_match(&quot;/^(www.)/i&quot;, $newURL) )
				$iframeurl = 'http://'.$newURL;
			elseif (preg_match(&quot;/^(http:\/\/)/i&quot;, $newURL))
				$iframeurl = $newURL;
			else
				$iframeurl = 'http://www.' . $newURL;

			echo '&lt;iframe name=&quot;fullsize&quot; id=&quot;fullsize&quot; width=&quot;960&quot; height=&quot;450&quot; seamless=&quot;seamless&quot; src=&quot;' . $iframeurl . '&quot;&gt;&lt;/iframe&gt;';
			echo '&lt;iframe name=&quot;netbook&quot; id=&quot;netbook&quot; width=&quot;650&quot; height=&quot;450&quot; seamless=&quot;seamless&quot; src=&quot;' . $iframeurl . '&quot;&gt;&lt;/iframe&gt;';
			echo '&lt;iframe name=&quot;mobile&quot; id=&quot;meinframe&quot; width=&quot;450&quot; height=&quot;450&quot; seamless=&quot;seamless&quot; src=&quot;' . $iframeurl . '&quot;&gt;&lt;/iframe&gt;';
		} else {
			echo '&lt;p&gt;keine Seite geladen - Adresse Eingeben&lt;/p&gt;';
		}
		?&gt;
	&lt;/section&gt;

	&lt;footer&gt;
		&lt;p&gt;
		&amp;copy; 2010 &lt;a href=&quot;http://bueltge.de/&quot;&gt;bueltge.de&lt;/a&gt; &amp;middot; &lt;a href=&quot;http://bueltge.de/impressum/&quot;&gt;Impressum&lt;/a&gt;
		&lt;/p&gt;
	&lt;/footer&gt;

&lt;/body&gt;
&lt;/html&gt;

</code></pre>
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><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://bueltge.de/simple-media-queries-tester/1239/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/simple-media-queries-tester/1239/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/Simple-Media-Queries-Tester.png" />
		<media:content url="http://bueltge.de/wp-content/images/Simple-Media-Queries-Tester.png" medium="image">
			<media:title type="html">Simple Media Queries Tester</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>Einfaches Autoresize für die WordPress Hintergrundbild-Funktion</title>
		<link>http://bueltge.de/einfaches-autoresize-fur-die-wordpress-hintergrundbild-funktion/1230/</link>
		<comments>http://bueltge.de/einfaches-autoresize-fur-die-wordpress-hintergrundbild-funktion/1230/#comments</comments>
		<pubDate>Fri, 03 Dec 2010 13:22:01 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[CSS, xHTML, JS]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Themes]]></category>
		<category><![CDATA[Tipps]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[StyleSheet]]></category>
		<category><![CDATA[Theme]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1230</guid>
		<description><![CDATA[Die Hintergrundbild-Funktion von WordPress kann angepasst werden, wie man dies tut und was man erwarten kann zeige ich an einem Beispiel, welches das Hintergrund mittels Autoresize immer an die Größe des Browsers anpasst. ]]></description>
			<content:encoded><![CDATA[<p>Mit WordPress 3.0 wurde die Möglichkeit im Theme geschaffen, dass der User einfach ein <a href="http://wpengineer.com/1964/wordpress-3-0-custom-background-support/">Hintergrundbild</a> hochladen und nutzen können. Das Bild wird mittels CSS im Hintergrund positioniert. Damit ist es nicht ganz so einfach, dass die Möglichkeit des Autoresize schafft und der Hintergrund sich an die Größe des Browsers anpasst. Es gibt einige schöne Möglichkeiten für diese Anforderung, ich möchte kurz eine sehr einfache Möglichkeit mittels CSS aufzeigen, da so die Funktion von WordPress nicht angefasst werden muss.<br />
<span id="more-1230"></span><br />
Die folgende Syntax muss innerhalb des Stylesheet integriert werden. Dazu kann auch ein <a href="http://bueltge.de/wordpress-child-themes-verstehen/1192/">Child-Theme</a> angelegt werden, wenn das Originaltheme nicht verändert werden sollte. Die Werte müssen mit <code>!important</code> versehen werden, da ansonsten die Werte von WordPress genutzt werden, das Überschreiben dieser Werte ist nicht anders möglich. Damit wird der Hintergrund immer an die Größe des Browsers angepasst - aber Achtung: dies ist nicht immer die optimale Lösung, da die Bilder dazu in der eigentlichen Größe verändert werden, heißt also, dass ein sehr schmaler Bildausschnitt das Bild extrem verzerrt. Der Beispielscreenshot ist da wenig empfindlich, da die Wolken dies vertragen können und trotzdem ein angenehmes Hintergrundbild liefern - im Gegensatz zum Standard, in dem das Bild wie in der Vorschau gekachelt wäre; bei anderen Bildern kann dies sehr unschön aussehen.</p>
<p><img src="http://wpengineer.com/wp-content/uploads/autoresize-settings-300x190.png" alt="" title="autoresize-settings" width="300" height="190" class="aligncenter size-medium wp-image-2107" /></p>
<pre><code lang="css">
body {
	background-repeat:no-repeat !important;
	background-position:center center !important;
	background-attachment:fixed !important;
	-o-background-size: 100% 100%, auto !important;
	-moz-background-size: 100% 100%, auto !important;
	-webkit-background-size: 100% 100%, auto !important;
	background-size: 100% 100%, auto !important;
}
</code></pre>
<p>Das CSS ist nicht in allen Browsern nutzbar, <a href="http://caniuse.com/?utm_content=backtype-tweetcount&#038;utm_medium=bt.io-twitter&#038;utm_source=twitter.com#search=background-size">siehe Übersicht</a>, liefert daher nur in den aktuellen Browsern den erwarteten Effekt. Der Internet Explorer, Browser kann man ihn ja schlecht nennen, hat hiermit so seine Schwierigkeiten.</p>
<p><img src="http://wpengineer.com/wp-content/uploads/autoresize-example-300x153.png" alt="" title="autoresize-example" width="300" height="153" class="aligncenter size-medium wp-image-2106" /></p>
<p>Eine Alternative ist es den Callback für die Funktion mitzugeben und eine eigene kleine Funktion in der <code>functions.php</code> abzulegen, die sich um das Ausgeben des CSS kümmert. Die folgende Funktion tut dies statisch, fragt also nur das Bild ab und nutzt die Werte aus dem Backend nicht.</p>
<pre><code>
function fb_header_callback() {

  $background = get_background_image();
  if ( !$background )
    return;

  if ( $background ) {
    $image = &quot; background-image: url('$background');&quot;;

    $style  = 'background-repeat:no-repeat;';
    $style .= 'background-position:center center;';
    $style .= 'background-attachment:fixed;';
    $style .= '-o-background-size: 100% 100%, auto;';
    $style .= '-moz-background-size: 100% 100%, auto;';
    $style .= '-webkit-background-size: 100% 100%, auto;';
    $style .= 'background-size: 100% 100%, auto;';

    $style .= $image . $style;
  }
?&gt;
&lt;style type=&quot;text/css&quot;&gt;
body { &lt;?php echo trim( $style ); ?&gt; }
&lt;/style&gt;
&lt;?php
}
</code></pre>
<p>Diese Funktion muss in der Funktion als Callback mitgeben, sie kann natürlich beliebig angepasst werden. In der <code>functions.php</code> des Themes sollte es, wenn es die Background-Image-Funktionalität schon gibt, die Funktion <code>add_custom_background()</code> geben. Dieser muss im ersten Parameter mit der neuen Funktion erweitert werden und nun wird der Standard-Callback von WordPress nicht mehr aufgerufen. </p>
<pre><code class="php">
	// This theme allows users to set a custom background
	add_custom_background( 'fb_header_callback' );
</code></pre>
<p>Als Hinweis, der Style wird dann via Hook <code>wp_head</code> direkt im <code>head</code> ausgegeben, eher unschön - wie ich finde, und daher solltet ihr diese Formatierung wohl besser im Stylesheet ablegen, da sie eh statisch ist und nicht vom User angepasst werden kann. Ebenso ist wichtig das der Hook auch im Theme vorhanden ist, was aber auch für andere Plugins oder Funktionen wichtig ist.</p>
<h4>Werte aus dem Backend nutzen</h4>
<p>Als letzter kleiner Tipp für eure eigenen Anpassungen möchte ich noch zeigen, wie man die Werte aus dem Backend bekommt und nutzt.<br />
Die Hintergrundfarbe der Optionen zum Hintergrundbild wird mit folgender Funktion zurück gegeben:</p>
<pre><code>$color = get_background_color();</code></pre>
<p>Das Bild bekommt via:</p>
<pre><code>$background = get_background_image();</code></pre>
<p>Und einzelne Einstellungen zum Style werden via <code>get_theme_mod($name);</code> abgefragt:<br />
Der folgende kleine Schnipsel gibt die gesetzten Werte zum Theme zurück.</p>
<pre><code>
$mods = get_theme_mods();
var_dump($mods);
</code></pre>
<p>Dies könnte beispielsweise für das Standard Theme Tweny Ten wie folgt aussehen</p>
<pre><code class="php">
string 'Twenty Ten' (length=10)

array
  'background_image' => string 'http://localhost/wpbeta/wp-content/uploads/2010/12/apple-touch-icon.png' (length=71)
  'background_image_thumb' => string 'http://localhost/wpbeta/wp-content/uploads/2010/12/apple-touch-icon.png' (length=71)
  'background_repeat' => string 'no-repeat' (length=9)
  'background_position_x' => string 'center' (length=6)
  'background_attachment' => string 'scroll' (length=6)
  'background_color' => string '' (length=0)
</code></pre>
<p>Aufgrund dieser Werte im Array kann man beispielsweise den Wert <code>background_repeat</code> holen,</p>
<pre><code>$repeat = get_theme_mod( 'background_repeat' );</code></pre>
<p>der in diesem Beispiel <code>no-repeat</code> zurück gibt.</p>
<p>Mit den anderen Werten kann man genauso verfahren; eine Menge an Spielraum und Möglichkeiten.<br />
Zum den Themen CSS und Hintergrund findet man einen ausführlichen Artikel bei Chris: <a href="http://css-tricks.com/perfect-full-page-background-image/">Perfect Full Page Background Image</a><br />
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><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://bueltge.de/einfaches-autoresize-fur-die-wordpress-hintergrundbild-funktion/1230/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/einfaches-autoresize-fur-die-wordpress-hintergrundbild-funktion/1230/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
	
		<media:thumbnail url="http://wpengineer.com/wp-content/uploads/autoresize-settings-300x190.png" />
		<media:content url="http://wpengineer.com/wp-content/uploads/autoresize-settings-300x190.png" medium="image">
			<media:title type="html">autoresize-settings</media:title>
		</media:content>
		<media:content url="http://wpengineer.com/wp-content/uploads/autoresize-example-300x153.png" medium="image">
			<media:title type="html">autoresize-example</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>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><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><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://bueltge.de/inspiriere-maximal-10k-html5/1200/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/inspiriere-maximal-10k-html5/1200/feed/</wfw:commentRss>
		<slash:comments>22</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>Stylesheet laden, wenn die WordPress Galerie im Beitrag ist</title>
		<link>http://bueltge.de/stylesheet-laden-wenn-wordpress-galerie-beitrag/1090/</link>
		<comments>http://bueltge.de/stylesheet-laden-wenn-wordpress-galerie-beitrag/1090/#comments</comments>
		<pubDate>Wed, 20 Jan 2010 00:06:37 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Themes]]></category>
		<category><![CDATA[Tipps]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Linktipp]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[StyleSheet]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1090</guid>
		<description><![CDATA[Im Bezug auf die bessere Gallery ist es eigentlich nicht nötig das Stylesheet zu laden, wenn es keine Gallery gibt, insofern ist es also lohnend, wenn man im Vorfeld prüft, ob die Gallery im Beitrag genutzt wird und nur dann das Stylesheet laden. Dazu muss man die Beitrag parsen und das kann man auf zwei Arten tun.]]></description>
			<content:encoded><![CDATA[<p>Im Bezug auf die <a href="http://dynamicinternet.eu/blog/2009-11-06/eine-loesung-fuer-die-wordpress-galerie/">bessere Gallery</a> ist es eigentlich nicht nötig das Stylesheet zu laden, wenn es keine Galerie gibt, insofern ist es also lohnend, wenn man im Vorfeld prüft, ob die Gallery im Beitrag genutzt wird und nur dann das Stylesheet laden. Dazu muss man die Beitrag parsen und das kann man auf zwei Arten tun.<br />
<span id="more-1090"></span><br />
Die klassische Lösung ist den Content in der Ausgabe zu parsen und den Shortcode zu suchen, klassisches PHP <a href="http://de2.php.net/manual/de/function.strstr.php"><code>strstr</code></a>. Je nach Ergebnis wird das Stylesheet geladen.<br />
<code>if ( strstr($post-&gt;post_content, '[gallery') )</code>.<br />
Dies kostet natürlich Zeit und Performance, was man eigentlich meiden möchte. Insofern ist es besser, wenn man den Beitrag im Vorfeld parsen kann. In diesem Zusammenhang gibt es einen <a href="http://wordpress.org/support/topic/350167#post-1344676">Tread im Forum von WordPress</a>, welches genau dazu eine erstklassige Lösung von <a href="http://w-shadow.com/">WhiteShadow</a> hat und diesen Ansatz kann man natürlich auch für das Laden des Stylesheet nutzen, wenn es um die Gallery geht.</p>
<pre><code class="php">
// onyl css, when post has a gallery
function gallery_stylesheet($posts) {
	if ( empty($posts) )
		return $posts;

	$found = false;

	foreach ($posts as $post) {
		if ( stripos($post-&gt;post_content, '[gallery') )
			$found = true;
			break;
		}

	if ($found)
		wp_enqueue_style( 'gallery-stylesheet', get_bloginfo('stylesheet_directory') . '/gallery.css', false, false, 'screen' );

	return $posts;
}
add_action('the_posts', 'gallery_stylesheet');
</code></pre>
<p>Diesen Ansatz kann man natürlich auch nutzen für das Laden von Scripten,</p>
<pre><code class="php">
// onyl js, when post has a gallery
function my_script($posts) {
	if ( empty($posts) )
		return $posts;

	$found = false;

	foreach ($posts as $post) {
		if ( stripos($post-&gt;post_content, '[gallery') )
			$found = true;
			break;
		}

	if ($found)
		wp_enqueue_script( 'my-script', get_bloginfo('stylesheet_directory') . '/script.js', false, false, true );

	return $posts;
}
add_action('the_posts', 'my_script');
</code></pre>
<p>Weitere Hinweise zum Einbinden von JavaScript- und CSS-Dateien gibt es <a href="http://bueltge.de/javascript-bibliotheken-in-und-aus-wordpress-nutzen/808/">in einem anderen Beitrag</a> zum Thema.<br />
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><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://bueltge.de/stylesheet-laden-wenn-wordpress-galerie-beitrag/1090/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/stylesheet-laden-wenn-wordpress-galerie-beitrag/1090/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>Neue Templates für Kategorien</title>
		<link>http://bueltge.de/neue-templates-fuer-kategorien/1048/</link>
		<comments>http://bueltge.de/neue-templates-fuer-kategorien/1048/#comments</comments>
		<pubDate>Wed, 02 Dec 2009 08:00:18 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Themes]]></category>
		<category><![CDATA[Tipps]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Adventskalender]]></category>
		<category><![CDATA[StyleSheet]]></category>
		<category><![CDATA[Template]]></category>
		<category><![CDATA[Theme]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[WP]]></category>
		<category><![CDATA[WP2.9]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1048</guid>
		<description><![CDATA[Um das Design oder die Inhalte im Bezug auf eine bestimmte Kategorie anzupassen, musste man bisher eine Abfrage im Theme oder in einem Plugin nutzen. Mit Version 2.9 wird WordPress in der Template-Hirarchie erweitert und man kann nun auf Grund des Slug eigene Templates erstellen.]]></description>
			<content:encoded><![CDATA[<p><img  class="alignright" src="http://bueltge.de/wp-content/images/wp/christmas/wp-christmas-02.jpg" alt="WP Adventskalender 02" /><br />
Um das Design oder die Inhalte im Bezug auf eine bestimmte Kategorie anzupassen, musste man bisher eine Abfrage im Theme oder in einem Plugin nutzen. Mit Version 2.9 wird WordPress in der Template-Hirarchie erweitert und man kann nun auf Grund des Slug eigene Templates erstellen.<br />
<span id="more-1048"></span><br />
Ein Beispiel soll es verdeutlichen; diverse Beiträge werden als Kurznews ausgegeben, ein Microblog also. Daher lege ich eine Kategorie mit diesem Namen an und nutze den generierten Slug.</p>
<p><img class="centered" src="http://bueltge.de/wp-content/images/wp/cat-slug.png" alt="WordPress Kategorie pflegen" /></p>
<p>Die Darstellung dieser Beiträge in der Kategorie-Übersicht soll eine andere sein. Bisher musste man dazu folgenden Abfrage integrieren:</p>
<pre><code class="php">
if ( is_category('microblog') ) {
	// hier die Ausgabe oder Integration des Stylesheet für Kategorie <em>Microblog</em>
}
</code></pre>
<p>Mit WordPress 2.9 reicht das entsprechende Template <code>category-microblog.php</code> und dieses Template wird gezogen, wenn man in der Kategorie des Slug <code>microblog</code> ist. Alternativ geht es auch weiterhin mit der ID, die sich aber ändern kann. Über den Namen des Slug ist die Identifizierung eindeutig und einfach.<br />
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><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://bueltge.de/neue-templates-fuer-kategorien/1048/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/neue-templates-fuer-kategorien/1048/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/wp/christmas/wp-christmas-02.jpg" />
		<media:content url="http://bueltge.de/wp-content/images/wp/christmas/wp-christmas-02.jpg" medium="image">
			<media:title type="html">WP Adventskalender 02</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/images/wp/cat-slug.png" medium="image">
			<media:title type="html">WordPress Kategorie pflegen</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>Wartungsmodus Designs - die Teilnehmer &amp; Gewinner</title>
		<link>http://bueltge.de/wartungsmodus-designs-teilnehmer-gewinner/1010/</link>
		<comments>http://bueltge.de/wartungsmodus-designs-teilnehmer-gewinner/1010/#comments</comments>
		<pubDate>Tue, 01 Sep 2009 10:18:54 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Gewinnspiel]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[StyleSheet]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1010</guid>
		<description><![CDATA[Bis gestern lief das Gewinnspiel zu meinem Plugin Wartungsmodus, wo ich um neue Designs bat. Die Teilnahme war nicht sonderlich groß, wie ich fand; um so schöner, dass die, die sich beteiligt haben, so schöne und unterschiedliche Designs gesandt haben.
Alle Entwürfe sind in das Plugin eingeflossen und sind damit für alle Nutzer des Plugins Wartungsmodus nutzbar.]]></description>
			<content:encoded><![CDATA[<p>Bis gestern lief das <a href="http://bueltge.de/gewinnspiel-neue-designs-wartungsmodus-gesucht/997/">Gewinnspiel</a> zu meinem Plugin Wartungsmodus, wo ich um neue Designs bat. Die Teilnahme war nicht sonderlich groß, wie ich fand; um so schöner, dass die, die sich beteiligt haben, so schöne und unterschiedliche Designs gesandt haben.<br />
Alle Entwürfe sind in das <a href="http://bueltge.de/wp-wartungsmodus-plugin/101/">Plugin</a> eingeflossen und sind damit für alle Nutzer des <a href="http://bueltge.de/wp-wartungsmodus-plugin/101/">Plugins Wartungsmodus</a> nutzbar.</p>
<p>Bevor ich die Gewinner der Bücher bekannt gebe, möchte ich aber die Entwürfe und die Teilnehmer kurz vorstellen, so dass ihr Beitrag am Plugin nicht nur durch ein Danke von mir, diverse Backlinks und eventuell ein Gewinn eines Buches gewürdigt wird, sondern dass auch die Leser meines Blogs einen Einblick bekommen oder ein neues Gesicht im Web entdecken.<br />
Die Liste ist ohne Wertung und entspricht der zeitlichen Einsendung von Designs zum Aufruf in meinem Blog.<br />
<span id="more-1010"></span></p>
<ul>
<li>
<h4>The Truck</h4>
<p><img class="centered" src="http://bueltge.de/wp-content/images/wp/wartungsmodus/screenshot-1.png" alt="Wartungsmodus im Design von David Hellmann" /><br />
<a href="http://www.davidhellmann.com/">David</a> war der Auslöser für die Idee, denn er sandte ohne Aufforderung ein Design für das Plugin. Damit fing alles an und ich schrieb eine erweiterte Version, die nun komplett neu ist und neue Designs aufnehmen kann. Alternativ wurde die Möglichkeit implementiert, dass man eigene Stylesheets hinterlegen kann. Ebenso hat die Frontend-Ausgabe des Plugins drei Hooks, um Inhalte zu steuern.</p>
<blockquote><p>David ist 24 Jahre alt, Grafikdesigner, Webdesigner und Webentwickler aus Köln. Geboren wurde er in der kleinen aber feinen Stadt Plauen, in der er auch die Zeit bis zu seinem 23 Lebensjahr verbrachte.<br />
Er machte einen Realschulabschluss und anschließend eine zweijährige Ausbildung zum Datenverarbeitungskaufmann. Nach zwei Jahren und erfolgreichem Abschluss folgte der Zivildienst. Danach ging es noch einmal zurück auf die Schulbank um das vermisste Abitur (Fachabitur) nachzuholen. ...</p></blockquote>
</li>
<li>
<h4>The Sun</h4>
<p><img class="centered" src="http://bueltge.de/wp-content/images/wp/wartungsmodus/screenshot-4.png" alt="Wartungsmodus im Design von Nicki Steiger" /><br />
<a href="http://mynicki.net/">Nicki</a> war nach dem Aufruf zum Mitmachen der erste Teilnehmer und schnell war sein Design integriert. Wer sein Photoblog besucht, wird schnell merken, dass das Ziel von Nicki vornehmlich darin liegt, seine eigene Idee zu verwirklichen und dass die Liebe zum Detail in ihm steckt.</p>
<blockquote><p>... Meine Ansichten ändern sich: Die Kamera ist nicht der Mittelpunkt von Allem, aber es ist wunderbar mit ihr kreativ zu sein.</p></blockquote>
</li>
<li>
<h4>The FF Error</h4>
<p><img class="centered" src="http://bueltge.de/wp-content/images/wp/wartungsmodus/screenshot-5.png" alt="Wartungsmodus im Design von Thomas Meschke" /><br />
<a href="http://www.lokalnetz.com/">Thomas</a> wollte schon immer eine Seite für die Anwendung &#8222;Wartungsmodus&#8220; im alten Firefox-Error-Stil machen und mein Plugin kam da gerade recht.<br />
Leider macht Thomas nicht mehr so viel öffentliche Lösungen für WordPress, denn die waren in der Vergangenheit eine Bereicherung.</p>
<blockquote><p>Thomas entwickelt Webseiten, die originell, praktisch, übersichtlich und effektiv sind.</p></blockquote>
</li>
<li>
<h4>Monster</h4>
<p><img class="centered" src="http://bueltge.de/wp-content/images/wp/wartungsmodus/screenshot-6.png" alt="Wartungsmodus im Design von Sebastian Sebald" /><br />
<a href="http://www.backseatsurfer.de/">Sebastian</a> spielt gern, in diesem Fall <a href="http://www.backseatsurfer.de/2009/08/backseat-tutorial-illustrator-monster/">spielte er Illustrator</a>. Daher kam eine schöne Idee raus und wurde ebenso schnell in mein Plugin aufgenommen.</p>
<blockquote><p>Seitdem ich kein World of Warcraft mehr spiele, habe ich zuviel Freizeit. Eine Alternative musste her.<br />
Da mich (bis auf WoW) Computer spiele nicht wirklich lange beschäftigen können, habe ich beschlossen mir eine kleine Internetpräsenz aufzubauen. Bloggen ist ja sowieso hip und deswegen darf mein mal mehr mal weinger sinnvoller Beitrag natürlich nicht fehlen. ...</p></blockquote>
</li>
<li>
<h4>Chastely</h4>
<p><img class="centered" src="http://bueltge.de/wp-content/images/wp/wartungsmodus/screenshot-7.png" alt="Wartungsmodus im Design von Florian Andreas Vogelmaier" /><br />
<a href="http://fv-web.de/">Florian</a> war vom Plugin <a href="http://fv-web.de/wp-plugin-wartungsmodus">begeistert</a> und schon war die Idee, ein Design bei zusteuern, geboren.</p>
<blockquote><p>Einfach aus Leidenschaft fürs Web.</p></blockquote>
</li>
<li>
<h4>Only Typo</h4>
<p><img class="centered" src="http://bueltge.de/wp-content/images/wp/wartungsmodus/screenshot-8.png" alt="Wartungsmodus im Design von Robert Pfotenhauer" /><br />
<a href="http://krautsuppe.de/">Robert</a> ist geschätzter Freund, Kollege und Teilnehmer des Gewinnspiels. Um so schöner, dass sich auch direkte Freunde beteiligen und ein weiteres Design zum Plugin bei steuern. Robert ist vorrangig im <a href="http://twitter.com/ratterobert">Mikroblogging-Kreis</a> aktiv.
</li>
<li>
<h4>Paint</h4>
<p><img class="centered" src="http://bueltge.de/wp-content/images/wp/wartungsmodus/screenshot-9.png" alt="Wartungsmodus im Design von Marvin Labod" /><br />
<a href="http://www.bugeyes.de/">Marvin</a> beherrscht nicht nur seine Grafik-Anwendung, dass er sie aber beherrscht zeigt <a href="http://www.bugeyes.de/2009/08/18/mein-design-fuer-das-wartungsmodus-plugin/">sein Design</a> sicher. Ich danke für diesen Farbklecks und habe es ebenso gern in das Plugin integriert.
</li>
<li>
<h4>Animate</h4>
<p><img class="centered" src="http://bueltge.de/wp-content/images/wp/wartungsmodus/screenshot-10.png" alt="Wartungsmodus im Design von Sebastian Schmiedel" /><br />
Das Design von <a href="http://www.cayou-media.de/">Sebastian</a> arbeitet mit Flash und so ist ein weiter Hook in das Frontend des Plugins eingeschlossen. Nur so war die wahlweise Integration sauber umsetzbar. Nun kann der Besucher mit ein wenig animierten Witz vertröstet werden.</p>
<blockquote><p>Erfolg - eine Teamsache!</p></blockquote>
</li>
<li>
<h4>Damask</h4>
<p><img class="centered" src="http://bueltge.de/wp-content/images/wp/wartungsmodus/screenshot-11.png" alt="Wartungsmodus im Design von Fabian Letscher" /><br />
Fabian spielt in seinem Design mit der Idee des Damasttuch und setzt daher auch auf die Muster uns Struktur. Sicher eine Idee, die nicht nur mir gefällt.</p>
<blockquote><p>In den letzten Jahren habe ich viel Zeit inverstiert meine (X)HTML und CSS Kenntnisse zu erweitern und auf die neuesten Standards zu setzen.</p></blockquote>
</li>
<li>
<h4>Lego</h4>
<p><img class="centered" src="http://bueltge.de/wp-content/images/wp/wartungsmodus/screenshot-12.png" alt="Wartungsmodus im Design von Alex Frison" /><br />
<a href="http://blogdrauf.de/">Alex</a> ist Spieler, scheint mir, und die Zeit mit Lego ist noch in guter Erinnerung. Scheinbar kommt daher sein Design-Vorschlag, der das Plugin ebenso gut bereichert.</p>
<blockquote><p>Seit Juli 2006 schreibe ich auf BlogDrauf.de über Dinge, die mein Leben berühren. Weil ich blog drauf habe!</p></blockquote>
</li>
</ul>
<h3>Gewinner des Gewinnspiels</h3>
<p>Im Artikel zum Gewinnspiel habe ich ja darauf hingewiesen, dass ich unter den Teilnehmern diverse Bücher zum Thema Webdesign verlose und darum im folgenden die Bücher und ihre Gewinner.<br />
Ich wünsche allen Gewinnern viel Freude an den Büchern und <strong>bitte euch, dass ihr mir eure Adresse für den Versand zukommen lasst</strong>. Ich versende die Bücher dann zeitnah an euch.</p>
<ul>
<li>Modernes Webdesign: Gestaltungsprinzipien, Webstandards, Praxis von Manuela Hoffmann geht an <a href="http://fv-web.de/">Florian Andreas Vogelmaier</a></li>
<li>Little Boxes, Teil 1. Webseiten gestalten mit CSS. Grundlagen von Peter Müller geht an <a href="http://www.cayou-media.de/">Sebastian Schmiedel</a></li>
<li>Little Boxes, Teil 2. Webseiten gestalten mit CSS. Navigation, Inhalte, YAML &#038; mehr von Peter Müller geht an <a href="http://mynicki.net/">Nicki Steiger</a></li>
<li>CSS - Webdesign mit Style. Praxis, standardkonforme Lösungen, Referenz von Ralph Schulz geht an <a href="http://bugeyes.de/">Marvin Labod</a></li>
<li>Der CSS-Problemlöser: Über 100 Lösungen für Cascading Stylesheets von Rachel Andrew geht an <a href="http://notaniche.com/">Alex Frison</a></li>
</ul>
<h3>Fazit</h3>
<p>Ein wenig bin ich schon enttäuscht, dass die Teilnehmerzahl so gering ist, schiebe es einfach mal auf das schöne Wetter. <strong>Bei denen, die sich beteiligt haben, bedanke ich mich recht herzlich! Ebenso danke ich denen, die Hinweise und Wünsche zum Plugin geliefert haben</strong>, so dass ein Plugin entsteht, was einen Mehrwert liefert.</p>
<p>Natürlich können auch weiterhin Ideen und Designvorschläge an mich gesandt werden, einen Buchpreis wird es dafür sicher nicht mehr geben, dafür aber ein Danke von mir, den Nutzern und Links auf die eigene Site.<br />
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><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://bueltge.de/wartungsmodus-designs-teilnehmer-gewinner/1010/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/wartungsmodus-designs-teilnehmer-gewinner/1010/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/wp/wartungsmodus/screenshot-1.png" />
		<media:content url="http://bueltge.de/wp-content/images/wp/wartungsmodus/screenshot-1.png" medium="image">
			<media:title type="html">Wartungsmodus im Design von David Hellmann</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/images/wp/wartungsmodus/screenshot-4.png" medium="image">
			<media:title type="html">Wartungsmodus im Design von Nicki Steiger</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/images/wp/wartungsmodus/screenshot-5.png" medium="image">
			<media:title type="html">Wartungsmodus im Design von Thomas Meschke</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/images/wp/wartungsmodus/screenshot-6.png" medium="image">
			<media:title type="html">Wartungsmodus im Design von Sebastian Sebald</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/images/wp/wartungsmodus/screenshot-7.png" medium="image">
			<media:title type="html">Wartungsmodus im Design von Florian Andreas Vogelmaier</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/images/wp/wartungsmodus/screenshot-8.png" medium="image">
			<media:title type="html">Wartungsmodus im Design von Robert Pfotenhauer</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/images/wp/wartungsmodus/screenshot-9.png" medium="image">
			<media:title type="html">Wartungsmodus im Design von Marvin Labod</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/images/wp/wartungsmodus/screenshot-10.png" medium="image">
			<media:title type="html">Wartungsmodus im Design von Sebastian Schmiedel</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/images/wp/wartungsmodus/screenshot-11.png" medium="image">
			<media:title type="html">Wartungsmodus im Design von Fabian Letscher</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/images/wp/wartungsmodus/screenshot-12.png" medium="image">
			<media:title type="html">Wartungsmodus im Design von Alex Frison</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: neue Designs für Wartungsmodus gesucht</title>
		<link>http://bueltge.de/gewinnspiel-neue-designs-wartungsmodus-gesucht/997/</link>
		<comments>http://bueltge.de/gewinnspiel-neue-designs-wartungsmodus-gesucht/997/#comments</comments>
		<pubDate>Sat, 08 Aug 2009 09:31:27 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Plugin]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[StyleSheet]]></category>
		<category><![CDATA[Wartungsmodus]]></category>
		<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=997</guid>
		<description><![CDATA[Das Plugin <a href="http://bueltge.de/wp-wartungsmodus-plugin/101/">Wartungsmodus</a> nutze nicht nur ich vielfach und über die lange Zeit habe ich daran kaum geändert. Nun kam aber <a href="http://www.davidhellmann.com">David Hellmann</a> mit einem wunderbaren Designvorschlag und so habe ich das Plugin komplett neu erstellt und diverse Optionen übernommen und die Möglichkeit geschaffen, dass man das Design der Site im Wartungsmodus wählen kann. Ebenso kann man nun diverse Optionen wählen und muss nicht am Code ändern.]]></description>
			<content:encoded><![CDATA[<p>Das Plugin <a href="http://bueltge.de/wp-wartungsmodus-plugin/101/">Wartungsmodus</a> nutze nicht nur ich vielfach und über die lange Zeit habe ich daran kaum geändert. Nun kam aber <a href="http://www.davidhellmann.com">David Hellmann</a> mit einem wunderbaren Designvorschlag und so habe ich das Plugin komplett neu erstellt und diverse Optionen übernommen und die Möglichkeit geschaffen, dass man das Design der Site im Wartungsmodus wählen kann. Ebenso kann man nun diverse Optionen wählen und muss nicht am Code ändern.</p>
<p>Das Plugin ermöglicht es registrierten Nutzern das Backend weiterhin zu nutzen und alle Nutzer, die die Rechte haben am Design zu ändern (Objekt: <code>switch_themes</code>), können auch das Frontend im aktiviertem Theme sehen. Damit kann man live am Blog schrauben und kontrollieren, ohne das Besucher etwas mitbekommen. Sie werden vertröstet und bekommen eine Information über die voraussichtliche Wartezeit.<br />
<span id="more-997"></span></p>
<p>Trotzdem war mir wichtig, dass es einfach und unkompliziert in der Nutzung ist und so gibt es keine eigene Seite im Backend für die Einstellungen, die werden direkt beim Aktivieren des Plugins ermöglicht und der Wartungsmodus ist aktiv, wenn man das Plugin aktiv hat.</p>
<p><img class="centered" src="http://bueltge.de/wp-content/images/thumb-wartungsmodus-truck.png" alt="Wartungsmodus mit dem Design The Truck" /></p>
<p>Ebenfalls habe ich die Site so aufgebaut, dass ich recht einfach neue Designs ergänzen kann, was mich zu der Idee brachte: <strong>Sendet mir eure Designvorschläge und ich baue sie in das Plugin ein.</strong></p>
<h4>Wie geht das?</h4>
<p>Um neue Designs für den Wartungsmodus zu hinterlegen, benötige ich das Stylesheet von euch und die entsprechenden Bilder, wenn es notwendig ist. Wird der Text <em>Wartungsmodus</em> als Bild ausgegeben, so benötige ich dass auch als PSD-Format und mindestens in englischer und deutscher Sprache als Bild (PNG oder JPG), da das Plugin mehrsprachig arbeiten kann.</p>
<p>Um nun aber das CSS zu schreiben, bedarf es einem Markup und das sieht wie folgt aus. Auf Basis dieses Markup möchte ich Stylesheets von euch.</p>
<pre><code>
&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Strict//EN&quot;
&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; xml:lang=&quot;de&quot; lang=&quot;de&quot; id=&quot;wartungsmodus&quot; &gt;

&lt;head&gt;
	&lt;title&gt;Blogname - Maintenance Mode&lt;/title&gt;
&lt;/head&gt;

&lt;body&gt;

	&lt;div id=&quot;header&quot;&gt;
		&lt;p&gt;WP Dev&lt;/p&gt;
	&lt;/div&gt;

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

		&lt;h1&gt;Maintenance Mode&lt;/h1&gt;
		&lt;p&gt;Sorry for the inconvenience.&lt;br /&gt;Our website is currently undergoing scheduled maintenance.&lt;br /&gt;&lt;strong&gt;Please try back in 231 weeks.&lt;/strong&gt;&lt;br /&gt;Thank you for your understanding.&lt;/p&gt;
		&lt;div class=&quot;admin&quot;&gt;&lt;a href=&quot;http://example.com/wp-admin/&quot;&gt;Admin-Login&lt;/a&gt;&lt;/div&gt;
	&lt;/div&gt;

	&lt;div id=&quot;footer&quot;&gt;
		&lt;p&gt;&lt;a href=&quot;http://bueltge.de/&quot;&gt;Plugin by: &lt;img src=&quot;http://bueltge.de/favicon.ico&quot; alt=&quot;bueltge.de&quot; width=&quot;16&quot; height=&quot;16&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
	&lt;/div&gt;

&lt;/body&gt;
&lt;/html&gt;
</code></pre>
<h4>Was hat man davon?</h4>
<p>Diese Frage werden sich sicher wieder einige stellen und ich hoffe einfach, dass man hier den Mehrwert erkennt, mir ein Feedback gibt und seinen Anteil am Plugin leistet. Im weiteren macht CSS Spaß und so sollte es nicht schwer sein, ein so einfaches Markup zu stylen.</p>
<p>Zusätzlich werde ich natürlich die Autoren des jeweiligen Designs auf der Plugin-Seite bei <a href="http://wordpress.org/extend/plugins/wartungsmodus/">wordpress.org</a> listen, der Dank der Nutzer ist euch damit sicher. Ebenfalls wird ein Link optional auf der Site sein, die den Wartungsmodus aktiv hat; also abhängig vom Design wird das Favicon des jeweiligen Ideengebers gelistet. Da das Plugin unter GNU-Lizenz fällt, ist es möglich, diesen Link im Backend von WordPress zu deaktivieren.</p>
<h4>Gibt es was zu gewinnen?</h4>
<p>Trotzdem soll es als zusätzlichen Anreiz einige Gewinne geben und so habe ich mir überlegt, dass ich gern etwas Platz in meinen Buchregalen haben will. Daher werde ich ausmisten und einige Bücher zum Thema Web abgeben, die sicher der eine oder andere lesen möchte. Insofern denke ich, dass es lohnend ist, hier ein wenig CSS zu machen und mir ein Design für den Wartungsmodus einer Seite zukommen zu lassen.</p>
<p>Zu gewinnen gibt es:</p>
<ul>
<li><a href="http://www.amazon.de/gp/product/3836211092?ie=UTF8&#038;tag=buedebyltgde-21&#038;linkCode=as2&#038;camp=1638&#038;creative=19454&#038;creativeASIN=3836211092">Modernes Webdesign: Gestaltungsprinzipien, Webstandards, Praxis</a> von <a href="http://www.manuela-hoffmann.info/">Manuela Hoffmann</a></li>
<li><a href="https://www.amazon.de/dp/382724224X?tag=buedebyltgde-21&#038;camp=2906&#038;creative=19474&#038;linkCode=as4&#038;creativeASIN=382724224X&#038;adid=0Y3GCQJHJJ7GXHMX7HEV&#038;">Little Boxes, Teil 1. Webseiten gestalten mit CSS. Grundlagen</a> von <a href="http://infotekten.de/">Peter Müller</a></li>
<li><a href="https://www.amazon.de/dp/3827243076?tag=buedebyltgde-21&#038;camp=2906&#038;creative=19474&#038;linkCode=as4&#038;creativeASIN=3827243076&#038;adid=0Q6X0NY8VDNPGPGTCC71&#038;">Little Boxes, Teil 2. Webseiten gestalten mit CSS. Navigation, Inhalte, YAML &#038; mehr</a> von <a href="http://infotekten.de/">Peter Müller</a></li>
<li><a href="https://www.amazon.de/dp/3826616162?tag=buedebyltgde-21&#038;camp=2906&#038;creative=19474&#038;linkCode=as4&#038;creativeASIN=3826616162&#038;adid=044WRRV87EKQ8RPKFT5X&#038;">CSS - Webdesign mit Style. Praxis, standardkonforme Lösungen, Referenz</a> von Ralph Schulz</li>
<li><a href="https://www.amazon.de/dp/3898645231?tag=buedebyltgde-21&#038;camp=2906&#038;creative=19474&#038;linkCode=as4&#038;creativeASIN=3898645231&#038;adid=18CP1A3W7X2ZP8F309CA&#038;">Der CSS-Problemlöser: Über 100 Lösungen für Cascading Stylesheets</a> von <a href="http://www.rachelandrew.co.uk/">Rachel Andrew</a></li>
</ul>
<p>Die Bücher werde ich per Zufall verlosen und im Anschluss versenden.</p>
<h4>Zeitrahmen?</h4>
<p>Prinzipiell kann man mir immer gern neue Designs zukommen lassen; ich werde die dann einbauen. Das Gewinnspiel wird bis zum letzten Tag des Monats gehen, also <strong>bis zum 31. August 2009</strong>.</p>
<p>Sendet mir also eure Stylesheets, noch besser ein Zip mit allen Daten und ich sage schon jetzt <strong>vielen Dank</strong> dafür.</p>
<p>Noch der Hinweis: sollten sehr viele Design-Vorschläge kommen, so werde ich die besten auswählen lassen und dann in das Plugin übernehmen. Aber bis dahin bin ich erst mal auf eure Ideen und Umsetzungen gespannt und hoffe, dass ihr trotz Sommerloch ein wenig Lust auf CSS habt oder gern eines der Bücher gewinnen wollt.<br />
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><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://bueltge.de/gewinnspiel-neue-designs-wartungsmodus-gesucht/997/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/gewinnspiel-neue-designs-wartungsmodus-gesucht/997/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/thumb-wartungsmodus-truck.png" />
		<media:content url="http://bueltge.de/wp-content/images/thumb-wartungsmodus-truck.png" medium="image">
			<media:title type="html">Wartungsmodus mit dem Design The Truck</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>WP Basis Theme in (x)HTML5</title>
		<link>http://bueltge.de/wp-basis-theme-in-xhtml5/984/</link>
		<comments>http://bueltge.de/wp-basis-theme-in-xhtml5/984/#comments</comments>
		<pubDate>Tue, 28 Jul 2009 13:18:48 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[CSS, xHTML, JS]]></category>
		<category><![CDATA[Themes]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[StyleSheet]]></category>
		<category><![CDATA[Theme]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[WP]]></category>
		<category><![CDATA[WP2.7]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=984</guid>
		<description><![CDATA[Ich möchte die Kosten, die dieses Blog und die kleinen Nebenprodukte verursachen gern deckeln, so dass ich keinen Aufwand in die finanziellen Kosten des Webspace stecke, sondern in die Inhalte. Daher wird es also ab jetzt die Möglichkeit geben, eine Fläche zu mieten.]]></description>
			<content:encoded><![CDATA[<p><img class="alignrightob" src="http://wpbasis.de/images/wpbasis_logo.png" alt="Logo WP Basis Theme" /><br />
Das <a href="http://wpbasis.de/">WP Basis Theme</a> erfreut sich großer Beliebtheit und die Arbeit daran wird von <a href="http://wpbasis.de/readme-de_DE.html#team">diversen Leuten unterstützt</a>, sei es mit Übersetzungsarbeit, Fehlerkorrekturen, Verbesserungsvorschlägen oder Tests. Daher auch hier nochmal Danke an alle Helfer!</p>
<p>Da sich HTML5 aber schon geraume Zeit auf meiner ToDo-Liste befindet und ich ein Thema benötige um zu starten, habe ich begonnen das Basis Theme in HTML5 zu bauen, so dass WordPress direkt damit arbeiten kann. Dabei habe ich auch gleich ein Beispiel-Stylesheet beigelegt, so dass es ein Design gibt.<br />
<span id="more-984"></span><br />
Zusätzlich gibt es eine kleines Stylesheet, welches die neuen Bereiche und ihre Tags darstellt, so dass man bei einem Einstieg in HTML5 ein wenig visueller arbeiten kann. Das Stylesheet ist nicht im Code verdrahtet und kann zum Beispiel einfach und unkompliziert mit Hilfe des WebDeveloper-Toolbar hinzugefügt werden. Zu finden ist das Stylesheet in der Struktur unter <code>layout/html5areas/html5areas.css</code>. Ein Beitrag ist damit wie folgt ersichtlich.</p>
<p><img class="centered" src="http://bueltge.de/wp-content/images/wpbasis-html5/html5areas.png" alt="HTML5 visuell dargestellt" /></p>
<p>Diverse Punkte sind aktuell nur im Opera > 9.5 sichtbar. Dazu zählen alle Inhalte des Kommentar-Formulars. Dort wurde unter anderem Pflichtfelder übergeben, wenn sie durch WordPress gesetzt werden und die <code>type</code>-Attribute haben der Aufgabe bezogen ihren Wert erhalten, daher die Image-Zuordnung im Opera.</p>
<p><img class="centered" src="http://bueltge.de/wp-content/images/wpbasis-html5/form-opera.png" alt="Kommentarformular in Opera 9.6" /></p>
<h3>Arbeit mit...</h3>
<p>Als Nachschlagewerk dient mit die Übersicht des w3c und das Blog zum Thema HTML5. Leider ist die Arbeit beim Validieren aktuell nicht so einfach, da mir kein Validator bekannt ist, der lokal validieren kann. Über Tipps würde ich mich daher freuen. Für den IE liefere ich ein Script mit, welches ihm den Umgang mit diversen Elementen beibringt.</p>
<ul>
<li><a href="http://dev.w3.org/html5/spec/Overview.html">HTML 5</a></li>
<li><a href="http://html5doctor.com/">html5doctor</a></li>
<li><a href="http://html5.validator.nu/">HTML5 Validator</a></li>
<li><a href="http://remysharp.com/2009/01/07/html5-enabling-script/">HTML5 enabling script</a></li>
</ul>
<h3>Warum das alles?</h3>
<p>Ich würde mir wünschen, dass der eine oder andere mal drüber schaut, vielleicht Leute, die schon mehr mit HTML5 gearbeitet haben und tief in der Materie stecken. Rückmeldungen wären toll und vielleicht erweitert der eine oder andere das Theme um bestimmte Tags oder Elemente.</p>
<h3>Wie komme ich daran?</h3>
<p>Es gibt hier keinen Download und die Arbeit daran wird in der freien Zeit weiter gehen und daher wird es immer wieder Veränderungen geben. Aktuell stehen nur wenige Grundzüge und es soll den gleichen Stand wie das WP Basis Theme bekommen. Um sich in das Theme einzuarbeiten oder einfach mal drüber zu schauen steht ein <a href="http://code.google.com/p/wp-basis-theme/source/browse/#svn/tags/html5">Repository</a> bereit. Dort kann auch Kommentiert und diskutiert werden.</p>
<p>Der Ordner mit allen Inhalten findet sich im Bereich <a href="http://code.google.com/p/wp-basis-theme/source/browse/#svn/trunk/basis-html5">trunk/basis-html5</a> des <a href="http://code.google.com/p/wp-basis-theme/source/browse/#svn">SVN</a>.<br />
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><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://bueltge.de/wp-basis-theme-in-xhtml5/984/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/wp-basis-theme-in-xhtml5/984/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
	
		<media:thumbnail url="http://wpbasis.de/images/wpbasis_logo.png" />
		<media:content url="http://wpbasis.de/images/wpbasis_logo.png" medium="image">
			<media:title type="html">Logo WP Basis Theme</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/images/wpbasis-html5/html5areas.png" medium="image">
			<media:title type="html">HTML5 visuell dargestellt</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/images/wpbasis-html5/form-opera.png" medium="image">
			<media:title type="html">Kommentarformular in Opera 9.6</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>Debug Objects - WordPress Plugin</title>
		<link>http://bueltge.de/debug-objects-wordpress-plugin/966/</link>
		<comments>http://bueltge.de/debug-objects-wordpress-plugin/966/#comments</comments>
		<pubDate>Tue, 07 Jul 2009 10:46:28 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Plugin]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[StyleSheet]]></category>
		<category><![CDATA[Template]]></category>
		<category><![CDATA[Theme]]></category>
		<category><![CDATA[Tool]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=966</guid>
		<description><![CDATA[Das Plugin <em>Debug objects</em> gibt dem User, der die entsprechenden Rechte mitbringt, im Standard der Administrator, eine große Anzahl von Informationen an die Hand. Es werden Werte und Inhalte ausgelesen und im Frontend des Blog dargestellt um Fehler zu analysieren aber auch um WordPress besser zu verstehen und an die Anforderungen anzupassen. Daher ist es für Entwickler und Leute, die WordPress besser verstehen wollen, geeignet.]]></description>
			<content:encoded><![CDATA[<p>Das Plugin <em>Debug objects</em> gibt dem User, der die entsprechenden Rechte mitbringt, im Standard der Administrator, eine große Anzahl von Informationen an die Hand. Es werden Werte und Inhalte ausgelesen und im Frontend des Blog dargestellt um Fehler zu analysieren aber auch um WordPress besser zu verstehen und an die Anforderungen anzupassen. Daher ist es für Entwickler und Leute, die WordPress besser verstehen wollen, geeignet.<br />
<span id="more-966"></span><br />
Das Plugin gibt in diversen Tabs Informationen zu; im folgenden eine Liste von diversen Möglichkeiten, auch wenn das Plugin wesentlich mehr ausgibt. Je nach Arbeitsweise können diverse Reiter besonders interessant sein oder weg fallen. Aktuell habe ich aber keine Optionen hinterlegt, die das steuern sollen.</p>
<ul>
<li>PHP</li>
<li>Speichernutzung</li>
<li>Betriebssystem</li>
<li>Server</li>
<li>WordPress Version</li>
<li>Sprache</li>
<li>sehr umfangreiche Definitionen von diversen Konstanten</li>
<li>Cookie Definitionen</li>
<li>Dateirechte</li>
<li>Eigene User- und Usermeta-Tabellen</li>
<li>FTP- und SSH Definitionen</li>
<li>Query informationen</li>
<li>Conditional Tags; wert des Tags</li>
<li>Theme informationen</li>
<li>Template informationen</li>
<li>Cache inhalte</li>
<li>Hooks und Filter</li>
<li>Funktionen, die auf Hooks und Filter ansprechen</li>
<li>inhalte von Arrays zu Hooks und Filtern</li>
<li>alle definierten Konstanten</li>
</ul>
<p>Das Plugin kann mit meinem Plugin <a href="http://bueltge.de/wordpress-performance-analysieren-plugin/558/">Debug Queries</a> zusammen arbeiten und damit die Analyse und Optimierung des Blog genutzt werden. <a href="http://bueltge.de/wordpress-performance-analysieren-plugin/558/">Debug Queries</a> wird in die Ausleitung integriert und ist auch nur für User mit den entsprechenden Rechten möglich. Damit kann die Analyse und Optimierung der Performance an WordPress verbessert werden.</p>
<p>Das Plugin filtert keinerlei Werte und sollte nur zur Information und Optimierung eingesetzt werden, es ist nicht im Livebetrieb des Blog empfohlen. Für Entwickler kann es schnell Daten liefern, die die Einsatz in einer Entwicklungsumgebung befürworten.</p>
<h3>Beispielscreenshot des ersten Tab</h3>
<p><img class="centered" src="http://bueltge.de/wp-content/images/wp/debug_objects.png" alt="Screenshot Debug Objects Tab 1" /></p>
<h3>Download:</h3>
<form class="spenden" action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="amount" id="eins" value="" />
<input type="hidden" name="cmd" value="_xclick" />
<input type="hidden" name="business" value="frank@bueltge.de" />
<input type="hidden" name="item_name" value="Spende bueltge.de Debug Objects" />
<input type="hidden" name="no_shipping" value="1" />
<input type="hidden" name="return" value="http://bueltge.de/" />
<input type="hidden" name="cancel_return" value="http://bueltge.de/" />
<input type="hidden" name="currency_code" value="EUR" />
<input type="hidden" name="tax" value="0" />
<input type="hidden" name="bn" value="PP-DonationsBF" />
<input type="image" src="http://bueltge.de/wp-content/images/donate.png" style="border:0" name="submit" alt="Zahlen Sie mit PayPal - schnell, kostenlos und sicher!" /></form>
<p><strong>Ist die Arbeit nicht 1 Euro wert?</strong><br />
Jede Spende wird dankbar angenommen und ermöglicht das weitere Arbeiten an freier Software.<br />
Möchtest du mehr oder anders spenden, so besuche meine <a href="http://bueltge.de/wunschliste/">Wunschliste</a>.</p>
<p>Der Download ist im offiziellen Repository von WP zu finden: <a href="http://wordpress.org/extend/plugins/debug-objects/">wordpress.org/extend/plugins/debug-objects/</a> oder nutzt den Installer direkt im Administrationsbereich von WordPress</p>
<h3>Historie</h3>
<p>Seit geraumer Zeit bietet das WordPress Plugin Repository die Möglichkeit der Ausgabe des Changelog an und so werde ich direkt am Plugin, in der Readme die Historie pflegen - daher bitte ich, dass ihr euch <a href="http://wordpress.org/extend/plugins/debug-objects/changelog/">dort die Änderungen anschaut</a>, so dass ich ein wenig hier pflegen muss: <a href="http://wordpress.org/extend/plugins/debug-objects/changelog/">Changelog</a>.<br />
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><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://bueltge.de/debug-objects-wordpress-plugin/966/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/debug-objects-wordpress-plugin/966/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/wp/debug_objects.png" />
		<media:content url="http://bueltge.de/wp-content/images/wp/debug_objects.png" medium="image">
			<media:title type="html">Screenshot Debug Objects Tab 1</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 Design Tweaks</title>
		<link>http://bueltge.de/wordpress-design-tweaks/939/</link>
		<comments>http://bueltge.de/wordpress-design-tweaks/939/#comments</comments>
		<pubDate>Tue, 28 Apr 2009 07:27:08 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Plugin]]></category>
		<category><![CDATA[Tipps]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[StyleSheet]]></category>
		<category><![CDATA[Theme]]></category>
		<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[Webdeveloper]]></category>
		<category><![CDATA[WP]]></category>
		<category><![CDATA[WP2.8]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=939</guid>
		<description><![CDATA[Mit WordPress 2.7 wurde uns ein neues Design im Backend beschert, diesmal mit viel Aufwand und Analyse um ein angenehmes Arbeiten zu ermöglichen und möglichst viel Inhalt strukturiert darzustellen. Aus meiner Sicht ist das gelungen und die Arbeit mit WordPress war für mich persönlich noch nie so angenehm. Da ich aber WordPress vorrangig im Unternehmensumfeld einsetze, die Corporate Identity auch im Backend realisiere und Anwender von Laie bis Profi habe, sind die Anforderungen doch extrem unterschiedlich. Dabei habe ich bisher auf mein Plugin Adminimize gesetzt, das Backend auf die Anforderungen reduziert und das Design dem Corporate Design angepasst.]]></description>
			<content:encoded><![CDATA[<p>Mit WordPress 2.7 wurde uns ein neues Design im Backend beschert, diesmal mit viel Aufwand und Analyse um ein angenehmes Arbeiten zu ermöglichen und möglichst viel Inhalt strukturiert darzustellen. Aus meiner Sicht ist das gelungen und die Arbeit mit WordPress war für mich persönlich noch nie so angenehm. Da ich aber WordPress vorrangig im Unternehmensumfeld einsetze, die Corporate Identity auch im Backend realisiere und Anwender von Laie bis Profi habe, sind die Anforderungen doch extrem unterschiedlich. Dabei habe ich bisher auf mein Plugin <a href="http://bueltge.de/wordpress-admin-theme-adminimize/674/">Adminimize</a> gesetzt, das Backend auf die Anforderungen reduziert und das Design dem Corporate Design angepasst.</p>
<p>Aktuell macht Jane Wells im WordPress Team sich einige <a href="http://wordpress.org/development/2009/04/design-tweaks-whos-in-an-idea-in-three-acts/">Gedanken zum Backend Design und ruft zu Ideen auf</a>, die das Backend nicht neu gestalten, nur optimieren, so dass Nutzer nicht verschreckt werden. Aus meiner Sicht ist es gerade da sinnvoll, dass man die Hooks in WordPress nutzt und optionale Design einbringt, die der jeweilige Nutzer wählen kann. SO hole ich auch diverse Designs in Backend und überlasse die Wahl dem Nutzer. Lediglich die übergeordneten Themen, wie Farben und Logo, gebe ich im Rahmen des Corporate Designs vor. Da ich <a href="http://bueltge.de/wordpress-admin-theme-adminimize/674/">Adminimize</a> in den letzten Nächten erweitert haben, besonders gepuscht durch den Spendenmarathon der lieben Leserin <a href="http://tevarra.net">Samantha Phoumarath</a>.<br />
<span id="more-939"></span><br />
<a href="http://bueltge.de/wp-content/images/adminimize/fb_fixed_head_navi_open_menu.png" title="klick für Zoom"><img class="centered" src="http://bueltge.de/wp-content/images/adminimize/fb_fixed_head_navi_open_menu450.png" alt="Screenshot Fixed Design" /></a></p>
<p>Der obige Screenshot mag auf den ersten Blick nicht sonderlich das Design von WordPress verändern, aber es ist anders, anders in der Arbeitsweise - Header und Menu sind fix, so dass man aus jeder Scrollposition darauf zugreifen kann. Eine ganze Reihe von Nutzern empfinden das Arbeiten so besser und angenehmer. Als Hinweis sei aber vermerkt, dass meine jetzige Lösung nur in Browsern funktioniert, die <code>fixed</code> via CSS akzeptieren.</p>
<p>Im weiteren habe ich diverse Bereiche verkleinert, so sind Meta Boxen wesentlich schmaler; es ist mehr Platz ohne den Whitespace zu reduzieren.</p>
<p>Im weiteren habe ich ein alternatives Design im Plugin untergebracht, welches den Header verändert und die Navi damit um 50 Pixel nach oben holt. Auch dies wird gern genutzt, wobei hier schon der Wunsch des fixed Menu aufkam, aber bisher nicht umgesetzt wurde.</p>
<p><img class="centered" src="http://bueltge.de/wp-content/images/adminimize/fb_fixed_head_navi_tweak.png" alt="Screenshot Fixed Design" /></p>
<p>Vielleicht hat der eine oder andere Ideen, Wünsche und Hinweise zum Plugin, zum Design, die Kommentarfunktion steht offen.</p>
<p>Das <a href="http://bueltge.de/wordpress-admin-theme-adminimize/674/">Plugin</a> selbst ist vorrangig für andere Zwecke erstellt und verfügt aktuell über sehr viele Optionen, so kann man den Bereich Schreiben Beitrage und Seiten einschränken, die Oberfläche der Links beeinflussen, globale Bereiche verändern, HEader-Bereiche einschränken, verändern, Dashboard und Footer deaktivieren, umleiten mit eigenen Inhalten befüllen oder auch eigene Optionen hinzubringen, in dem man Klassen und IDs hinterlegt, einen Namen vergibt und diese dann wieder abhängig von der Benutzerrolle, wobei auch eigene Rollen unterstützt werden, deaktivierbar sind.<br />
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><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://bueltge.de/wordpress-design-tweaks/939/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/wordpress-design-tweaks/939/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/adminimize/fb_fixed_head_navi_open_menu450.png" />
		<media:content url="http://bueltge.de/wp-content/images/adminimize/fb_fixed_head_navi_open_menu450.png" medium="image">
			<media:title type="html">Screenshot Fixed Design</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/images/adminimize/fb_fixed_head_navi_tweak.png" medium="image">
			<media:title type="html">Screenshot Fixed Design</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>Link vs. @import</title>
		<link>http://bueltge.de/link-vs-import/934/</link>
		<comments>http://bueltge.de/link-vs-import/934/#comments</comments>
		<pubDate>Thu, 09 Apr 2009 18:51:06 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[CSS, xHTML, JS]]></category>
		<category><![CDATA[Webküche]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Linktipp]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[StyleSheet]]></category>
		<category><![CDATA[Webdeveloper]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=934</guid>
		<description><![CDATA[Die Implementierung von Stylesheets kann man mit unterschiedlichen Anweisungen machen und ich bekomme immer wieder die Frage, warum ich mich für <code>&#60;link</code> entschieden habe und nicht via <code>@import</code> die Stylesheets einbinde.]]></description>
			<content:encoded><![CDATA[<p>Die Implementierung von Stylesheets kann man mit unterschiedlichen Anweisungen machen und ich bekomme immer wieder die Frage, warum ich mich für <code>&lt;link</code> entschieden habe und nicht via <code>@import</code> die Stylesheets einbinde.<br />
Gerade in meinem <a href="http://code.google.com/p/wp-basis-theme/">Basis-Theme für WordPress</a> scheint das aufzufallen und diverse Nutzer zu stören.</p>
<p>Der klare Umschwung ist bei mir nach dem Lesen des Buches &#8222;<a href="https://www.amazon.de/dp/389721850X?tag=buedebyltgde-21&#038;camp=1410&#038;creative=6378&#038;linkCode=as1&#038;creativeASIN=389721850X&#038;adid=1MMXCF2MX45MDJAGA3YM&#038;">High Performance Websites</a>&#8220; von Steve Souders, Chief Performance Yahoo! bei Yahoo!, gefallen und ich löse nun alles per <code>&lt;link</code>.<br />
Nun ist mir aber die öffentlich zugängliche Seite des Buchautors wieder unter gekommen und dort publiziert Steve einen Beitrag zum Thema. Diesen Link möchte ich damit einfach mal als Begründung, Rechtfertigung oder <a href="http://www.stevesouders.com/blog/2009/04/09/dont-use-import/">Lesetipp</a> hier präsentieren.</p>
<p><strong>Die klare Aussage:</strong> Kein <code>@import</code> nutzen.</p>
<p>Spannender Artikel, der sicher bei dem einen oder anderen Veränderungen hervorruft. Daher der Tipp, den Beitrag <a href="http://www.stevesouders.com/blog/2009/04/09/dont-use-import/">don’t use @import</a> zum Buch zu lesen.<br />
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><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://bueltge.de/link-vs-import/934/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/link-vs-import/934/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>CSS Naked Day 2009</title>
		<link>http://bueltge.de/css-naked-day-2009/929/</link>
		<comments>http://bueltge.de/css-naked-day-2009/929/#comments</comments>
		<pubDate>Mon, 06 Apr 2009 06:44:24 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Webküche]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[StyleSheet]]></category>
		<category><![CDATA[Webstandard]]></category>
		<category><![CDATA[xHTML]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=929</guid>
		<description><![CDATA[Ich habe vor einigen Wochen schon mal darauf <a href="http://bueltge.de/es-wird-wieder-nackt/899/">hingewiesen</a>: auch in diesem Jahr gibt es in alter Tradition den <a href="http://bueltge.de/3-css-naked-day-9april-2008/628/">Naked Day</a>, nun zum vierten mal. Websites sind aufgerufen sich nackt dem Leser zu präsentieren, ohne Gewand des Stylesheets mit reinem Markup stellen sich diverse Websites der Öffentlichkeit.]]></description>
			<content:encoded><![CDATA[<p><img class="alignrightob" src="http://bueltge.de/wp-content/images/naked-day-09.png" alt="Naked Day 2009" /><br />
Ich habe vor einigen Wochen schon mal darauf <a href="http://bueltge.de/es-wird-wieder-nackt/899/">hingewiesen</a>: auch in diesem Jahr gibt es in alter Tradition den <a href="http://bueltge.de/3-css-naked-day-9april-2008/628/">Naked Day</a>, nun zum vierten mal. Websites sind aufgerufen sich nackt dem Leser zu präsentieren, ohne Gewand des Stylesheets mit reinem Markup stellen sich diverse Websites der Öffentlichkeit - Datum ist der <em>9.April 2009</em>.</p>
<p>Hintergründe, wieso, weshalb und warum sind im Artikel und in den Kommentaren zum <a href="http://bueltge.de/3-css-naked-day-9april-2008/628/">Naked Day ´08</a> und im folgenden Artikel zu finden.</p>
<p>Auch in diesem Jahr kann man sich wieder <a href="http://naked.dustindiaz.com/#signup">registrieren</a> und <a href="http://bueltge.de/3-css-naked-day-9april-2008/628/">Code-Unterstützung</a> integrieren, um sich nicht händisch um das de- und aktivieren des Stylesheets zu kümmern.</p>
<p>Der Naked Day ist eine kontroverse Aktion, der eine mag diese Idee und der andere hasst sie. Entscheidet selbst, <a href="http://bueltge.de/3-css-naked-day-9april-2008/628/">lest die Hintergründe</a>, denkt darüber nach oder diskutiert in geeigneter Runde. Aus meiner Sicht kann ein Naked Day nicht nur schamlos sein, er kann die Makel und Verbesserungen hervorrufen, die in der Basis statt finden und nicht via Schönheits-OP mit CSS.</p>
<p><em>View this site in alternate languages:</em> <a href="http://naked.dustindiaz.com/">English</a>, <a href="http://blog.mynameisearl.cz/css-naked-day/">Czech</a>, <a href="http://blog.taoxian.info/laoshi/2009-css-naked-day.html">Chinese</a>, <a href="http://www.ascolteo.fr/cssnakedday.html">French</a>, <a href="http://hangunsworld.com/naked/">Korean</a></p>
<h3>Die Idee</h3>
<p>Hinter dieser Aktion steht die Idee die Webstandards zu fördern. Dazu gehören der korrekte Gebrauch von (x)HTML, semantisches Markup, hierarchische Struktur und zu letzt das Spiel der Wörter - der Inhalt. Es ist an der Zeit, deinen &lt;body&gt; der Öffentlichkeit zu zeigen. Damit zeigt man, dass gute Webseiten auch ohne Design leserlich sind.<br />
<span id="more-929"></span></p>
<h3>Wie macht man mit?</h3>
<p>Fülle das <a href="http://naked.dustindiaz.com/#signup">kleine Formular</a> aus und deine Webseite wird in die offizielle Liste aufgenommen.</p>
<p>Am 9.April 2009 werden <strong>alle Formatierungen der Webseite entfernt</strong>, völlige Befreiung vom Design.</p>
<p>(optional): Setze den folgenden Hinweis am obersten Punkt deiner Seite.</p>
<pre><code>
&lt;h3&gt;What happened to the design?&lt;/h3&gt;
&lt;p&gt;To know more about why styles are disabled on this website visit the
&lt;a href=&quot;http://naked.dustindiaz.com&quot; title=&quot;Web Standards Naked Day Host Website&quot;&gt;
Annual CSS Naked Day&lt;/a&gt; website for more information.&lt;/p&gt;
</code></pre>
<p>Dieser Hinweis dient unter anderem als Hinweis für deine Besucher und sie wissen schnell warum und wieso dein &lt;body&gt; nackt ist.</p>
<h3>Warum wieder?</h3>
<p>Einige Leser sind interessiert und wollen wissen, warum es am 9.April zu dieser Aktion kommt.</p>
<ul>
<li>Die Aktion soll auf einen Dienstag, Mittwoch oder Donnerstag fallen (Viel-Traffic-Tage)</li>
<li>Möglichst in der ersten Woche des April</li>
<li>Es soll nie am 1.April sein (internationaler Scherz- und Streichtag)</li>
<li>Es soll ausreichend Zeit zur Ankündigung sein</li>
</ul>
<h3>Einbinden via PHP</h3>
<p>Um die nackten Tatsachen zu zeigen, kann man mittels PHP-Funktion den Naked Day automatisch einleiten. Folgende Funktion dient dieser Aufgabe.<br />
WordPress User hinterlegen diese Funktion beispielsweis ein der Datei <code>functions.php</code> oder direkt im Template, die <code>header.php</code>. Alternativ kann auch das Plugin &#8222;<a href="http://www.ajalapus.com/downloads/css-naked-day/">WordPress Naked Day</a>&#8220; genutzt werden.</p>
<pre><code>
&lt;?php
function is_naked_day($d) {
  $start = date('U', mktime(-12, 0, 0, 04, $d, date('Y')));
  $end = date('U', mktime(36, 0, 0, 04, $d, date('Y')));
  $z = date('Z') * -1;
  $now = time() + $z;
  if ( $now &gt;= $start &#038;& $now &lt;= $end ) {
    return TRUE;
  }
  return FALSE;
}
?&gt;
</code></pre>
<p>Die Funktion gibt <code>TRUE</code> aus, wenn es sich um den 9.April 2008 handelt. Daher gilt es nun die Funktion auszuwerten und jeweils zu reagieren. Dazu muss der Link zum Stylesheet in die <code>if</code>-Abfrage.</p>
<pre><code>
&lt;head&gt;
...
&lt;?php
if ( is_naked_day(9) ) {
  echo '&lt;!-- Naked Day hat kein Style --&gt;';
} else {
  echo '&lt;link rel="stylesheet" type="text/css" href="styles.css" /%gt;';
}
?&gt;
...
&lt;/head&gt;
</code></pre>
<p>In WordPress sollte das dann in der <code>header.php</code> eingepflegt werden. Das könnte dann beispielsweise so aussehen:</p>
<pre><code>
&lt;?php
if ( is_naked_day(9) ) {
  echo '&lt;!-- Naked Day hat kein Style --&gt;';
} else { ?&gt;
	&lt;style type="text/css" media="screen"&gt;
		@import url(&lt;?php bloginfo('stylesheet_url'); ?&gt;);
	&lt;/style&gt;
&lt;?php }
?&gt;
</code></pre>
<h3>Warte… sind das 48 Stunden?</h3>
<p>Das ist richtig. CSS Naked Day dauert für den Zeitraum eines internationalen Tages. Vom technischen Standpunkt aus ist der &#8222;9. April&#8220; überall in der Welt 48 Stunden lang. Um zu garantieren, dass die Website für jeden auf der ganzen Welt  Nackt ist, sind die 48 Stunden pure Nacktheit zu präsentieren.</p>
<h3>Tools und Plugins</h3>
<p>Die Aktion ist unter einer ganzer Reihe von Entwicklern bekannt und so gibt es auch eine große Anzahl von Tools und Plugins um die Aktion zu unterstützen. Schau die auf der <a href="http://naked.dustindiaz.com/">Aktions-Seite</a> um, dort findet man eine aktuelle Liste der Tools und Plugins; um nur Einige zu nennen: <a href="http://www.ajalapus.com/downloads/css-naked-day/">WordPress Plugin</a>, <a href="http://code.google.com/p/php-naked-day-api/">PHP class</a>, <a href="http://tore.darell.no/posts/ready_to_take_my_clothes_off">Rails Helper</a>, <a href="http://the-gay-bar.com/index.php?/archives/1253-CSS-naked-day.html">Serendipity Plugin</a>, <a href="http://downloads.sourceforge.net/lifetype/1.2_cssnaked.zip?download">LifeType Plugin</a>, ...<br />
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><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://bueltge.de/css-naked-day-2009/929/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/css-naked-day-2009/929/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/naked-day-09.png" />
		<media:content url="http://bueltge.de/wp-content/images/naked-day-09.png" medium="image">
			<media:title type="html">Naked Day 2009</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>Ausgabe des WordPress Admin für Seiten, Beiträge und Kommentare anpassen</title>
		<link>http://bueltge.de/ausgabe-des-wordpress-admin-fuer-seiten-beitraege-und-kommentare-anpassen/926/</link>
		<comments>http://bueltge.de/ausgabe-des-wordpress-admin-fuer-seiten-beitraege-und-kommentare-anpassen/926/#comments</comments>
		<pubDate>Thu, 02 Apr 2009 08:10:42 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Tipps]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Admin]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[StyleSheet]]></category>
		<category><![CDATA[WP]]></category>
		<category><![CDATA[WP2.8]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=926</guid>
		<description><![CDATA[Je nach Arbeitsweise empfindet es der eine oder andere Nutzer im Backend von WordPress recht störend, dass man maximal 20 Beiträge, Seiten und Kommentare pro Seite gelistet bekommt. Gerade wenn man mit vielen Übersichten arbeiten muss und eine schnelle Verbindung hat, dann kann eine erhöhte Anzahl nützlich sein. Wie man das anpasst und ein wenig mit CSS in der Darstellung optimiert, dazu hier einige Tipps.]]></description>
			<content:encoded><![CDATA[<p>Je nach Arbeitsweise empfindet es der eine oder andere Nutzer im Backend von WordPress recht störend, dass man maximal 20 Beiträge, Seiten und Kommentare pro Seite gelistet bekommt. Gerade wenn man mit vielen Übersichten arbeiten muss und eine schnelle Verbindung hat, dann kann eine erhöhte Anzahl nützlich sein. Wie man das anpasst und ein wenig mit CSS in der Darstellung optimiert, dazu hier einige Tipps.<br />
<span id="more-926"></span></p>
<h3>Ab WordPress Version 2.8</h3>
<p>Mit WordPress 2.8 kommt ein neuer Wert in die nutzereigenen Optionen pro Seite im Backend. Damit kann jeder Nutzer seine Vorlieben in dem Umfang der Beiträge, Seiten und Kommentare einstellen. Will man das ganze übergreifend lösen und auch schon im Vorfeld von WordPress 2.8, dann kann die folgende Syntax helfen.</p>
<p><img class="centered" src="http://bueltge.de/wp-content/images/wp/posts_per_page.png" alt="Post per Page 2.8" title="mit WordPress 2.8 kommt eine Option in den Seiten des Backend hinzu" /></p>
<h3>Alternative Plugin</h3>
<p>Einbetten sollte man die Syntax in ein Plugin, um die Lösung zu kapseln.<br />
Ich stelle hier bewusst kein Plugin zur Verfügung, da mich Support der bestehenden Lösungen eh schon überfordert. Es ist also eher als Basis für Leute gedacht, die hier ansetzen wollen und als Speicher für mich, wenn ich es wieder mal benötige.</p>
<p>Einige Bemerkungen habe ich direkt am Quellcode hinterlegt, so dass es verständlicher wird. Ebenso lade ich eine CSS-Datei, der Inhalt ist im Anschluss zu finden, die bei der großen Anzahl an Einträgen, dass Design etwas ändert und so ein wenig mehr Übersicht schaft.</p>
<p><img class="centered" src="http://bueltge.de/wp-content/images/wp/posts_per_page2.png" alt="Post per Page optimiert" title="via CSS die Darstellung reduziert" /></p>
<pre><code>
// Wert für Beiträge
define( 'FB_CAP_PER_POST', 100 );
// Wert für Seiten
define( 'FB_CAP_PER_PAGE', 100 );
// Wert für Kommentare
define( 'FB_CAP_PER_COMMENT', 100 );

// nur im Adminbereich
if ( is_admin() ) {
	global $pagenow;

	if ( $pagenow == 'edit-pages.php' ) {
		add_filter( 'manage_pages_query', 'page_ChangeAdminPagination' );
		add_action( 'admin_print_styles', 'AddMyStylesheet' );
	}
	if ( $pagenow == 'edit.php' ) {
		add_action( 'admin_head', 'post_ChangeAdminPagination' );
		add_action( 'admin_print_styles', 'AddMyStylesheet' );
	}
	if ( $pagenow == 'edit-comments.php' )
		add_filter( 'comments_per_page', 'comment_ChangeAdminPagination' );
}

function post_ChangeAdminPagination() {
	global $wp_query;

	if ( $wp_query->query_vars[s] == '' ) {
		$per_post = (int) FB_CAP_PER_POST;
		$wp_query->query( 'showposts=' . $per_post );
	}
}

function page_ChangeAdminPagination($query) {
	global $per_page;

	$per_page = (int) FB_CAP_PER_PAGE;
	//$query['posts_per_page'] = $per_page;
	$query['posts_per_archive_page'] = $per_page;

	return $query;
}

function comment_ChangeAdminPagination($count) {

	$per_comment = (int) FB_CAP_PER_COMMENT;

	return $per_comment;
}

function AddMyStylesheet() {

		$myStyleFile = WP_PLUGIN_URL . '/change_admin_pagination/css/style.css';
		wp_register_style( 'change_admin_pagination', $myStyleFile );
		wp_enqueue_style( 'change_admin_pagination');
}
</code></pre>
<p>Der folgende Inhalt dient nur dazu, dass der Bereich zum Bearbeiten der jeweiligen Seite oder Beitrags neben dem Eintrag dargestellt wird. Damit wird die Zeile kleiner und man hat mehr Einträge im Blickfeld.</p>
<pre><code>
/**
 * style for smaller tables in admin of WordPress
 * @author Frank Bültge
 * @date 01.04.2009 20:51:59
 */
.post-title strong {
	float: left;
}

.row-actions {
	float: left;
	margin-left: 1% !important;
}

.check-column, tr td {
	padding-bottom: 0 !important;
}

.column-date {
	width: 15% !important;
}

td.date {
	font-size: .6em;
}

td.date abbr {
	float: right;
}
</code></pre>
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><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://bueltge.de/ausgabe-des-wordpress-admin-fuer-seiten-beitraege-und-kommentare-anpassen/926/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/ausgabe-des-wordpress-admin-fuer-seiten-beitraege-und-kommentare-anpassen/926/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/wp/posts_per_page.png" />
		<media:content url="http://bueltge.de/wp-content/images/wp/posts_per_page.png" medium="image">
			<media:title type="html">mit WordPress 2.8 kommt eine Option in den Seiten des Backend hinzu</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/images/wp/posts_per_page2.png" medium="image">
			<media:title type="html">via CSS die Darstellung reduziert</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 Seiten &amp; Unterseiten abfragen</title>
		<link>http://bueltge.de/wordpress-seiten-unterseiten-abfragen/908/</link>
		<comments>http://bueltge.de/wordpress-seiten-unterseiten-abfragen/908/#comments</comments>
		<pubDate>Tue, 10 Mar 2009 12:41:28 +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[PHP]]></category>
		<category><![CDATA[Seite]]></category>
		<category><![CDATA[StyleSheet]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=908</guid>
		<description><![CDATA[WordPress lässt es zu, dass man zu einer Seite (Page) im Backend entsprechende Unterseiten anlegt. Dies ist unter anderem ein Umstand, warum WordPress nicht selten als CMS in der Verwendung ist. Nun will aber mit Hilfe der Conditional Tags diverse Abfragen starten und darauf reagieren - dann sieht man nicht selten im Template statische Abfragen auf jede ID einer Seite.
Das geht natürlich anders und einfacher wenn es sich um Seiten oder Unterseite dieser Seite handelt.

Mit dieser Lösung kann man dann beispielsweise in Abhängigkeit einer Seite ein spezielles Layout laden und das Frontend so an diverse Anforderungen anpassen. Diese kleine Anforderung nehme ich mal als Beispiel und zeige eine Funktion, die mir die Abfragen zu Seite/Unterseiten gibt und zeige im Anschluss ein Beispiel im Einsatz.]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" src="http://bueltge.de/wp-content/images/wp/wp_subpage.png" alt="Subpage in WordPress" /><br />
WordPress lässt es zu, dass man zu einer Seite (Page) im Backend entsprechende Unterseiten anlegt. Dies ist unter anderem ein Umstand, warum WordPress nicht selten als CMS in der Verwendung ist. Nun will man aber mit Hilfe der Conditional Tags diverse Abfragen starten und darauf reagieren &#8211; dann sieht man nicht selten im Template statische Abfragen auf jede ID einer Seite.<br />
Das geht natürlich anders und einfacher wenn es sich um Seiten oder Unterseite dieser Seite handelt.</p>
<p>Mit dieser Lösung kann man dann beispielsweise in Abhängigkeit einer Seite ein spezielles Layout laden und das Frontend so an diverse Anforderungen anpassen. Diese kleine Anforderung nehme ich mal als Beispiel und zeige eine Funktion, die mir die Abfragen zu Seite/Unterseiten gibt und zeige im Anschluss ein Beispiel im Einsatz.<br />
<span id="more-908"></span></p>
<h3>Hintergrund</h3>
<p>Erstellt man in WordPress eine neue Seite, keinen Beitrag, dann kann man diesen in den Attributen als Unterseite einer bestehenden Seite definieren. Damit lassen sich nicht nur Baumansichten erstellen, sondern auch Strukturen abbilden, die nicht selten in einem CMS benötigt werden.</p>
<p><img class="centered" src="http://bueltge.de/wp-content/images/wp/wp_subpage_new.png" alt="Subpage in WordPress erstellen" /></p>
<p>Will man in Abhängigkeit der Seite eine Ausgabe steuern, dann nutzt man den Conditional Tag <code><a href="http://codex.wordpress.org/Function_Reference/is_page">is_page()</a></code>,mit welchem man dann die Anforderung umsetzt. Um nun aber nicht für jede Seite diesen Tag zu nutzen und das Template damit ständig anfassen zu müssen, kann man eine einfache Funktion nutzen, die nach Abfragen der Hauptseite auch ein wahr (<code>true</code>) zurück gibt, wenn es sich um eine Unterseite der Hauptseite handelt.</p>
<h3>Lösung</h3>
<p>Diese Funktion, folgende Syntax, kommt in die <code>functions.php</code> des Themes.</p>
<pre><code>
// check ID post and child-post
function has_parent( $post, $post_id ) {
	if ($post->ID == $post_id)
		return true;
	elseif ($post->post_parent == 0)
		return false;
	else
		return has_parent( get_post($post->post_parent), $post_id );
}
</code></pre>
<p>Diese kleine Funktion prüft, ob die ausgegeben Seite ein Seite oder Unterseite einer Seite mit der übergebenen ID ist; klingt kompliziert, liegt aber nur am Satzbau. Irgendwie ist es schon zu spät; ja, ich weiß &#8211; ihr lest es später, denn ich nutze das zeitversetzte Veröffentlichen. Aber zurück zur Technik. Diese Funktion kann nach dem Ablegen im Theme nun in allen Templates genutzt werden. Das folgende Beispiel prüft, ob es sich um eine Seite oder Unterseite der ID 1 handelt und wenn ja, dann wird das Stylesheet Alternative 1 (<code>alternative_1.css</code>) ausgegeben.</p>
<p>Anderweitig wird auf ID 2 geprüft oder passt keines der Abfragen, dann kommt das Standard-Stylesheet zum Einsatz.</p>
<p>Um die Möglichkeiten noch ein wenig zu erweitern, setze ich in der Abfrage die Variable <code>$bodyclass</code>, die ich im body-Tag zur Ausgabe bringe. Damit habe ich dann eine weitere Anlaufstelle und eine entsprechendes Design je nach Seite zu realisieren.</p>
<pre><code class="php">
    &lt;?php
    $bodyclass = '';
    if ( function_exists('has_parent') ) {
	    if ( has_parent($wp_query-&gt;post, 1) ) {
	        echo '&lt;link rel=&quot;stylesheet&quot; href=&quot;' . get_bloginfo('stylesheet_directory') . '/alternative_1.css&quot; type=&quot;text/css&quot; media=&quot;screen&quot; /&gt;' . &quot;\n&quot;;
	        $bodyclass = 'class=&quot;alternative_1&quot;';
	    } elseif ( has_parent($wp_query-&gt;post, 2) ) {
	        echo '&lt;link rel=&quot;stylesheet&quot; href=&quot;' . get_bloginfo('stylesheet_directory') . '/alternative_2.css&quot; type=&quot;text/css&quot; media=&quot;screen&quot; /&gt;' . &quot;\n&quot;;
	        $bodyclass = 'class=&quot;alternative_2&quot;';
	    } else {
	    	echo '&lt;link rel=&quot;stylesheet&quot; href=&quot;' . get_bloginfo('stylesheet_directory') . '/default.css&quot; type=&quot;text/css&quot; media=&quot;screen&quot; /&gt;' . &quot;\n&quot;;
	    }
  	} ?&gt;

&lt;/head&gt;
&lt;body&lt;?php echo ' ' . $bodyclass; ?&gt;&gt;
</code></pre>
<h3>Fazit</h3>
<p>Ich denke, dass diese kleine Möglichkeit eine große Wirkung in der Ausgabe haben kann und vielfältige Möglichkeiten zeigt. Ebenfalls kann man diese Lösung mit dem Wechsel des kompletten Theme realisieren, wie ich es schon im Beitrag &#8222;<a href="http://bueltge.de/wordpress-theme-abhaengigkeit-wechseln/886/">WordPress Theme in Abhängigkeit wechseln</a>&#8220; gezeigt habe.<br />
Vielen Dank für das Lesen und noch mehr Danke ich für Verbesserungen zum Beitrag in den Kommentaren.<br />
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><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://bueltge.de/wordpress-seiten-unterseiten-abfragen/908/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/wordpress-seiten-unterseiten-abfragen/908/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/wp/wp_subpage.png" />
		<media:content url="http://bueltge.de/wp-content/images/wp/wp_subpage.png" medium="image">
			<media:title type="html">Subpage in WordPress</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/images/wp/wp_subpage_new.png" medium="image">
			<media:title type="html">Subpage in WordPress erstellen</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>Filter für caption-Shortcode in WordPress</title>
		<link>http://bueltge.de/filter-caption-shortcode-wordpress/907/</link>
		<comments>http://bueltge.de/filter-caption-shortcode-wordpress/907/#comments</comments>
		<pubDate>Mon, 09 Mar 2009 14:58:54 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Tipps]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Bild]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[StyleSheet]]></category>
		<category><![CDATA[Theme]]></category>
		<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[WP]]></category>
		<category><![CDATA[xHTML]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=907</guid>
		<description><![CDATA[Nutz man den &#8222;Mediauploader" in WordPress nicht nur um das Bild hoch zuladen, sondern auch zur Integration in den Beitrag oder die Seite, dann wird, sobald man einen Bildtitel zum Bild hinterlegt, der Shortcode <code>[caption]</code> angelegt und in den Content eingefügt. Der Titel sollte aber gepflegt werden, da er als <code>alt</code>-Attribut zum <code>img</code>-Tag genutzt wird.

Nicht jeder Nutzer ist mit dieser Ausgabe zufrieden und ich zeige mal, wie man darauf zugreifen kann und die Ausgabe ändert.]]></description>
			<content:encoded><![CDATA[<p>Die Überschrift mag nicht sonderlich für sich sprechen und daher erkläre ich ein wenig mehr zum Thema und lege nicht nur einfach meine Code-Schnipsel ab.</p>
<p>Nutzt man den &#8222;Mediauploader" in WordPress nicht nur um das Bild hoch zuladen, sondern auch zur Integration in den Beitrag oder die Seite, dann wird, sobald man einen Bildtitel zum Bild hinterlegt, der Shortcode <code></code> angelegt und in den Content eingefügt. Der Titel sollte aber gepflegt werden, da er als <code>alt</code>-Attribut zum <code>img</code>-Tag genutzt wird.</p>
<p>Nicht jeder Nutzer ist mit dieser Ausgabe zufrieden und ich zeige mal, wie man darauf zugreifen kann und die Ausgabe ändert.</p>
<p><span id="more-907"></span><br />
<img class="centered" src="http://bueltge.de/wp-content/images/wp/wp_mediabox.png" alt="WP Mediabox" /></p>
<p>Ist zum Bild ein Titel vorhanden, dann wird der Shortcode immer eingefügt, der dann einen <code>div</code> zur Ausgabe bringt, der beispielsweise wie folgt aussieht.</p>
<pre><code>
&lt;div id=&quot;attachment_34&quot; class=&quot;wp-caption alignnone&quot; style=&quot;width: 160px&quot;&gt;&lt;img class=&quot;size-thumbnail wp-image-34&quot; title=&quot;1&quot; src=&quot;pfad_zum_bild&quot; alt=&quot;Caption, Bildtitel&quot; width=&quot;150&quot; height=&quot;150&quot; /&gt;
&lt;p class=&quot;wp-caption-text&quot;&gt;Caption, Bildtitel&lt;/p&gt;
&lt;/div&gt;
</code></pre>
<p>Nun möchten aber nicht alle Nutzer diesen Shortcode nutzen und die Ausgabe daran anpassen. Man kann im Grunde mit drei Möglichkeiten die Ausgabe beeinflussen.</p>
<ol>
<li>Nach dem Einfügen händisch löschen oder eigenes HTML einbauen</li>
<li>CSS erweitern und den entstehenden <code>div</code> ausblenden</li>
<li>Per Hook eingreifen und den <code>div</code> vor der Ausgabe filtern oder an die eigenen Bedürfnisse anpassen</li>
</ol>
<p>Aus meiner Sicht scheidet Punkt 2 sofort aus, da er nur im Zusammenhang mit CSS funktioniert und damit das Markup noch immer so unzureichend bleibt.<br />
Den ersten Punkt kann man ebenso nicht sauber vertreten, da Risiko beim Vergessen und der Mehraufwand beim Erstellen von Artikeln nicht wirklich angenehm ist.</p>
<p>Widmen wir uns daher Punkt 3 der ausgewählten Möglichkeiten und greifen mit ein wenig PHP ein. Auch dabei gibt es diverse Ansätze und so möchte ich drei recht unterschiedliche Wege zeigen und die Entscheidung zur Nutzung überlasse ich dann euch. Je nach Anforderung wird das sicher auch sehr verschieden ist.</p>
<h3>Schön beim Einfügen löschen</h3>
<p>WordPress fragt den Filter <code>disable_captions</code> ab und lässt damit den Shortcode erstellen: <code>if ( ! apply_filters( 'disable_captions', '' ) ) {</code>.  Hier setze ich an und gebe eine Funktion ein, die ein <code>true</code> zurück gibt. Damit geht kein Shortcode mehr in der Editor beim Bilder einfügen.</p>
<pre><code>
add_filter( 'disable_captions', create_function('$a', 'return true;') );
</code></pre>
<p><img class="centered" src="http://bueltge.de/wp-content/images/wp/wp_caption_shortcode.png" alt="Shortcode entfernen" /></p>
<p>Die Funktion legt man entweder in einem Plugin ab oder in der <code>functions.php</code> des Themes.</p>
<h3>Filtern in der Ausgabe</h3>
<p>Nun will man aber eventuell nicht immer den Shortcode entfernt haben, und in einigen Sichten des Frontend die Möglichkeit schon nutzen. Das heißt, der Shortcode darf nur in einigen Fällen genutzt werden.<br />
Auch dafür hat WordPress eine Funktion hinterlegt, die ich im folgenden Anspreche und direkt im Frontend keinen div erzeugen lasse.</p>
<blockquote><p>
<code>img_caption_shortcode($attr, $content = null)</code><br />
<strong>The Caption shortcode.</strong></p>
<p>Allows a plugin to replace the content that would otherwise be returned. The<br />
filter is 'img_caption_shortcode' and passes an empty string, the attr<br />
parameter and the content parameter values.</p>
<p>The supported attributes for the shortcode are 'id', 'align', 'width', and<br />
'caption'.</p></blockquote>
<p>Das Zitat entstammt der Beschreibung der Funktion und lässt schon die erwünschen Möglichkeiten hoffen.</p>
<pre><code>
add_filter( 'img_caption_shortcode', create_function('$a, $b, $c', 'return $c;'), 10, 3 );
</code></pre>
<p>Auch diese Funktion legt man in der <code>functions.php</code> des Themes oder in einem Plugin ab. Ab nun wird im Frontend keine Markup mehr aus dem Shortcode erzeugt.</p>
<p>Diesen Filter kann man natürlich auch mit diversen Conditional Tags kombinieren und so den Filter nur anwenden, wenn es sich um eine bestimmte Ausgabe handelt. Das folgenden Beispiel filtert daher nur, wenn man auf der Homepage des Blog ist.</p>
<pre><code>
if ( is_home() )
add_filter( 'img_caption_shortcode', create_function('$a, $b, $c', 'return $c;'), 10, 3 );
</code></pre>
<h3>Eigenes HTML liefern</h3>
<p>Hat man einen gewissen Anspruch im Markup, dann helfen aber auch diese Funktionen nicht und man muss das eigene Markup generieren. Als Beispiel gebe ich mal den Titel zum Bild in einer Definitionsliste aus. Diese Möglichkeit gefällt mir am besten und wurde schon in den <a href="http://bueltge.de/wordpress-26-quicktipp-fuer-theme-autoren/705/#comment-276657">Kommentaren eines älteren Artikel</a> diskutiert.</p>
<p>Ich zeige mal eine einfache Lösung, die man gern an seine Bedürfnisse anpassen kann. Das entstehende Markup ist damit frei nutzbar und die möglichen Variablen habe ich drin, so dass das Anpassen nicht so schwer sein sollte. Daraus resultiert aber auch, dass das entstanden Markup recht umfangreich ist, was aber nur der Demo nutzt und so alle Möglichkeiten zeigt. Ansonsten sollte man aus meiner Sciht zum Beispiel kein Inline-Style in der Definitionsliste haben.</p>
<p>Im Ergebnis der folgenden Funktion, die wieder in ein Plugin oder die <code>functions.php</code> ausgelagert werden muss, erzeugt dann beispielhaft das folgende Markup.</p>
<pre><code>
&lt;dl id=&quot;attachment_34&quot; class=&quot;wp-caption alignnone&quot; style=&quot;width: 160px&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;pfad_zum_bild&quot;&gt;&lt;img class=&quot;size-thumbnail wp-image-34&quot; title=&quot;1&quot; src=&quot;pfad_zum_bild&quot; alt=&quot;Caption, Bildtitel&quot; width=&quot;150&quot; height=&quot;150&quot; /&gt;&lt;/a&gt;&lt;/dt&gt;
&lt;dd class=&quot;wp-caption-text&quot;&gt;Caption, Bildtitel&lt;/dd&gt;
&lt;/dl&gt;
</code></pre>
<pre><code>
function fb_img_caption_shortcode($attr, $content = null) {

// Allow plugins/themes to override the default caption template.
$output = apply_filters('img_caption_shortcode', '', $attr, $content);
if ( $output != '' )
return $output;

extract(shortcode_atts(array(
'id'	=&gt; '',
'align'	=&gt; 'alignnone',
'width'	=&gt; '',
'caption' =&gt; ''
), $attr));

if ( 1 &gt; (int) $width || empty($caption) )
return $content;

if ( $id ) $id = 'id=&quot;' . $id . '&quot; ';

return '&lt;dl ' . $id . 'class=&quot;wp-caption ' . $align . '&quot; style=&quot;width: ' . (10 + (int) $width) . 'px&quot;&gt;&lt;dt&gt;'
. do_shortcode( $content ) . '&lt;/dt&gt;&lt;dd class=&quot;wp-caption-text&quot;&gt;' . $caption . '&lt;/dd&gt;&lt;/dl&gt;';
}

add_shortcode('wp_caption', 'fb_img_caption_shortcode');
add_shortcode('caption', 'fb_img_caption_shortcode');
</code></pre>
<p>Ich hoffe, dass damit dem einen oder anderen Webdesigner der Eingriff leichter fällt und das tägliche Fluchen über dieses Thema ein wenig abnimmt.<br />
Anregungen, Kritik und Fehlerhinweise sind wie immer erwünscht und der Artikel stellt sich wieder eurem kritischen Auge.<br />
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><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://bueltge.de/filter-caption-shortcode-wordpress/907/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/filter-caption-shortcode-wordpress/907/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/wp/wp_mediabox.png" />
		<media:content url="http://bueltge.de/wp-content/images/wp/wp_mediabox.png" medium="image">
			<media:title type="html">WP Mediabox</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/images/wp/wp_caption_shortcode.png" medium="image">
			<media:title type="html">Shortcode entfernen</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>Es wird wieder nackt</title>
		<link>http://bueltge.de/es-wird-wieder-nackt/899/</link>
		<comments>http://bueltge.de/es-wird-wieder-nackt/899/#comments</comments>
		<pubDate>Thu, 26 Feb 2009 12:53:21 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Webküche]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[StyleSheet]]></category>
		<category><![CDATA[Webstandard]]></category>
		<category><![CDATA[xHTML]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=899</guid>
		<description><![CDATA[Auch in diesem Jahr wird es hier wieder nackt und das Stylesheet wird für 24h deaktiviert. Auch in diesem Jar ist es wieder so weit und ich bin gespannt, ob es wieder so viele <a href="http://naked.dustindiaz.com/">Teilnehmer</a> gibt.

Hintergründe, Wieso, weshalb, warum - dazu verweise ich auf den <a href="http://bueltge.de/3-css-naked-day-9april-2008/628/">Artikel</a> des vergangen Jahres, der die Aktion bestens erklärt. Ebenso findet man dort die entsprechenden Code-Schnippsel oder Plugin-Lösungen für verschiedene Appliaktionen um den Prozess automatisch zu starten bzw. zu beenden.

Im letzten Jahr war die Aktion mehr als ein Spaß und nicht weniger hatten diverse Erkenntnisse, die sie in ihrem Markup umsetzen konnten. Sicher wird es auch in diesem Jahr wieder Erkenntnisse und Diskussion geben. So eine Aktion ruft immer die verschiedenen Parteien zum Diskutieren auf, was ich wunderbar finde. Nur so werden eingeschliffene Themen angesprochen und in Frage gestellt.

Also, macht mit - ich freue mich auf eure Nacktheit.]]></description>
			<content:encoded><![CDATA[<p><img class="alignrightob" src="http://bueltge.de/wp-content/images/naked-day-09.png" alt="Naked Day" /><br />
Auch in diesem Jahr am 9.April wird es hier wieder nackt, das Stylesheet wird für 24h deaktiviert und ich bin gespannt, ob es wieder so viele <a href="http://naked.dustindiaz.com/">Teilnehmer</a> gibt.</p>
<p><strong>Hintergründe, Wieso, weshalb, warum</strong> - dazu verweise ich auf den <a href="http://bueltge.de/3-css-naked-day-9april-2008/628/">Artikel &#8222;CSS Naked Day&#8220;</a> des vergangen Jahres, der die Aktion bestens erklärt. Ebenso findet man dort die entsprechenden Code-Schnippsel oder Plugin-Lösungen für verschiedene Applikationen um den Prozess automatisch zu starten bzw. zu beenden.<br />
<span id="more-899"></span><br />
Im letzten Jahr war die Aktion mehr als ein Spaß und nicht weniger hatten diverse Erkenntnisse, die sie in ihrem Markup umsetzen konnten. Sicher wird es auch in diesem Jahr wieder Erkenntnisse und Diskussion geben. So eine Aktion ruft immer die verschiedenen Parteien zum Diskutieren auf, was ich wunderbar finde. Nur so werden eingeschliffene Themen angesprochen und in Frage gestellt.</p>
<p>Im letzten Jahr habe ich ebenso auf Wunsch eine <a href="http://bueltge.de/beobachtungen-naked-day-2008/633/">kleine Auswertung geschrieben</a>, in der man ein wenig erfährt, wie es nach dem darstellen meiner nackten Tatsachen aussah &#8211; &#8222;<a href="http://bueltge.de/beobachtungen-naked-day-2008/633/">Beobachtungen zum Naked Day 2008</a>&#8220;.</p>
<p>Also, macht mit &#8211; ich freue mich auf eure Nacktheit. <strong>Nackt ist &#8222;in&#8220;</strong><br />
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><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://bueltge.de/es-wird-wieder-nackt/899/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/es-wird-wieder-nackt/899/feed/</wfw:commentRss>
		<slash:comments>29</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/naked-day-09.png" />
		<media:content url="http://bueltge.de/wp-content/images/naked-day-09.png" medium="image">
			<media:title type="html">Naked Day</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 Login Style deaktivieren</title>
		<link>http://bueltge.de/wordpress-login-style-deaktivieren/872/</link>
		<comments>http://bueltge.de/wordpress-login-style-deaktivieren/872/#comments</comments>
		<pubDate>Mon, 26 Jan 2009 00:44:57 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Themes]]></category>
		<category><![CDATA[Tipps]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[StyleSheet]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=872</guid>
		<description><![CDATA[In der Vergangenheit habe ich einige Möglichkeiten gezeigt, wie man WordPress im Hinblick auf eine Corporate Identity nutzt. Dazu gehört auch das Anpassen des Login-Bereiches. Dies sollte mit Hilfe der entsprechenden Artikel nicht schwer fallen. WordPress 2.7 Login Design anpassen WordPress 2.5 und Theme-definiertes Login In beiden Artikeln bin ich aber nicht darauf eingegangen, wie [...]]]></description>
			<content:encoded><![CDATA[<p>In der Vergangenheit habe ich einige Möglichkeiten gezeigt, wie man WordPress im Hinblick auf eine Corporate Identity nutzt. Dazu gehört auch das Anpassen des Login-Bereiches. Dies sollte mit Hilfe der <a href="http://bueltge.de/wordpress-27-login-design-anpassen/846/">entsprechenden</a> <a href="http://bueltge.de/wordpress-25-und-theme-definiertes-login/617/">Artikel</a> nicht schwer fallen.</p>
<ul>
<li><a href="http://bueltge.de/wordpress-27-login-design-anpassen/846/">WordPress 2.7 Login Design anpassen</a></li>
<li><a href="http://bueltge.de/wordpress-25-und-theme-definiertes-login/617/">WordPress 2.5 und Theme-definiertes Login</a></li>
</ul>
<p>In beiden Artikeln bin ich aber nicht darauf eingegangen, wie man das Standard-layout von WordPress deaktiviert, da ich das Beispiel-CSS immer auf Basis des Stylesheet von WordPress aufgebaut habe. Das Stylesheet von WordPress ist aber nicht gerade sehr schlank und warum soll man unnötig Daten laden, die man nicht benötigt?</p>
<p>Mit einem kleinen Hook und einer entsprechenden Funktion entferne ich daher das Laden des Stylesheet von WordPress und lade dann nur das eigene CSS - wie das geht, steht in den beiden Artikeln zum Theme Login Bereich anpassen.<br />
<span id="more-872"></span></p>
<pre><code>
if ( basename($_SERVER['PHP_SELF']) == 'wp-login.php' )
	add_action( 'style_loader_tag', create_function( '$a', "return null;" ) );
</code></pre>
<p>Packt man die obige Syntax in die <code>functions.php</code>, ist das ausreichend und auch an richtiger Stelle - der Eingriff ist im Bezug auf das Theme und abhängig vom Theme aus meiner Sicht. Damit stellt man sicher, dass beim Wechsel oder deaktivieren des Themes auch diese Funktion deaktiviert wurde. Aus dem Theme raus kann daher ohne Probleme das Frontend, das Backend und der Login-Bereich angepasst werden. Dies ist aus meiner Sicht und Erfahrung mit entsprechenden Business-Bereichen auch notwendig, wenn auch oft nur in kleinen Bereichen des Backend und des Login. In dem Zusammenhang gilt es auch für mich im Bezug für ein <a href="http://bueltge.de/10-punkte-perfekte-wordpress-theme/784/">&#8222;perfektes&#8220; Theme</a>.<br />
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><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://bueltge.de/wordpress-login-style-deaktivieren/872/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/wordpress-login-style-deaktivieren/872/feed/</wfw:commentRss>
		<slash:comments>1</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>Kommentare ab WordPress 2.7 formatieren</title>
		<link>http://bueltge.de/kommentare-ab-wordpress-27-formatieren/863/</link>
		<comments>http://bueltge.de/kommentare-ab-wordpress-27-formatieren/863/#comments</comments>
		<pubDate>Tue, 13 Jan 2009 00:45:41 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Themes]]></category>
		<category><![CDATA[Tipps]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[komme]]></category>
		<category><![CDATA[Kommentar]]></category>
		<category><![CDATA[Style]]></category>
		<category><![CDATA[StyleSheet]]></category>
		<category><![CDATA[Theme]]></category>
		<category><![CDATA[WP]]></category>
		<category><![CDATA[WP2.7]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=863</guid>
		<description><![CDATA[WordPress erlaubt seit Version 2.7 &#8222;Threaded Comments&#8220; zu nutzen, ohne Plugin- oder Themeerweiterung. Dazu muss das bestehende Theme die API der Kommentare unterstützen. Im Netz finden sich einige schöne Artikel dazu und das Basis-Theme von mir wird gerade vorbereitet. Noch gibt es keine Dokumentation und ohne diese will ich es nicht frei geben - bitte ein wenig Geduld.
Um nun aber die Funktion der &#8222;Threaded Comments&#8220; entsprechend darzustellen und für den Besucher ansprechend zu formatieren stehen eine ganze Reihe von Klassen zur Verfügung. Alle möglichen Zugriffe via CSS sind im folgenden gelistet und helfen dem einen oder anderen aber beim Erarbeiten des CSS.]]></description>
			<content:encoded><![CDATA[<p>WordPress erlaubt seit Version 2.7 &#8222;Threaded Comments&#8220; zu nutzen, ohne Plugin- oder Themeerweiterung. Dazu muss das bestehende Theme die API der Kommentare unterstützen. Im Netz <a href="http://www.google.de/search?q=wp_list_comments&#038;ie=utf-8&#038;oe=utf-8&#038;aq=t&#038;rls=org.mozilla:de:official&#038;client=firefox-a">finden sich einige schöne Artikel</a> dazu und das <a href="http://bueltge.de/basis-theme-fuer-wordpress/411/">Basis-Theme</a> von mir wird gerade vorbereitet. Noch gibt es keine Dokumentation und ohne diese will ich es nicht frei geben - bitte ein wenig Geduld. Dank <a href="http://andreas-isaak.de/">Andreas</a> geht es vielleicht ein wenig schneller und ich habe einen verlässlichen und fähigen Unterstützer.</p>
<p>Um nun aber die Funktion der &#8222;Threaded Comments&#8220; entsprechend darzustellen und für den Besucher ansprechend zu formatieren stehen eine ganze Reihe von Klassen zur Verfügung. Nicht alle muss man nutzen und viele entstehen auch nur durch die Unterstützung der Semantik mit Mikroformaten in WordPress.</p>
<p>Alle möglichen Zugriffe via CSS sind im folgenden gelistet und helfen dem einen oder anderen aber beim Erarbeiten des CSS und ersparen ein wenig Arbeit mit Hilfe von Firebug und co.<br />
<span id="more-863"></span></p>
<pre><code>
ol.commentlist {}
ol.commentlist li {}
ol.commentlist li.alt {}
ol.commentlist li.bypostauthor {}
ol.commentlist li.byuser {}
ol.commentlist li.comment-author-admin {}
ol.commentlist li.comment {}
ol.commentlist li.comment div.comment-author {}
ol.commentlist li.comment div.vcard {}
ol.commentlist li.comment div.vcard cite.fn {}
ol.commentlist li.comment div.vcard cite.fn a.url {}
ol.commentlist li.comment div.vcard img.avatar {}
ol.commentlist li.comment div.vcard img.avatar-32 {}
ol.commentlist li.comment div.vcard img.photo {}
ol.commentlist li.comment div.vcard span.says {}
ol.commentlist li.comment div.commentmetadata {}
ol.commentlist li.comment div.comment-meta {}
ol.commentlist li.comment div.comment-meta a {}
ol.commentlist li.comment * {} - (p, em, strong, blockquote, ul, ol, etc.)
ol.commentlist li.comment div.reply {}
ol.commentlist li.comment div.reply a {}
ol.commentlist li.comment ul.children {}
ol.commentlist li.comment ul.children li {}
ol.commentlist li.comment ul.children li.alt {}
ol.commentlist li.comment ul.children li.bypostauthor {}
ol.commentlist li.comment ul.children li.byuser {}
ol.commentlist li.comment ul.children li.comment {}
ol.commentlist li.comment ul.children li.comment-author-admin {}
ol.commentlist li.comment ul.children li.depth-2 {}
ol.commentlist li.comment ul.children li.depth-3 {}
ol.commentlist li.comment ul.children li.depth-* {}
/* * steht für die Einstellungen der Antwort-Tiefe im Backend */
ol.commentlist li.comment ul.children li.depth-10 {}
ol.commentlist li.comment ul.children li.odd {}
ol.commentlist li.even {}
ol.commentlist li.odd {}
ol.commentlist li.parent {}
ol.commentlist li.pingback {}
ol.commentlist li.pingback div.comment-author {}
ol.commentlist li.pingback div.vcard {}
ol.commentlist li.pingback div.vcard cite.fn {}
ol.commentlist li.pingback div.vcard cite.fn a.url {}
ol.commentlist li.pingback div.vcard span.says {}
ol.commentlist li.pingback div.commentmetadata {}
ol.commentlist li.pingback div.comment-meta {}
ol.commentlist li.pingback div.comment-meta a {}
ol.commentlist li.pingback * {}
/* * steht für Tags; z.B.: p, em, strong, blockquote, ul, ol, etc. */
ol.commentlist li.pingback div.reply {}
ol.commentlist li.pingback div.reply a {}
ol.commentlist li.pingback ul.children {}
ol.commentlist li.pingback ul.children li {}
ol.commentlist li.pingback ul.children li.alt {}
ol.commentlist li.pingback ul.children li.bypostauthor {}
ol.commentlist li.pingback ul.children li.byuser {}
ol.commentlist li.pingback ul.children li.comment {}
ol.commentlist li.pingback ul.children li.comment-author-admin {}
ol.commentlist li.pingback ul.children li.depth-2 {}
ol.commentlist li.pingback ul.children li.depth-3 {}
ol.commentlist li.pingback ul.children li.depth-4 {}
ol.commentlist li.pingback ul.children li.depth-* {}
/* * steht für die Einstellungen der Antwort-Tiefe im Backend */
ol.commentlist li.pingback ul.children li.depth-10 {}
ol.commentlist li.pingback ul.children li.odd {}
ol.commentlist li.thread-alt {}
ol.commentlist li.thread-even {}
ol.commentlist li.thread-odd {}
</code></pre>
<p><cite>via <a href="http://cdharrison.com/2008/12/threaded-comments/">Chris Harrison</a></cite><br />
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><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://bueltge.de/kommentare-ab-wordpress-27-formatieren/863/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/kommentare-ab-wordpress-27-formatieren/863/feed/</wfw:commentRss>
		<slash:comments>8</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 2.7 Login Design anpassen</title>
		<link>http://bueltge.de/wordpress-27-login-design-anpassen/846/</link>
		<comments>http://bueltge.de/wordpress-27-login-design-anpassen/846/#comments</comments>
		<pubDate>Wed, 10 Dec 2008 00:27:12 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Themes]]></category>
		<category><![CDATA[Tipps]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[StyleSheet]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[WP2.7]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=846</guid>
		<description><![CDATA[WordPress 2.7 steht vor der Tür und es gibt ein Update des Backend-Designs. Das sollte sich sicher rumgesprochen haben und hinzu kommt ein neuer Login-Bereich. Es wurde nur wenig geändert, aber der Anblick entspricht dem Design des neuen Backends.
Schon in der Vergangenheit habe ich beispielsweise im Artikel &#8222;<a href="http://bueltge.de/wordpress-25-und-theme-definiertes-login/617/">WordPress 2.5 und Theme-definiertes Login</a>&#8220; für das Aspassen des Deisgn an das Theme gesprochen. Aus meiner Sicht gehört es einfach zu einem Rundumpaket eines definierten Themes &#8211; ganz im Sinne eines Corporate Designs.

Ab der Version 2.7 ist damit das CSS ein wenig anders und wer den Login-Bereich ebenso anpassen möchte, dem zeige ich hier kurz wie es geht und hinterlege das CSS für ein Beispiel.]]></description>
			<content:encoded><![CDATA[<div class="contentnavi">
<h3>Mehr:</h3>
<ul>
<li><a href="http://bueltge.de/wordpress-25-und-theme-definiertes-login/617/">#1</a></li>
<li>#2</li>
<li><a href="http://bueltge.de/?p=1214">#3</a></li>
</ul>
</div>
<p>WordPress 2.7 steht vor der Tür und es gibt ein Update des Backend-Designs. Das sollte sich sicher rumgesprochen haben und hinzu kommt ein neuer Login-Bereich. Es wurde nur wenig geändert, aber der Anblick entspricht dem Design des neuen Backends.<br />
Schon in der Vergangenheit habe ich beispielsweise im Artikel &#8222;<a href="http://bueltge.de/wordpress-25-und-theme-definiertes-login/617/">WordPress 2.5 und Theme-definiertes Login</a>&#8220; für das Anpassen des Design an das Theme gesprochen. Aus meiner Sicht gehört es einfach zu einem Rundumpaket eines definierten Themes &#8211; ganz im Sinne eines Corporate Designs.</p>
<p>Ab der Version 2.7 ist damit das CSS ein wenig anders und wer den Login-Bereich ebenso anpassen möchte, dem zeige ich hier kurz wie es geht und hinterlege das CSS für ein Beispiel.</p>
<p><img class="centered" src="http://bueltge.de/wp-content/images/wp27/wp27-login.png" alt="WP 2.7 Login" /><br />
<span id="more-846"></span></p>
<h3>Stylesheet laden</h3>
<p>Um das erstellte CSS für den Login-Bereich zu laden nutze ich eine kleine Funktion, die ich in der <code>functions.php</code> des jeweiligen Themes ablege und via Hook <code>login_head</code> im Login-Head integriere. So kann ich speziell für das Theme den Login definieren und beim Umschalten eines anderen Themes wird dann das andere Login-Design gezogen.</p>
<pre><code>
// custom login for theme
// folder themes/theme_name/custom-login/
function fb_custom_login() {
	echo '&lt;link rel="stylesheet" type="text/css" href="' . get_bloginfo('template_directory') . '/custom-login/custom-login.css" /&gt;';
}

add_action('login_head', 'fb_custom_login');
</code></pre>
<p>Die Stylesheet-Datei heißt dabei <code>custom-login.css</code> und liegt innerhalb des Ordner <code>custom-login</code> im Ordner des Themes.</p>
<h3>Das Stylesheet</h3>
<p>Wie schon angesprochen ein kleines Beispiel, was aber die Klassen und IDs des Login-Bereich enthält und so das Anpassen ein wenig erleichtert.</p>
<pre><code>
html {
background-color: #fff;
}

#login form {
padding-top: 100px;
}
#login form .submit input {
border-color: #bcb38f !important;
color: #777 !important;
}
#login form .submit input:hover {
border-color: #bcb38f !important;
color: #bcb38f !important;
}
#login h1 {
display: none;
}
.login #nav a {
color: #777 !important;
}
.login #nav a:hover {
color: #bcb38f !important;
}

#wphead img, #wphead h1 {
display: none;
}
#wphead {
height: 100px;
}
#wphead-info {
padding-top: 27px;
}

#footer {
display: none;
}
#footer_custom {
clear: both;
text-align: center;
width: 500px;
margin: auto;
height: 100px;
}
#footer_custom .docs {
padding-top: 0px;
line-height: 100%;
}
#footer_image {
border:none;
}
</code></pre>
<p>Soweit zum Beispiel, welches nur eine Möglichkeit der Anpassung darstellt. Hierbei sind den Künsten in der Anwendung von CSS keine Grenzen gesetzt.<br />
Aus meiner Sicht in die Nutzung der <a href="http://getfirebug.com/">Firebug</a> Erweiterung für die Analyse unerlässlich und es empfiehlt sich damit zu arbeiten, wenn man diese noch nicht nutzt.<br />
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><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://bueltge.de/wordpress-27-login-design-anpassen/846/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/wordpress-27-login-design-anpassen/846/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/wp27/wp27-login.png" />
		<media:content url="http://bueltge.de/wp-content/images/wp27/wp27-login.png" medium="image">
			<media:title type="html">WP 2.7 Login</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 2.6 Quicktipp für Theme-Autoren</title>
		<link>http://bueltge.de/wordpress-26-quicktipp-fuer-theme-autoren/705/</link>
		<comments>http://bueltge.de/wordpress-26-quicktipp-fuer-theme-autoren/705/#comments</comments>
		<pubDate>Fri, 01 Aug 2008 09:36:20 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Themes]]></category>
		<category><![CDATA[Tipps]]></category>
		<category><![CDATA[Bild]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[StyleSheet]]></category>
		<category><![CDATA[Theme]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[WP]]></category>
		<category><![CDATA[WP2.6]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=705</guid>
		<description><![CDATA[Seit WordPress 2.6 gibt es ein weiters Feld beim Uploaden von Bildern &#8211; caption bzw. Bildunterschrift. Damit kann man recht einfach und ohne große Kenntnisse in HTML die Unterschrift für ein Bild setzen. Die Lösung wurde mit divs realisiert, was nicht meinem Anspruch genügt, aber in darum soll es hier nicht gehen. Wer sich nun [...]]]></description>
			<content:encoded><![CDATA[<p>Seit WordPress 2.6 gibt es ein weiters Feld beim Uploaden von Bildern &#8211; caption bzw. Bildunterschrift. Damit kann man recht einfach und ohne große Kenntnisse in HTML die Unterschrift für ein Bild setzen. Die Lösung wurde mit <code>div</code>s realisiert, was nicht meinem Anspruch genügt, aber in darum soll es hier nicht gehen.</p>
<p>Wer sich nun an die Arbeit macht und ein Theme für WordPress erstellt und dieses der Öffentlichkeit preis gibt, der sollte eine Anzahl con Formatierungen im Stylesheet haben. Dies führt dann dazu, dass die Bilder, die man mit der Media-Funktionalität hoch lädt und in den Beitrag integriert, auch im für den Anwender verständlichen Aussehen erscheinen. Die Klassen sind im folgenden aufgelistet und gehören ab WordPress Version 2.6 bitte in jedes Theme, welches man anderen Anwendern übergibt.<br />
<span id="more-705"></span></p>
<pre><code>
/**
 * for WordPress classes at images
 *
 */
.aligncenter, div.aligncenter {
display: block;
margin-left: auto;
margin-right: auto;
}

.alignleft {
float: left;
}

.alignright {
float: right;
}

.wp-caption {
border: 1px solid #ddd;
text-align: center;
background-color: #fff;
padding-top: 5px;
margin: 10px;
}

.wp-caption img {
margin: 0;
padding: 0;
border: 0 none;
}

.wp-caption p.wp-caption-text {
font-size: 1em;
line-height: 1.1em;
padding: 0 5px 6px;
margin: 0;
}
</code></pre>
<p>Die Formatierungen sind nur beispielhaft und sollen die Klassen besser verdeutlichen. Natürlich kann man das an seine Bedürfnisse anpassen. Grundlegend geht es nur darum, dass sie existieren und die schematische Vorschau im Adminbereich auch dann im Frontend unterstützen &#8211; so sollte <code>alignleft</code> schon ein Bild links floatend darstellen. Aber das nur am Rande.</p>
<p>Wer noch mehr Information zur Bildunterschrift wünscht, der liest den Beitrag &#8222;<a href="http://www.drweb.de/weblog/weblog/?p=1258">Bilder mit Bildunterschrift in WordPress 2.6</a>&#8220;. Dort gibt es eine  Reihe an Infos zu HTML und CSS.</p>
<p>* Mein <a href="http://bueltge.de/basis-theme-fuer-wordpress/411/">Basis-Theme</a>, welches ich zur Verfügung stelle um einen einfachen Start in ein neues Theme zu haben, erfährt demnächst ein Update. Ich habe viel geändert und erweitert, weil sich doch einiges in den letzten Versionen von WP geändert hat. Mal sehen, wann ich zu einem Upload komme und einen fertigen Stand habe.<br />
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><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://bueltge.de/wordpress-26-quicktipp-fuer-theme-autoren/705/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/wordpress-26-quicktipp-fuer-theme-autoren/705/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>Brotkrumen-Navi für WordPress</title>
		<link>http://bueltge.de/brotkrumen-navi-fuer-wordpress/701/</link>
		<comments>http://bueltge.de/brotkrumen-navi-fuer-wordpress/701/#comments</comments>
		<pubDate>Wed, 30 Jul 2008 09:30:56 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Themes]]></category>
		<category><![CDATA[Tipps]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[StyleSheet]]></category>
		<category><![CDATA[Theme]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=701</guid>
		<description><![CDATA[WordPress Themes sind sehr flexibel, was unter anderem dem schuldig ist, dass man einfach und unkompliziert PHP nutzen kann. Die <code>functions.php</code> eines Themes kann beliebig bestückt werden und so kann man dieverse Funktionen ohne großen Aufwand ins Boot holen.

In dieser kleinen Serie von Tipps und Hacks zum gestalten von Themes will ich diesmal zeigen, wie man eine einfache Brotkrumennavigation, auch unter dem englischen Begriff Breadcrumb bekannt, in das Theme baut. Diese Form der Navi hat sich in einigen Bereichen bewährt und wird oft als Mehrwert empfunden.

<img class="centered" src="http://bueltge.de/wp-content/images/wp/breadcrump.gif" alt="Breadcrump Beispiel" />

Schon vor weg; wer nicht per Funktionen schrauben will, es gibt auch <a href="http://wordpress.org/extend/plugins/search.php?q=breadcrumb">diverse Plugins</a>, die diese Aufgabe erledigen.]]></description>
			<content:encoded><![CDATA[<div class="contentnavi">
<h3>Inhalt:</h3>
<ul>
<li><a href="http://bueltge.de/wordpress-more-tag-beeinflussen/688/"><em>more</em>-Tag</a></li>
<li><a href="http://bueltge.de/wordpress-query-quick-tipps/717/">Archive Query und Reset WP-Query</a></li>
<li><a href="http://bueltge.de/wordpress-title-tag-zerlegen/693/"><em>the_title</em> Tag zerlegen</a></li>
<li><a href="http://bueltge.de/wordpress-content-filtern-fuer-css-erweiterung/694/"><em>content</em> filtern für CSS-Erweiterung</a></li>
<li><em>Brotkrumen-Navigation ohne Plugin</em></li>
<li>Widgets erweitern/einfach</li>
<li><a href="http://bueltge.de/suchergebnis-erweitern/752/">Suchergebnis bereichern</a></li>
</ul>
</div>
<p>WordPress Themes sind sehr flexibel, was unter anderem dem schuldig ist, dass man einfach und unkompliziert PHP nutzen kann. Die <code>functions.php</code> eines Themes kann beliebig bestückt werden und so kann man dieverse Funktionen ohne großen Aufwand ins Boot holen.</p>
<p>In dieser kleinen Serie von Tipps und Hacks zum gestalten von Themes will ich diesmal zeigen, wie man eine einfache Brotkrumennavigation, auch unter dem englischen Begriff Breadcrumb bekannt, in das Theme baut. Diese Form der Navi hat sich in einigen Bereichen bewährt und wird oft als Mehrwert empfunden.</p>
<p><img class="centered" src="http://bueltge.de/wp-content/images/wp/breadcrump.gif" alt="Breadcrump Beispiel" /></p>
<p>Schon vor weg; wer nicht per Funktionen schrauben will, es gibt auch <a href="http://wordpress.org/extend/plugins/search.php?q=breadcrumb">diverse Plugins</a>, die diese Aufgabe erledigen.<br />
<span id="more-701"></span></p>
<h3>So geht&apos;s</h3>
<p>Nun aber zur Lösung ohne Plugin, direkt im Theme. Dazu muss die folgende Funktion in die schon angesprochene <code>functions.php</code> kopiert werden; damit steht sie dann im Theme zur Verfügung und kann überall genutzt werden. Der Aufruf findet dann beispielsweise in der <code>header.php</code> statt und wird mit Hilfe von CSS in das rechte Licht gerückt. Zum Ansprechen per CSS habe ich die Klasse <code>breadcrumb</code> vergeben. Ein Beispiel aus meinem Entwicklungsblog seht ihr im obigen Bild.</p>
<pre><code>
function fb_breadcrumb_nav() {
	if ( !is_home() ) {
		echo '&lt;p class=&quot;breadcrumb&quot;&gt;&amp;raquo; &lt;a href=&quot;';
		echo get_option('home');
		echo '&quot;&gt;';
		bloginfo('name');
		echo &quot;&lt;/a&gt; &amp;raquo; &quot;;
		if ( is_category() || is_single() ) {
			the_category('title_li=');
			if ( is_single() ) {
				echo &quot; &amp;raquo; &quot;;
				the_title();
			}
		} elseif ( is_page() ) {
			echo the_title() . '&lt;/p&gt;';
		}
	}
}
</code></pre>
<p>Die obige Funktion kann natürlich beliebig verändert werden. Es ist lediglich ein einfaches Beispiel und soll die Idee und deren Funktion verdeutlichen. Man kann die Strukturierung und Ausgabe mit Hilfe meiner geliebten Conditional Tags beliebig weit treiben. Die Funktion ist so schon ohne Anpassungen nutzbar und sollte den Nutzer nicht vor große Probleme stellen.<br />
Die Mischung aus HTML und PHP kann sicher für den einen oder anderen Leser unübersichtlich erscheinen, mir war aber die strukturelle Darstellung der Funktion wichtig und so habe ich das HTML nicht ausgelagert. natürlich kann man das tun und beispielsweise die &#8222;echos&#8220; an Variablen übergeben.</p>
<pre><code>
&lt;?php if (function_exists('fb_breadcrumb_nav')) { fb_breadcrumb_nav(); } ?&gt;
</code></pre>
<h3>In eigener Sache</h3>
<p>Auch mit dieser Lösung wünsche ich viel Spaß beim Experimentieren oder Nutzen; Feedback ist ebenfalls wie immer gern erwünscht.<br />
Bevor es Supportanfragen gibt, bitte erst mal versuchen durch den Code zu steigen, ich ersticke zum Teil in Mails und kann viele kaum noch händeln auf Grund von Zeitmangel. Die wenige Freizeit möchte ich gern mit Ideen, Umsetzungen und Lösungen nutzen.<br />
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><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://bueltge.de/brotkrumen-navi-fuer-wordpress/701/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/brotkrumen-navi-fuer-wordpress/701/feed/</wfw:commentRss>
		<slash:comments>33</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/wp/breadcrump.gif" />
		<media:content url="http://bueltge.de/wp-content/images/wp/breadcrump.gif" medium="image">
			<media:title type="html">Breadcrump Beispiel</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 content filtern für CSS-Erweiterung</title>
		<link>http://bueltge.de/wordpress-content-filtern-fuer-css-erweiterung/694/</link>
		<comments>http://bueltge.de/wordpress-content-filtern-fuer-css-erweiterung/694/#comments</comments>
		<pubDate>Tue, 08 Jul 2008 09:20:59 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Themes]]></category>
		<category><![CDATA[Tipps]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[StyleSheet]]></category>
		<category><![CDATA[Theme]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=694</guid>
		<description><![CDATA[Und weiter geht es mit meiner kleinen Serie zu Anpassungen, die man im Rahmen eines Themes für WordPress eventuell mal benötigt. Dieser Beitrag soll den Content filtern und den ersten p-Tag ersetzen, ersetzen mit einem p-Tag und einer Klasse.

Wozu soll das nun wieder sein? Mir liegen Typographie-Design am Herzen, weil ich den Inhalt und nicht das Design für das wichtigste einer Website halte und damit auch das Auge auf Diesen lenken möchte.
Als Hobby-Webworker fehlt mir ebenso das Handwerkszeug für aufreizende Design mittels Grafiksoftware. Trotzdem soll es natürlich das eine oder andere Highlight im Design geben und im Fall von <a href="http://sajonara.de">sajonara.de</a> wollte ich den ersten Buchstaben gesondert formatieren. Um nun aber nur den ersten Buchstaben des ersten Absatz browserübergreifend zu formatieren, benötige ich ein Klasse im Absatz. Daher muss aus dem ersten p-Tag ein p-Tag mit Klasse werden.
<img class="alignright" src="http://bueltge.de/wp-content/images/first-letter.png" alt="first-letter" />
<pre lang="php">
<p class="letter">
</code></pre>

Allerdings arbeite ich mit einer Formatierung per CSS, die nicht alle Browser verstehen; die Pseudoklasse <code>first-letter</code> kommt zum Einsatz. Allerdings war ich noch nie ein Freund des IE und werde den Usern in dem Fall das Schmankerl gern verwehren.]]></description>
			<content:encoded><![CDATA[<div class="contentnavi">
<h3>Inhalt:</h3>
<ul>
<li><a href="http://bueltge.de/wordpress-more-tag-beeinflussen/688/"><em>more</em>-Tag</a></li>
<li><a href="http://bueltge.de/wordpress-query-quick-tipps/717/">Archive Query und Reset WP-Query</a></li>
<li><a href="http://bueltge.de/wordpress-title-tag-zerlegen/693/"><em>the_title</em> Tag zerlegen</a></li>
<li><em>content</em> filtern für CSS-Erweiterung</li>
<li><a href="http://bueltge.de/brotkrumen-navi-fuer-wordpress/701/">Brotkrumen-Navigation ohne Plugin</a></li>
<li>Widgets erweitern/einfach</li>
<li><a href="http://bueltge.de/suchergebnis-erweitern/752/">Suchergebnis bereichern</a></li>
</ul>
</div>
<p>Und weiter geht es mit meiner kleinen Serie zu Anpassungen, die man im Rahmen eines Themes für WordPress eventuell mal benötigt. Dieser Beitrag soll den Content filtern und den ersten p-Tag ersetzen, ersetzen mit einem p-Tag und einer Klasse.</p>
<p>Wozu soll das nun wieder sein? Mir liegen Typographie-Design am Herzen, weil ich den Inhalt und nicht das Design für das wichtigste einer Website halte und damit auch das Auge auf Diesen lenken möchte.<br />
Als Hobby-Webworker fehlt mir ebenso das Handwerkszeug für aufreizende Design mittels Grafiksoftware. Trotzdem soll es natürlich das eine oder andere Highlight im Design geben und im Fall von <a href="http://sajonara.de">sajonara.de</a> wollte ich den ersten Buchstaben gesondert formatieren. Um nun aber nur den ersten Buchstaben des ersten Absatz browserübergreifend zu formatieren, benötige ich ein Klasse im Absatz. Daher muss aus dem ersten p-Tag ein p-Tag mit Klasse werden.<br />
<img class="alignright" src="http://bueltge.de/wp-content/images/first-letter.png" alt="first-letter" /></p>
<pre><code class="php">
&lt;p class=&quot;letter&quot;&gt;
</code></pre>
<p>Allerdings arbeite ich mit einer Formatierung per CSS, die nicht alle Browser verstehen; die Pseudoklasse <code>first-letter</code> kommt zum Einsatz. Allerdings war ich noch nie ein Freund des IE und werde den Usern in dem Fall das Schmankerl gern verwehren.<br />
<span id="more-694"></span><br />
Im ersten Schritt müssen wir aber den ersten p-Tag des content finden und dazu schreibe ich eine Funktion, die in die <code>functions.php</code> des Themes gehört und dort für alle Templates zur Verfügung steht.</p>
<pre><code class="php">
// finde erstes &lt;p&gt;
function fb_first_letter($content) {

	$content = wpautop($content);
	if (is_single() || is_home() || is_front_page()) {
		$content = fb_stuff_first($content, '&lt;p&gt;', '&lt;p class=&quot;letter&quot;&gt;');
	}
	$return  = $content;

	return $return;
}
</code></pre>
<p>Bisher habe ich lediglich den Content von WordPress übergeben, den Filter gesetzt, der die p-Tags setzt und eine Einschränkung vorgenommen, dass diese Funktion nur dann ziehen soll, wenn es sich um einen einzelnen Beitrag oder die Startseite bzw. Frontpage des Blog handelt, ansonsten wird er Content nach WordPress-Standard übergeben. Innerhalb dieser Funktion rufe ich die Funktion <code>fb_stuff_first()</code> auf, die das erste Vorkommen findet.</p>
<pre><code class="php">
function fb_stuff_first($original, $suche, $ersatz) {
	$pos = strpos($original, $suche);

	if ($pos !== false) {
		$original = substr($original, 0, $pos) . $ersatz . substr( $original, $pos + strlen($suche) );
	}

	return $original;
}
</code></pre>
<p>Damit die Funktion auch wirkt, schalte ich sie per WordPress Hook Filter zu.</p>
<pre><code class="php">
add_filter('the_content', 'fb_first_letter', 1);
</code></pre>
<p>Die Formatierung kann dann beliebig auf die Klasse angewandt werden. Auch dazu ein Beispiel, welches den ersten Buchstaben der Klasse gestaltet.</p>
<pre><code class="css">
.letter:first-letter{
font-size:250%;
font-weight:700;
display:inline;
float:left;
background:#333;
color:#fff;
padding:.45em;
margin:.2em .2em 0 0;
display:block;
}
</code></pre>
<p>Auch in diesem Beitrag gilt wieder: das ist eine Lösung von vielen - für Verbesserungen oder andere Ansätze bin ich immer offen und freue mich über konstruktive Kritik. Die Idee dahinter ist wie so oft, dass Spielen mit den Möglichkeiten und das Wagen von neuem, denn ich empfinde das Design gelungen und diese wenigen Funktionen sorgen in meinem Augen für Mehrwert ohne Nachteile.<br />
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><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://bueltge.de/wordpress-content-filtern-fuer-css-erweiterung/694/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/wordpress-content-filtern-fuer-css-erweiterung/694/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/first-letter.png" />
		<media:content url="http://bueltge.de/wp-content/images/first-letter.png" medium="image">
			<media:title type="html">first-letter</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>Design für den Druck mit CSS</title>
		<link>http://bueltge.de/design-fuer-den-druck-mit-css/681/</link>
		<comments>http://bueltge.de/design-fuer-den-druck-mit-css/681/#comments</comments>
		<pubDate>Mon, 16 Jun 2008 14:05:08 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[CSS, xHTML, JS]]></category>
		<category><![CDATA[Tipps]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Drucken]]></category>
		<category><![CDATA[Print]]></category>
		<category><![CDATA[StyleSheet]]></category>
		<category><![CDATA[Theme]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=681</guid>
		<description><![CDATA[Leider ist es immer noch nicht selbstverständlich, dass Webseiten ein entsprechendes Layout für den Printbereich, zum Drucken der Seite in Papierform, bereit stellen. Bei der Umsetzung einer Seite gehört es meines Erachtens zum guten Ton und Qualität, dass ein Stylesheet für den Druck bereit gestellt wird. Um das Thema mal wieder ein wenig aktuell zu [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://bueltge.de/wp-content/images/print-bsp.png"><img class="alignright" src="http://bueltge.de/wp-content/images/print-bsp2.png" title="Print-Beispiel des Blog" alt="Print Beispiel" /></a></p>
<p>Leider ist es immer noch nicht selbstverständlich, dass Webseiten ein entsprechendes Layout für den Printbereich, zum Drucken der Seite in Papierform, bereit stellen. Bei der Umsetzung einer Seite gehört es meines Erachtens zum guten Ton und Qualität, dass ein Stylesheet für den Druck bereit gestellt wird.</p>
<p>Um das Thema mal wieder ein wenig aktuell zu machen, stelle ich hier mal als Download ein Stylesheet bereit, mit dem man man schon eine ganze Menge an Optimierung für den Druck abdecken kann. Die einzelnen Abschnitte sind dokumentiert, so dass auch der Laie den Einstieg findet und entsprechende Anpassungen für die Verwendung im jeweiligen Projekt vornehmen kann. Weitere Hinweise und Einbindungssyntax im folgenden Artikel.<br />
<span id="more-681"></span><br />
Eine druck-freundliche Version der Webseite sorgt für Genuss beim Leser, gerade wenn es umfassende Texte oder Tutorials geht, ist dass Ausdrucken keine Seltenheit. CSS hat dafür wunderbare Eigenschaften und macht es dem Entwickler leicht, eine optimierte Ausgabe für den Druck bereit zu stellen. Bitte nutze diese Möglichkeit auch!</p>
<p>Ganz besonders sind Links zu Händeln, denn nach dem Druck sind diese Informationen noch immer relevant und so sollten sie auch bestehen bleiben. Daher zeige ich alle Pseudeklassen an und gebe sie in abweichender Form aus. Damit gehen Sie dem Leser nicht verloren und man kann beim Lesen der Papierform darauf zurück greifen. Ein typisches Beispiel in HTML sieht so aus ...<br />
<code>&lt;a href="http://bueltge.de/" title="Klick, um zur Startseite zu gelangen."&gt;Link zu Startseite&lt;/a&gt;</code></p>
<p>... und wird in der Druckform wie folgt ausgegeben.<br />
Link zu Startseite <small>(Link zu: http://bueltge.de/)</small></p>
<h3>Einbinden des Stylesheet</h3>
<p>Der Schlüssel für die Nutzung des Stylesheet als Drucklayout ist das Attribut <code>media</code> mit dem Wert <code>print</code>. Der folgende Beispielcode bindet das Stylesheet <code>print.css</code> ein und sorgt dafür, dass man es gezogen wird, wenn die Ausgabe Druck erfolgt. Diese wird unter anderem auch gezogen, wenn man im Browser <em>Druckvorschau</em> wählt, was das Testen sehr angenehm gestaltet.</p>
<pre><code>
&lt;link rel="stylesheet" href="http://example.com/css/print.css" type="text/css" media="print" /&gt;
</code></pre>
<p>Bei der Nutzung von WordPress gehört es ebenso zum guten Ton, dass man ein Print-Stylesheet anbietet. leider stellen nur sehr wenige Themes dieses bereit. Dahingehend der Aufruf an Theme-Entwickler - bitte macht euch die Mühe und erweitert euer Theme um ein Stylesheet für den Druck!<br />
Ablegen sollte man das Stylesheet dann im Theme-Ordner, so dass es nur Verwendung findet, wenn das Theme aktiv ist und der Verweis in die <code>header.php</code> des Themes hinterlegen.</p>
<pre><code>
&lt;link rel="stylesheet" href="&lt;?php bloginfo('stylesheet_directory'); ?&gt;/print.css" type="text/css" media="print" /&gt;
</code></pre>
<p>Alternativ kann man auch mit meinem <a href="http://bueltge.de/basis-theme-fuer-wordpress/411/">Basis-Theme</a> arbeiten, bei dem es ein Druck-Stylesheet gibt. Das Theme ist für den Start in ein neues Theme für WordPress ausgelegt und bringt einige Vorgaben mit.</p>
<h3>Download:</h3>
<form class="spenden" action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="amount" id="eins" value="" />
<input type="hidden" name="cmd" value="_xclick" />
<input type="hidden" name="business" value="frank@bueltge.de" />
<input type="hidden" name="item_name" value="Spende bueltge.de" />
<input type="hidden" name="no_shipping" value="1" />
<input type="hidden" name="return" value="http://bueltge.de/" />
<input type="hidden" name="cancel_return" value="http://bueltge.de/" />
<input type="hidden" name="currency_code" value="EUR" />
<input type="hidden" name="tax" value="0" />
<input type="hidden" name="bn" value="PP-DonationsBF" />
<input type="image" src="http://bueltge.de/wp-content/images/donate.png" style="border:0" name="submit" alt="Zahlen Sie mit PayPal - schnell, kostenlos und sicher!" /></form>
<p><strong>Ist die Arbeit nicht 1 Euro wert?</strong><br />
Jede Spende wird dankbar angenommen und ermöglicht das weitere Arbeiten an freier Software.<br />
Möchtest du mehr oder anders spenden, so besuche meine <a href="http://bueltge.de/wunschliste/">Wunschliste</a>.</p>
<p>Download als zip-Datei: <a href="http://bueltge.de/wp-content/download/wk/print.css">print.css</a> - 2 kByte</p>
<p><br style="clear:left" /></p>
<h3>Weitere Infos zum Thema</h3>
<ul>
<li>SELFHTML: <a href="http://aktuell.de.selfhtml.org/artikel/css/drucklayout/">CSS: Stylesheet für den Druck</a></li>
<li><a href="http://webstandard.kulando.de/post/2008/06/18/tutorial-buch-f-r-css-design-zu-gewinnen">Buch zum Thema CSS und Webstandards</a></li>
</ul>
<h3>Historie</h3>
<ul>
<li>0.1 - erster Wurf</li>
<li>0.2 - Abbrevations aufgenommen, #header verfeinert, so dass der Blogtitle bleibt, Links optimiert, ...</li>
</ul>
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><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://bueltge.de/design-fuer-den-druck-mit-css/681/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/design-fuer-den-druck-mit-css/681/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/print-bsp2.png" />
		<media:content url="http://bueltge.de/wp-content/images/print-bsp2.png" medium="image">
			<media:title type="html">Print-Beispiel des Blog</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>CSS Unterstützung in E-Mail-Clients</title>
		<link>http://bueltge.de/css-unterstuetzung-mail-client/680/</link>
		<comments>http://bueltge.de/css-unterstuetzung-mail-client/680/#comments</comments>
		<pubDate>Mon, 16 Jun 2008 03:09:42 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[CSS, xHTML, JS]]></category>
		<category><![CDATA[Webküche]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Newsletter]]></category>
		<category><![CDATA[StyleSheet]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=680</guid>
		<description><![CDATA[Noch immer konnte die Technologie Feed die Newsletter nicht verbannen und sie existieren auch weiterhin in unserem Postkasten. Ob man sie nun mag oder nicht, der grundlegende und strittige Punkt am Thema Newsletter ist die Verwendung von HTML und CSS oder reine Text-Newsletter. Leider hat man darauf nicht immer Einfluss und der Kunde &#8222;will&#8220; einen [...]]]></description>
			<content:encoded><![CDATA[<p>Noch immer konnte die Technologie Feed die Newsletter nicht verbannen und sie existieren auch weiterhin in unserem Postkasten. Ob man sie nun mag oder nicht, der grundlegende und strittige Punkt am Thema Newsletter ist die Verwendung von HTML und CSS oder reine Text-Newsletter.</p>
<p>Leider hat man darauf nicht immer Einfluss und der Kunde &#8222;will&#8220; einen Newsletter im HTML-Format. Entscheidet man sich zur Umsetzung und nutzt seine Kenntnis von HTML und CSS, erstellt ein Markup mit sauberen CSS im <code>head</code>, so kann man schnell an kleinen aber wirkungsvollen Problemen scheitern und das Wissen um Markup und Design wird in Frage gestellt.</p>
<p>Darum ist es zwingend notwendig, eine Übersicht zu haben, die zeigt, welche Clients welche Unterstützung geben.<span id="more-680"></span> Eines gleich vorweg, eine große Anzahl von E-Mail-Clients löschen das Stylesheet, wenn es im <code>head</code>-Abschnitt ist! So lässt beispielsweise <a href="http://web.de/fm/">web.de</a> nur Inline-Styles zu und dass kann einem die Nerven kosten.</p>
<p>Eine recht umfassende Übersicht der Möglichkeiten bei der Unterstützung von CSS bei den entsprechende E-Mails-Clients gibt es auf <a href="http://www.campaignmonitor.com/css/">Campaign Monitor</a>. Alternativ kann man das ganze downloaden als PDF- oder MS Excel-Dokument.<br />
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><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://bueltge.de/css-unterstuetzung-mail-client/680/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/css-unterstuetzung-mail-client/680/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>CSS Sprites einfach erklärt</title>
		<link>http://bueltge.de/css-sprites-einfach-erklaert/675/</link>
		<comments>http://bueltge.de/css-sprites-einfach-erklaert/675/#comments</comments>
		<pubDate>Thu, 05 Jun 2008 08:41:43 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[CSS, xHTML, JS]]></category>
		<category><![CDATA[Webküche]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[StyleSheet]]></category>
		<category><![CDATA[Webdesign]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=675</guid>
		<description><![CDATA[Die <a href="http://www.webkrauts.de/">Webkrauts</a> haben das Thema &#8222;<a href="http://www.webkrauts.de/2007/10/20/hovereffekte-mit-css-sprites/">Hoverffekte mit CSS-Sprites</a>&#8220; schon vor langer Zeit aufgegriffen und erklärt, ausführlich. Dies soll hier nicht statt finden. Aber es ist immer noch eine relativ selten verwendete Technik und viele arbeiten dann mit Lösungen via JavaScript um die Bilder zum richtigen Zeitpunkt zu laden. Dies ist nicht nötig, mit Hilfe der Technik der CSS-Sprites kann man den unschönen Effekt, der auftritt bei MouseOver von Bildern als Link, beheben. Das ist wenig im Aufwand und bringt viel im Aussehen und Benutzerfreundlichkeit.

Um auf diese Technik nochmal und vereinfacht aufmerksam zu machen, habe ich mal ein sehr einfaches und, so denke ich, überschaubares <a href="http://bueltge.de/test/css_sprites.php">Beispiel</a> erstellt. Ansehen, verstehen und Nutzen war die Devise.
Die vielen kleinen Spielereien, die dann daraus resultieren sind auf vielen Beiträgen im Netz nachzulesen.]]></description>
			<content:encoded><![CDATA[<p>Die <a href="http://www.webkrauts.de/">Webkrauts</a> haben das Thema &#8222;<a href="http://www.webkrauts.de/2007/10/20/hovereffekte-mit-css-sprites/">Hoverffekte mit CSS-Sprites</a>&#8220; schon vor langer Zeit aufgegriffen und erklärt, ausführlich. Dies soll hier nicht statt finden. Aber es ist immer noch eine relativ selten verwendete Technik und viele arbeiten dann mit Lösungen via JavaScript um die Bilder zum richtigen Zeitpunkt zu laden. Dies ist nicht nötig, mit Hilfe der Technik der CSS-Sprites kann man den unschönen Effekt, der auftritt bei MouseOver von Bildern als Link, beheben. Das ist wenig im Aufwand und bringt viel im Aussehen und Benutzerfreundlichkeit.</p>
<p>Um auf diese Technik nochmal und vereinfacht aufmerksam zu machen, habe ich mal ein sehr einfaches und, so denke ich, überschaubares <a href="http://bueltge.de/test/css_sprites.php">Beispiel</a> erstellt. Ansehen, verstehen und Nutzen war die Devise.<br />
Die vielen kleinen Spielereien, die dann daraus resultieren sind auf vielen Beiträgen im Netz nachzulesen.<br />
<span id="more-675"></span><br />
Die Nutzung von CSS-Sprites hat Vorteile:</p>
<ul>
<li>Kein Einsatz von clientseitigen Sprache wie JavaScript nötig</li>
<li>Kein MouseOver-Code in den Links</li>
<li>Bilder liegen vor und der lästige Verlagerungseffekt entfällt</li>
<li>weniger Bilder beim Download und im Einsatz, wenn man es effektiv nutzt</li>
<li>Bessere Nutzung der Bandbreite beim Besucher</li>
</ul>
<h3>So geht es</h3>
<p>In wenigen Punkten und Erklärungen ist die Lösung zu sehen. Wie das ganze dann in Benutzung aussieht, dass sieht man oben am Start des Artikels oder im <a href="http://bueltge.de/test/css_sprites.php">Beispiel</a> in der <a href="http://bueltge.de/test/">Experimente-Box</a>.</p>
<p>Das Bild kann natürlich mehrfach verwendet werden. Eventuell benötigt man das Logo auch in anderen Darstellungen auf der Seite, ohne hover-Effekt. Damit lohnen sich solche Lösungen richtig. Man nutzt dann eben nur den Bereich, der zu sehen sein soll. </p>
<p><img class="alignright" src="http://bueltge.de/test/images//fb-sprite.png" alt="Sprite Beispiel" /></p>
<h4>Bild</h4>
<p>125px breit und 60px hoch; 5px Abstand sind zwischen den einzelnen Bildern des Ganzen</p>
<h4>CSS Style</h4>
<p>Im Grund greift das CSS nur auf das ID zu und erzeugt den Effekt durch die Pseudeklasse hover.<br />
Die Höhe und Breite ergibt sich aus der Größe des eigentlichen Einzelbildes, in diesem Beispiel 60px.</p>
<pre><code>
#image-link {
	width: 60px;
	height: 60px;
	text-decoration: none;
	display: block;
	background: url('images/fb-sprite.png') 0 0;
}

#image-link:hover, #image-link:active {
	background-position: 60px 0;
}
</code></pre>
<p><a style="float: right; margin: 0 5px 5px 5px" href="#" id="image-link2">&nbsp;</a><br />
Die Angabe <code>0 0</code> muss bei <code>background</code> nicht vergeben werden; nur wenn es eine Verschiebung geben soll. Genauso könnte man das Beispiel hier auch anders herum nutzen. Dafür müsste man lediglich die Positionswerte für die ID <code>image-link</code> tauschen.</p>
<pre><code>
#image-link {
	width: 60px;
	height: 60px;
	text-decoration: none;
	display: block;
	background: url('images/fb-sprite.png') 60px 0;
}

#image-link:hover, #image-link:active {
	background-position: 0 0;
}
</code></pre>
<h4>HTML Code</h4>
<p>In diesem Bespiel dient ein einfacher Link als Demonstration, natürlich kann man hier alle bekannten Möglichkeiten aufgreifen und beispielsweise schöne Navigation erstellen.</p>
<pre><code>
&lt;a href=&quot;#&quot; id=&quot;image-link&quot;&gt;&amp;nbsp;&lt;/a&gt;
</code></pre>
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><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://bueltge.de/css-sprites-einfach-erklaert/675/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/css-sprites-einfach-erklaert/675/feed/</wfw:commentRss>
		<slash:comments>40</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/test/images//fb-sprite.png" />
		<media:content url="http://bueltge.de/test/images//fb-sprite.png" medium="image">
			<media:title type="html">Sprite Beispiel</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>

