<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>dynamicinternet</title>
	
	<link>http://dynamicinternet.eu</link>
	<description>Wir machen Ihr Web dynamisch!</description>
	<lastBuildDate>Fri, 26 Feb 2010 16:53:37 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/dynamicinternet/lFfB" /><feedburner:info uri="dynamicinternet/lffb" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:browserFriendly></feedburner:browserFriendly><item>
		<title>WordPress 3.0 neue Screenshots</title>
		<link>http://dynamicinternet.eu/blog/2010-02-26/wordpress-3-0-nueue-screenshots/</link>
		<comments>http://dynamicinternet.eu/blog/2010-02-26/wordpress-3-0-nueue-screenshots/#comments</comments>
		<pubDate>Fri, 26 Feb 2010 16:53:37 +0000</pubDate>
		<dc:creator>Micha</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[theme]]></category>
		<category><![CDATA[Twenty Ten]]></category>

		<guid isPermaLink="false">http://dynamicinternet.eu/?p=648</guid>
		<description><![CDATA[Zum Wochenende schnell ein paar Screenshots aus dem aktuellen Trunk.
WordPress 3.0 Custom Background
Hier wurden Einstellm&#246;glichkeiten um einige Optionen erweitert.

WordPress 3.0 Header Image
Das neue Theme TwentyTen bringt jetzt 8 Header Bilder mit, die &#252;ber einen Dialog ausgew&#228;hlt werden k&#246;nnen.

WordPress 3.0 Men&#252;s
Hier wird im Moment viel gebaut, so das es schwer zu sagen ist, wie es letztlich [...]]]></description>
			<content:encoded><![CDATA[<p>Zum Wochenende schnell ein paar Screenshots aus dem aktuellen Trunk.</p>
<h3>WordPress 3.0 Custom Background</h3>
<p>Hier wurden Einstellm&#246;glichkeiten um einige Optionen erweitert.<span id="more-648"></span></p>
<p><a href="http://dynamicinternet.eu/blog/wp-content/uploads/2010/02/wordpress-background-dialog.jpg" ><img class="aligncenter size-full wp-image-649" title="WordPress 3.0 Background Dialog" src="http://dynamicinternet.eu/blog/wp-content/uploads/2010/02/wordpress-background-dialog.jpg" alt="WordPress 3.0 Background Dialog" width="590" height="712" /></a></p>
<h3>WordPress 3.0 Header Image</h3>
<p>Das neue Theme TwentyTen bringt jetzt 8 Header Bilder mit, die &#252;ber einen Dialog ausgew&#228;hlt werden k&#246;nnen.</p>
<p><a href="http://dynamicinternet.eu/blog/wp-content/uploads/2010/02/wordpress-header-image.jpg" ><img class="aligncenter size-full wp-image-650" title="WordPress 3.0 Header Image Dialog" src="http://dynamicinternet.eu/blog/wp-content/uploads/2010/02/wordpress-header-image.jpg" alt="WordPress 3.0 Header Image Dialog" width="590" height="456" /></a></p>
<h3>WordPress 3.0 Men&#252;s</h3>
<p>Hier wird im Moment viel gebaut, so das es schwer zu sagen ist, wie es letztlich aussehen wird.</p>
<p><a href="http://dynamicinternet.eu/blog/wp-content/uploads/2010/02/wordpress-menu-screen.jpg" ><img class="aligncenter size-full wp-image-651" title="WordPress 3.0 Men&#252; Dialog" src="http://dynamicinternet.eu/blog/wp-content/uploads/2010/02/wordpress-menu-screen.jpg" alt="WordPress 3.0 Men&#252; Dialog" width="590" height="261" /></a></p>
<hr /><ul><li><a href="http://dynamicinternet.eu/blog/2008-12-01/wordpress-27-backend-farben/" rel="bookmark" title="Permanent Link: WordPress 2.7 Backend Farben" class="liinternal">WordPress 2.7 Backend Farben</a></li><li><a href="http://dynamicinternet.eu/blog/2008-10-01/probleme-erkennen/" rel="bookmark" title="Permanent Link: Probleme erkennen" class="liinternal">Probleme erkennen</a></li><li><a href="http://dynamicinternet.eu/blog/2009-09-11/wordpress-2-9-image-editing/" rel="bookmark" title="Permanent Link: WordPress 2.9 Image editing" class="liinternal">WordPress 2.9 Image editing</a></li><li><a href="http://dynamicinternet.eu/blog/2008-09-25/kommentar-pagination-reply-tiefe/" rel="bookmark" title="Permanent Link: Kommentar Pagination und Reply Tiefe in WordPress 2.7" class="liinternal">Kommentar Pagination und Reply Tiefe in WordPress 2.7</a></li><li><a href="http://dynamicinternet.eu/blog/2009-05-08/kommentar-pagination-ausblenden/" rel="bookmark" title="Permanent Link: Kommentar Pagination ausblenden" class="liinternal">Kommentar Pagination ausblenden</a></li></ul><hr /><small>Copyright &copy; 2007-2010 dynamicinternet d9f9df690f8b5bb6036dfbdb77a9bd79</small>]]></content:encoded>
			<wfw:commentRss>http://dynamicinternet.eu/blog/2010-02-26/wordpress-3-0-nueue-screenshots/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Der Fluch von the_post_thumbnail</title>
		<link>http://dynamicinternet.eu/blog/2010-02-21/der-fluch-von-the_post_thumbnail/</link>
		<comments>http://dynamicinternet.eu/blog/2010-02-21/der-fluch-von-the_post_thumbnail/#comments</comments>
		<pubDate>Sun, 21 Feb 2010 19:51:51 +0000</pubDate>
		<dc:creator>Micha</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[fuck]]></category>
		<category><![CDATA[template tags]]></category>

		<guid isPermaLink="false">http://dynamicinternet.eu/?p=647</guid>
		<description><![CDATA[So richtig begeistert war ich noch nie von dieser Funktion, obwohl die WordPress Community sich das dringlichst gew&#252;nscht hatte. Warum? Die Funktion ist sehr resourcenhungrig. Auf einer normalen Blogseite mit 10 Posts kommen durch diese Funtion 2 zus&#228;tzliche Anfragen an die Datenbank hinzu.Jetzt hatte ich folgenden Fall: Ich habe eine Hauptseite, die wiederum Unterseiten hat. [...]]]></description>
			<content:encoded><![CDATA[<p>So richtig begeistert war ich noch nie von dieser Funktion, obwohl die WordPress Community sich das dringlichst gew&#252;nscht hatte. Warum? Die Funktion ist sehr resourcenhungrig. Auf einer normalen Blogseite mit 10 Posts kommen durch diese Funtion 2 zus&#228;tzliche Anfragen an die Datenbank hinzu.<span id="more-647"></span>Jetzt hatte ich folgenden Fall: Ich habe eine Hauptseite, die wiederum Unterseiten hat. Diese Unterseiten listen dann in einer &#220;bersicht ihre jeweiligen Unterseiten mit dem Post Thumbnail und ein paar benutzerdefinierten Feldern. So eine Art Index halt, nichts Spannendes. Nur die Anzahl der gelisteten Unterseiten ist teilweise schon heftig. Auf einer Seite sind es 73 Eintr&#228;ge.</p>
<p>Also nach meiner Rechnung zus&#228;tzliche 146 Queries durch die Post Thumbnails plus ein paar durch die Seite selber. Mich hat aber der Schlag getroffen: 372 Queries !!! Ich habe Frank B&#252;ltges Plugin <a href="http://bueltge.de/wordpress-performance-analysieren-plugin/558/" title="Plugin Debug Queries" class="liexternal">Debug Queries</a> aktiviert mir die Queries einmal ausgeben lassen.</p>

<div class="wp_syntax"><div class="code"><pre class="php">Query<span style="color: #339933;">:</span> SELECT <span style="color: #339933;">*</span> FROM wp_posts WHERE ID <span style="color: #339933;">=</span> <span style="color: #cc66cc;">15</span> LIMIT <span style="color: #cc66cc;">1</span>
Call from<span style="color: #339933;">:</span> <span style="color: #b1b100;">require</span><span style="color: #339933;">,</span> <span style="color: #b1b100;">require_once</span><span style="color: #339933;">,</span> <span style="color: #b1b100;">include</span><span style="color: #339933;">,</span> the_post_thumbnail<span style="color: #339933;">,</span> get_the_post_thumbnail<span style="color: #339933;">,</span> wp_get_attachment_image<span style="color: #339933;">,</span> wp_get_attachment_image_src<span style="color: #339933;">,</span> image_downsize<span style="color: #339933;">,</span> wp_attachment_is_image<span style="color: #339933;">,</span> get_post
&nbsp;
Query<span style="color: #339933;">:</span> SELECT `post_parent` FROM wp_posts WHERE ID <span style="color: #339933;">=</span> <span style="color: #cc66cc;">12</span> LIMIT <span style="color: #cc66cc;">1</span>
Call from<span style="color: #339933;">:</span> <span style="color: #b1b100;">require</span><span style="color: #339933;">,</span> <span style="color: #b1b100;">require_once</span><span style="color: #339933;">,</span> <span style="color: #b1b100;">include</span><span style="color: #339933;">,</span> the_post_thumbnail<span style="color: #339933;">,</span> get_the_post_thumbnail<span style="color: #339933;">,</span> wp_get_attachment_image<span style="color: #339933;">,</span> wp_get_attachment_image_src<span style="color: #339933;">,</span> image_downsize<span style="color: #339933;">,</span> wp_attachment_is_image<span style="color: #339933;">,</span> get_post<span style="color: #339933;">,</span> _get_post_ancestors
&nbsp;
Query<span style="color: #339933;">:</span> SELECT `post_parent` FROM wp_posts WHERE ID <span style="color: #339933;">=</span> <span style="color: #cc66cc;">221</span> LIMIT <span style="color: #cc66cc;">1</span>
Call from<span style="color: #339933;">:</span> <span style="color: #b1b100;">require</span><span style="color: #339933;">,</span> <span style="color: #b1b100;">require_once</span><span style="color: #339933;">,</span> <span style="color: #b1b100;">include</span><span style="color: #339933;">,</span> the_post_thumbnail<span style="color: #339933;">,</span> get_the_post_thumbnail<span style="color: #339933;">,</span> wp_get_attachment_image<span style="color: #339933;">,</span> wp_get_attachment_image_src<span style="color: #339933;">,</span> image_downsize<span style="color: #339933;">,</span> wp_attachment_is_image<span style="color: #339933;">,</span> get_post<span style="color: #339933;">,</span> _get_post_ancestors
&nbsp;
Query<span style="color: #339933;">:</span> SELECT `post_parent` FROM wp_posts WHERE ID <span style="color: #339933;">=</span> <span style="color: #cc66cc;">8</span> LIMIT <span style="color: #cc66cc;">1</span>
Call from<span style="color: #339933;">:</span> <span style="color: #b1b100;">require</span><span style="color: #339933;">,</span> <span style="color: #b1b100;">require_once</span><span style="color: #339933;">,</span> <span style="color: #b1b100;">include</span><span style="color: #339933;">,</span> the_post_thumbnail<span style="color: #339933;">,</span> get_the_post_thumbnail<span style="color: #339933;">,</span> wp_get_attachment_image<span style="color: #339933;">,</span> wp_get_attachment_image_src<span style="color: #339933;">,</span> image_downsize<span style="color: #339933;">,</span> wp_attachment_is_image<span style="color: #339933;">,</span> get_post<span style="color: #339933;">,</span> _get_post_ancestors
&nbsp;
Query<span style="color: #339933;">:</span> SELECT post_id<span style="color: #339933;">,</span> meta_key<span style="color: #339933;">,</span> meta_value FROM wp_postmeta WHERE post_id IN <span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">15</span><span style="color: #009900;">&#41;</span>
Call from<span style="color: #339933;">:</span> <span style="color: #b1b100;">require</span><span style="color: #339933;">,</span> <span style="color: #b1b100;">require_once</span><span style="color: #339933;">,</span> <span style="color: #b1b100;">include</span><span style="color: #339933;">,</span> the_post_thumbnail<span style="color: #339933;">,</span> get_the_post_thumbnail<span style="color: #339933;">,</span> wp_get_attachment_image<span style="color: #339933;">,</span> wp_get_attachment_image_src<span style="color: #339933;">,</span> image_downsize<span style="color: #339933;">,</span> wp_attachment_is_image<span style="color: #339933;">,</span> get_attached_file<span style="color: #339933;">,</span> get_post_meta<span style="color: #339933;">,</span> get_metadata<span style="color: #339933;">,</span> update_meta_cache</pre></div></div>

<p>Warum WordPress in jedem Durchlauf die post_parents abklappert, ist mir schleierhaft.</p>
<p>Ich werde wohl oder &#252;bel eine Funktion schreiben m&#252;ssen, denn so geht es nicht. Selbst die &#8220;normalen&#8221; 150 Queries sind zuviel.</p>
<hr /><ul><li><a href="http://dynamicinternet.eu/blog/2009-12-22/nochmal-the_post_thumbnail/" rel="bookmark" title="Permanent Link: Nochmal the_post_thumbnail()" class="liinternal">Nochmal the_post_thumbnail()</a></li><li><a href="http://dynamicinternet.eu/blog/2009-12-17/the-ultimative-guide-for-the_post_thumbnail-in-wordpress-2-9/" rel="bookmark" title="Permanent Link: The ultimative Guide for the_post_thumbnail in WordPress 2.9" class="liinternal">The ultimative Guide for the_post_thumbnail in WordPress 2.9</a></li><li><a href="http://dynamicinternet.eu/blog/2009-12-12/the_post_image-ist-jetzt-the_post_thumbnail/" rel="bookmark" title="Permanent Link: the_post_image ist jetzt the_post_thumbnail" class="liinternal">the_post_image ist jetzt the_post_thumbnail</a></li><li><a href="http://dynamicinternet.eu/blog/2009-02-10/wordpress-28-body_class-automatic_feed_links/" rel="bookmark" title="Permanent Link: WordPress 2.8 body_class, automatic_feed_links" class="liinternal">WordPress 2.8 body_class, automatic_feed_links</a></li><li><a href="http://dynamicinternet.eu/blog/2007-05-10/basti-in-america-das-apartment/" rel="bookmark" title="Permanent Link: Basti in America &#8211; das Apartment" class="liinternal">Basti in America &#8211; das Apartment</a></li></ul><hr /><small>Copyright &copy; 2007-2010 dynamicinternet d9f9df690f8b5bb6036dfbdb77a9bd79</small>]]></content:encoded>
			<wfw:commentRss>http://dynamicinternet.eu/blog/2010-02-21/der-fluch-von-the_post_thumbnail/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Neu in WordPress 3.0: Custom Background</title>
		<link>http://dynamicinternet.eu/blog/2010-02-10/neu-in-wordpress-3-0-custom-background/</link>
		<comments>http://dynamicinternet.eu/blog/2010-02-10/neu-in-wordpress-3-0-custom-background/#comments</comments>
		<pubDate>Wed, 10 Feb 2010 06:25:58 +0000</pubDate>
		<dc:creator>Micha</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[2010]]></category>
		<category><![CDATA[theme]]></category>
		<category><![CDATA[Twenty Ten]]></category>

		<guid isPermaLink="false">http://dynamicinternet.eu/?p=641</guid>
		<description><![CDATA[In Wordpress 3.0 wird es neben dem Custom Header Image Support nun auch einen Custom Background Support geben. Ein erster Schnappschuss befindet sich im aktuellen Trunk. Um die Funktionalit&#228;t nutzen zu k&#246;nnen, ben&#246;tigt das Theme in der functions.php die Zeile:

add_custom_background&#40;&#41;;

Danach steht im Backend unter Design der Punkt Custom Background zur Verf&#252;gung.

Nach dem Hochladen hat man [...]]]></description>
			<content:encoded><![CDATA[<p>In Wordpress 3.0 wird es neben dem Custom Header Image Support nun auch einen Custom Background Support geben. Ein erster Schnappschuss befindet sich im aktuellen Trunk. Um die Funktionalit&#228;t nutzen zu k&#246;nnen, ben&#246;tigt das Theme in der functions.php die Zeile:<span id="more-641"></span></p>

<div class="wp_syntax"><div class="code"><pre class="php">add_custom_background<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Danach steht im Backend unter Design der Punkt Custom Background zur Verf&#252;gung.</p>
<p><img class="aligncenter size-full wp-image-643" title="WordPress Custom Background Step 1" src="http://dynamicinternet.eu/blog/wp-content/uploads/2010/02/wordpress-custom-background-step-1.jpg" alt="Screenshot WordPress Custom Background Step 1" width="400" height="320" /></p>
<p>Nach dem Hochladen hat man die M&#246;glichkeit, die Kachelung einzuschalten oder auch das Backgroundimage wieder zu entfernen.</p>
<p><img class="aligncenter size-full wp-image-644" title="WordPress Custom Background Step 2" src="http://dynamicinternet.eu/blog/wp-content/uploads/2010/02/wordpress-custom-background-step-2.jpg" alt="Screenshot WordPress Custom Background Step 2" width="400" height="506" /></p>
<p>Hier das Resultat mit dem neuen Theme Twenty Ten.</p>
<p><a href="http://dynamicinternet.eu/blog/wp-content/uploads/2010/02/wordpress-custom-background-frontend.jpg" ><img class="aligncenter size-full wp-image-642" title="WordPress Custom Background Ansicht im Frontend" src="http://dynamicinternet.eu/blog/wp-content/uploads/2010/02/wordpress-custom-background-frontend.jpg" alt="Screenshot mit gekacheltem Hintergrund im Frontend" width="400" height="202" /></a></p>
<hr /><ul><li><a href="http://dynamicinternet.eu/blog/2010-02-26/wordpress-3-0-nueue-screenshots/" rel="bookmark" title="Permanent Link: WordPress 3.0 neue Screenshots" class="liinternal">WordPress 3.0 neue Screenshots</a></li><li><a href="http://dynamicinternet.eu/blog/2007-12-14/bist-du-ein-wordpress-junkie/" rel="bookmark" title="Permanent Link: Bist du ein WordPress Junkie?" class="liinternal">Bist du ein WordPress Junkie?</a></li><li><a href="http://dynamicinternet.eu/blog/2007-07-03/wordpress-custom-fields-nutzen/" rel="bookmark" title="Permanent Link: Wordpress Custom Fields nutzen" class="liinternal">Wordpress Custom Fields nutzen</a></li><li><a href="http://dynamicinternet.eu/blog/2007-07-28/wordpress-custom-fields-in-action/" rel="bookmark" title="Permanent Link: WordPress Custom Fields in Action" class="liinternal">WordPress Custom Fields in Action</a></li><li><a href="http://dynamicinternet.eu/blog/2007-10-17/wordpress-pages-nach-meta_value-sortieren/" rel="bookmark" title="Permanent Link: WordPress Pages nach meta_value sortieren" class="liinternal">WordPress Pages nach meta_value sortieren</a></li></ul><hr /><small>Copyright &copy; 2007-2010 dynamicinternet d9f9df690f8b5bb6036dfbdb77a9bd79</small>]]></content:encoded>
			<wfw:commentRss>http://dynamicinternet.eu/blog/2010-02-10/neu-in-wordpress-3-0-custom-background/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Google Maps im Tab, druckbare Tabs</title>
		<link>http://dynamicinternet.eu/blog/2010-02-08/google-maps-im-tab-druckbare-tabs/</link>
		<comments>http://dynamicinternet.eu/blog/2010-02-08/google-maps-im-tab-druckbare-tabs/#comments</comments>
		<pubDate>Mon, 08 Feb 2010 13:32:55 +0000</pubDate>
		<dc:creator>Micha</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[tab]]></category>

		<guid isPermaLink="false">http://dynamicinternet.eu/?p=637</guid>
		<description><![CDATA[Wie sich herausstellte, keine ganz einfache Aufgabe. Aber zuerst die Ausgangbasis. Eine ganz normale WordPress Seite, die Informationen zu einem Objekt enth&#228;lt und darunter wird per Shortcode [wpmaps] durch Sergej M&#252;ller&#8217;s Plugin wpMaps die Goggle Map eingeblendet. Daraus sollen 2 Tabs entstehen, eins mit der Info und eins mit der Karte.

Als Tab-Script kommt das jQuery [...]]]></description>
			<content:encoded><![CDATA[<p>Wie sich herausstellte, keine ganz einfache Aufgabe. Aber zuerst die Ausgangbasis. Eine ganz normale WordPress Seite, die Informationen zu einem Objekt enth&#228;lt und darunter wird per Shortcode [wpmaps] durch <a href="http://playground.ebiene.de/1379/wpmaps-wordpress-google-maps/" title="wpMaps WordPress Plugin" class="liexternal">Sergej M&#252;ller&#8217;s Plugin wpMaps</a> die Goggle Map eingeblendet. Daraus sollen 2 Tabs entstehen, eins mit der Info und eins mit der Karte.</p>
<p><span id="more-637"></span></p>
<p>Als Tab-Script kommt das <a href="http://blog.ginader.de/archives/2009/02/07/jQuery-Accessible-Tabs-Wie-man-Tabs-WIRKLICH-zugaenglich-macht.php" title="Wie man Tabs wirklich zug&#228;nlich macht" class="liexternal">jQuery Accessible Tabs von Dirk Ginader</a> zum Einsatz, welches wirklich zug&#228;ngliche Tabs erzeugt und Bestandteil des <a href="http://yaml.de" class="liexternal">YAML Frameworks</a> ist. Damit es funktioniert, braucht es einen Container, auf dem es angewendet wird, pro Tab eine &#220;berschrift und den Contentbereich f&#252;r das jeweilige Tab.</p>
<p><img src="http://dynamicinternet.eu/blog/wp-content/uploads/2010/02/post-before.png" alt="Grafische Darstellung der originalen Post" title="Original Post" width="300" height="342" class="aligncenter size-full wp-image-640" /></p>
<p>Die Grafik zeigt das Markup, wie es in WordPress erstellt wird. Der rote Rand ist das Div, welches die Post umschlie&#223;t. Da Javascript f&#252;r die Google Map und das Tabscript ben&#246;tigt wird, liegt es auf der Hand, gleich das gesamte Markup mit jQuery umzubauen. Die Struktur, die erreicht werden soll, sieht so aus:</p>
<p><img src="http://dynamicinternet.eu/blog/wp-content/uploads/2010/02/post-after.png" alt="Grafische Darstellung des erzeugten Markups" title="Erzeugtes Markup" width="295" height="373" class="aligncenter size-full wp-image-639" /></p>
<p>Zuerst bekommt die Post die Klasse &#8216;tabs&#8217;, dann wrappen wir die Post mit 2 Divs und f&#252;gen die &#220;berschrift der Seite zwischen diesen Divs ein, damit sie am Beginn des Dokuments steht. Die Post bekommt eine &#220;berschrift &#8216;Info&#8217; eingeimpft. Anschlie&#223;end bekommt das Div &#8216;wpmaps&#8217;, in welchem die Google Map erscheint, ein Div mit der ID &#8216;mymap&#8217; und der Klasse &#8216;tabs&#8217; herum und die &#220;berschrift Karte. Dieses Div &#8216;#mymap&#8217; wird dann aus der Post herausgenommen und hinter der Post wieder eingef&#252;gt. Zum Schlu&#223; wird das Tabscript aufgerufen. Damit das alles nur passiert, wenn eine Map da ist, wird das am Anfang abgefragt. Hier das Script:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript"><span style="color: #339933;">&lt;</span>script type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text/javascript&quot;</span><span style="color: #339933;">&gt;</span>
<span style="color: #006600; font-style: italic;">//&lt;![CDATA[</span>
document.<span style="color: #006600;">documentElement</span>.<span style="color: #006600;">className</span> <span style="color: #339933;">+=</span> <span style="color: #3366CC;">&quot; js&quot;</span><span style="color: #339933;">;</span>
jQuery<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #006600;">ready</span><span style="color: #009900;">&#40;</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>$<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
    <span style="color: #003366; font-weight: bold;">var</span> map <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.wpmaps'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>map.<span style="color: #006600;">length</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
      $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.post'</span><span style="color: #009900;">&#41;</span>.<span style="color: #006600;">addClass</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'tabs'</span><span style="color: #009900;">&#41;</span>.<span style="color: #006600;">wrap</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'&lt;div class=&quot;postcontent&quot;&gt;&lt;div class=&quot;tabber&quot;&gt;&lt;<span style="color: #000099; font-weight: bold;">\/</span>div&gt;&lt;<span style="color: #000099; font-weight: bold;">\/</span>div&gt;'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'h2'</span><span style="color: #009900;">&#41;</span>.<span style="color: #006600;">prependTo</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.postcontent'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'&lt;h6&gt;Info&lt;<span style="color: #000099; font-weight: bold;">\/</span>h6&gt;'</span><span style="color: #009900;">&#41;</span>.<span style="color: #006600;">appendTo</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.post'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.wpmaps'</span><span style="color: #009900;">&#41;</span>.<span style="color: #006600;">wrap</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'&lt;div id=&quot;mymap&quot; class=&quot;tabs&quot;&gt;&lt;<span style="color: #000099; font-weight: bold;">\/</span>div&gt;'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'&lt;h6&gt;Karte&lt;<span style="color: #000099; font-weight: bold;">\/</span>h6&gt;'</span><span style="color: #009900;">&#41;</span>.<span style="color: #006600;">prependTo</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#mymap'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#mymap'</span><span style="color: #009900;">&#41;</span>.<span style="color: #006600;">insertAfter</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.post'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;.tabber&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006600;">accessibleTabs</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>tabhead<span style="color: #339933;">:</span><span style="color: #3366CC;">'h6'</span><span style="color: #339933;">,</span>tabbody<span style="color: #339933;">:</span><span style="color: #3366CC;">'.tabs'</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #006600; font-style: italic;">//]]&gt;</span>
<span style="color: #339933;">&lt;/</span>script<span style="color: #339933;">&gt;</span></pre></div></div>

<p>Das alleine w&#228;re ja keinen Beitrag wert, ein bisschen DOM Manipulation kann ja jeder. Folgendes Problem trat auf: das Tabscript setzt erstmal alle Container mit der Klasse &#8216;tabs&#8217; auf display: none und den ersten auf display: block. Damit kann das Google Javascript, welches die Map erzeugt und alles absolut positioniert, nichts mit dem Container wpmaps anfangen und richtet sich am n&#228;chst h&#246;heren sichtbaren Container &#8216;tabber&#8217; aus. Der beinhaltet aber die Tabnavigation und damit stimmt die Zentrierung des Objekts in der Karte nicht mehr.</p>
<p><img src="http://dynamicinternet.eu/blog/wp-content/uploads/2010/02/google-map.jpg" alt="Nicht zentrierte Google Map" title="Nicht zentrierte Google Map" width="200" height="201" class="aligncenter size-full wp-image-638" /></p>
<p>Also konnte ich im Tabscript mit .hide() und .show() nicht arbeiten. Das YAML Framework, welches zum Einsatz kommt, bietet im Core die Klassen hideme und print an, welche den Inhalt aus dem sichtbaren Bereich schieben.</p>

<div class="wp_syntax"><div class="code"><pre class="css"><span style="color: #808080; font-style: italic;">/* YAML core/base.css */</span>
<span style="color: #808080; font-style: italic;">/* (en) classes for invisible elements in the base layout */</span>
<span style="color: #808080; font-style: italic;">/* (de) Klassen für unsichtbare Elemente im Basislayout */</span>
<span style="color: #6666ff;">.skip</span>, <span style="color: #6666ff;">.hideme</span>, <span style="color: #6666ff;">.print</span> <span style="color: #66cc66;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">position</span><span style="color: #3333ff;">:absolute</span><span style="color: #66cc66;">;</span>
    <span style="color: #000000; font-weight: bold;">top</span><span style="color: #3333ff;">:-<span style="color: #933;">32768px</span></span><span style="color: #66cc66;">;</span>
    <span style="color: #000000; font-weight: bold;">left</span><span style="color: #3333ff;">:-<span style="color: #933;">32768px</span></span><span style="color: #66cc66;">;</span> <span style="color: #808080; font-style: italic;">/* LTR */</span>
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>Dabei hat mir die Klasse print am besten gefallen:</p>

<div class="wp_syntax"><div class="code"><pre class="css"><span style="color: #a1a100;">@media print</span>
<span style="color: #66cc66;">&#123;</span>
...
<span style="color: #808080; font-style: italic;">/* (en) make .print class visible */</span>
<span style="color: #808080; font-style: italic;">/* (de) .print-Klasse sichtbar schalten */</span>
  <span style="color: #6666ff;">.print</span> <span style="color: #66cc66;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">position</span><span style="color: #3333ff;">:static</span><span style="color: #66cc66;">;</span>
    <span style="color: #000000; font-weight: bold;">left</span><span style="color: #3333ff;">:<span style="color: #933;">0</span></span><span style="color: #66cc66;">;</span>
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>Also kopierte ich mir das Tabscript in einen anderen Ordner und ersetzte im Tabscript hide() durch addClass(&#8216;print&#8217;) und show() durch removeClass(&#8216;print&#8217;) und zus&#228;tzlich die Zeile</p>

<div class="wp_syntax"><div class="code"><pre class="javascript">$<span style="color: #009900;">&#40;</span>el<span style="color: #009900;">&#41;</span>.<span style="color: #006600;">find</span><span style="color: #009900;">&#40;</span>o.<span style="color: #006600;">options</span>.<span style="color: #006600;">tabbody</span><span style="color: #009900;">&#41;</span>.<span style="color: #006600;">eq</span><span style="color: #009900;">&#40;</span>i<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#91;</span>o.<span style="color: #006600;">options</span>.<span style="color: #006600;">fx</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#40;</span>o.<span style="color: #006600;">options</span>.<span style="color: #006600;">fxspeed</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009966; font-style: italic;">/* durch */</span>
$<span style="color: #009900;">&#40;</span>el<span style="color: #009900;">&#41;</span>.<span style="color: #006600;">find</span><span style="color: #009900;">&#40;</span>o.<span style="color: #006600;">options</span>.<span style="color: #006600;">tabbody</span><span style="color: #009900;">&#41;</span>.<span style="color: #006600;">eq</span><span style="color: #009900;">&#40;</span>i<span style="color: #009900;">&#41;</span>.<span style="color: #006600;">removeClass</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'print'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Dadurch gehen die konfigurierbaren Animationen nicht mehr, was mich nicht weiter st&#246;rt. Der positive Effekt dank der Klasse print, die Tabs sind jetzt druckbar!</p>
<hr /><ul><li><a href="http://dynamicinternet.eu/blog/2007-06-23/wp-landingsites-und-google-reader/" rel="bookmark" title="Permanent Link: WP Landingsites und Google Reader" class="liinternal">WP Landingsites und Google Reader</a></li><li><a href="http://dynamicinternet.eu/blog/2007-10-27/wordpress-231-und-google-pagerank-update/" rel="bookmark" title="Permanent Link: WordPress 2.3.1 und Google Pagerank Update" class="liinternal">WordPress 2.3.1 und Google Pagerank Update</a></li><li><a href="http://dynamicinternet.eu/blog/2008-03-09/jquery-script-fuer-die-galerie/" rel="bookmark" title="Permanent Link: jQuery Script f&#252;r die Galerie" class="liinternal">jQuery Script f&#252;r die Galerie</a></li><li><a href="http://dynamicinternet.eu/blog/2007-05-10/zwischenstop-pluginkarneval/" rel="bookmark" title="Permanent Link: Zwischenstop Pluginkarneval" class="liinternal">Zwischenstop Pluginkarneval</a></li><li><a href="http://dynamicinternet.eu/blog/2008-10-27/firefox-tabs/" rel="bookmark" title="Permanent Link: Firefox Tabs" class="liinternal">Firefox Tabs</a></li></ul><hr /><small>Copyright &copy; 2007-2010 dynamicinternet d9f9df690f8b5bb6036dfbdb77a9bd79</small>]]></content:encoded>
			<wfw:commentRss>http://dynamicinternet.eu/blog/2010-02-08/google-maps-im-tab-druckbare-tabs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Neues WordPress Default Theme Twenty Ten</title>
		<link>http://dynamicinternet.eu/blog/2010-02-07/neues-wordpress-default-theme-twenty-ten/</link>
		<comments>http://dynamicinternet.eu/blog/2010-02-07/neues-wordpress-default-theme-twenty-ten/#comments</comments>
		<pubDate>Sun, 07 Feb 2010 20:30:26 +0000</pubDate>
		<dc:creator>Micha</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[2010]]></category>
		<category><![CDATA[theme]]></category>
		<category><![CDATA[Twenty Ten]]></category>

		<guid isPermaLink="false">http://dynamicinternet.eu/?p=634</guid>
		<description><![CDATA[Das neue WordPress 2010 Theme ist im WordPress Trac. Wohlgemerkt, es handelt sich um einen first cut., der sich bis zum Releasetermin von WordPress 3.0 noch weiterentwickeln wird. Ich habe das Theme installiert und hier erst mal ein Screenshot:

Gegen&#252;ber dem in die Jahre gekommenen Default Theme wirkt es modern. Sch&#246;ne Details, eine bessere Typografie, mir [...]]]></description>
			<content:encoded><![CDATA[<p>Das neue WordPress 2010 Theme ist im WordPress Trac. Wohlgemerkt, es handelt sich um einen first cut., der sich bis zum Releasetermin von WordPress 3.0 noch weiterentwickeln wird. Ich habe das Theme installiert und hier erst mal ein Screenshot:<span id="more-634"></span></p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-635" title="WordPress Theme Twenty Ten" src="http://dynamicinternet.eu/blog/wp-content/uploads/2010/02/wordpress-theme-twenty-ten.jpg" alt="Screenshot von neuen WordPress Theme 2010" width="600" height="738" /></p>
<p>Gegen&#252;ber dem in die Jahre gekommenen Default Theme wirkt es modern. Sch&#246;ne Details, eine bessere Typografie, mir gef&#228;llt es.Zu den augenblicklichen Fetures:</p>
<p>Der Doctype ist jetzt HTML5. Die Sidebar besitzt 2 Widget Areas und eine Sidebar ist &#252;ber dem Footer angeordnet. Diese beinhaltet 4 Widget Zonen. Ich habe mal nur 3 bef&#252;llt, ratet mal, was da rauskommt? 3x 25% und eine leere <img src='http://dynamicinternet.eu/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />   . Ok, wie gesagt, es ist ein erster Schnappschuss.</p>
<p>Das Header Bild ist austauschbar und &#252;ber Konstanten in der functions.php konfigurierbar. Was mich etwas befremdet, ist, wenn man in der Beitragseinzelansicht ist und die Post ein Post-Thumbnail hat, wird das Post-Thumbnail im Header eingeblendet. Nich so mein Ding. Zumal es von den Abmessungen sowieso nie passt.<br />
<img class="size-full wp-image-636 aligncenter" title="Wordpress Theme 2010 Header" src="http://dynamicinternet.eu/blog/wp-content/uploads/2010/02/wordpress-theme-twenty-ten-header.jpg" alt="Wordpress Theme 2010 Header" width="600" height="176" /></p>
<p>Der Code sieht auch noch etwas grausam aus. In der index.php werden in einer Schleife 2 hardcoded Kategorien abgefragt. Ich glaube nicht, dass das so bleibt. Mir sieht der Code &#252;berhaupt nicht nach dem Entwickler Team aus.</p>
<p>Insgesamt ein gelungener Wurf, dem man im Augenblick noch keine Vorw&#252;rfe machen sollte, da sich noch Einiges bis zum Erscheinen &#228;ndern wird.</p>
<hr /><ul><li><a href="http://dynamicinternet.eu/blog/2007-11-06/neues-wordpress-theme/" rel="bookmark" title="Permanent Link: Neues WordPress Theme" class="liinternal">Neues WordPress Theme</a></li><li><a href="http://dynamicinternet.eu/blog/2008-05-23/neues-theme-yaml-green/" rel="bookmark" title="Permanent Link: Neues Theme YAML Green" class="liinternal">Neues Theme YAML Green</a></li><li><a href="http://dynamicinternet.eu/blog/2009-08-31/yaml-coffee-theme-neue-version/" rel="bookmark" title="Permanent Link: YAML Coffee Theme neue Version" class="liinternal">YAML Coffee Theme neue Version</a></li><li><a href="http://dynamicinternet.eu/blog/2009-01-27/wordpress-und-register_sidebar/" rel="bookmark" title="Permanent Link: WordPress und register_sidebar" class="liinternal">WordPress und register_sidebar</a></li><li><a href="http://dynamicinternet.eu/blog/2009-12-05/theme-uninstaller/" rel="bookmark" title="Permanent Link: Theme Uninstaller" class="liinternal">Theme Uninstaller</a></li></ul><hr /><small>Copyright &copy; 2007-2010 dynamicinternet d9f9df690f8b5bb6036dfbdb77a9bd79</small>]]></content:encoded>
			<wfw:commentRss>http://dynamicinternet.eu/blog/2010-02-07/neues-wordpress-default-theme-twenty-ten/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Neu in WordPress 3.0: Autor Templates</title>
		<link>http://dynamicinternet.eu/blog/2010-02-01/neu-in-wordpress-3-0-autor-templates/</link>
		<comments>http://dynamicinternet.eu/blog/2010-02-01/neu-in-wordpress-3-0-autor-templates/#comments</comments>
		<pubDate>Mon, 01 Feb 2010 15:38:55 +0000</pubDate>
		<dc:creator>Micha</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[author]]></category>
		<category><![CDATA[template]]></category>

		<guid isPermaLink="false">http://dynamicinternet.eu/?p=633</guid>
		<description><![CDATA[In WordPress 3.0 wird es m&#246;glich sein, spezielle Autor Templates aufzurufen. Dazu wurde in der wp-includes/theme.php die Funktion get_author_template() erweitert.
So ist es jetzt m&#246;glich, eine author-michael.php oder author-123.php anzufertigen, die dann bei dem Autor mit dem Spitznamen (user_nicename) michael bzw. mit der ID 123 &#252;ber die WordPress Template Hierarchie aufgerufen wird.
Ein ♥ f&#252;r BlogsWordPress MU [...]]]></description>
			<content:encoded><![CDATA[<p>In WordPress 3.0 wird es m&#246;glich sein, spezielle Autor Templates aufzurufen. Dazu wurde in der wp-includes/theme.php die Funktion <strong>get_author_template()</strong> erweitert.</p>
<p>So ist es jetzt m&#246;glich, eine author-michael.php oder author-123.php anzufertigen, die dann bei dem Autor mit dem Spitznamen (user_nicename) michael bzw. mit der ID 123 &#252;ber die WordPress Template Hierarchie aufgerufen wird.</p>
<hr /><ul><li><a href="http://dynamicinternet.eu/blog/2009-04-21/ein-fuer-blogs/" rel="bookmark" title="Permanent Link: Ein ♥ f&#252;r Blogs" class="liinternal">Ein ♥ f&#252;r Blogs</a></li><li><a href="http://dynamicinternet.eu/blog/2009-11-22/wordpress-mu-sprachabhaengige-templates-einbinden/" rel="bookmark" title="Permanent Link: WordPress MU sprachabh&#228;ngige Templates einbinden" class="liinternal">WordPress MU sprachabh&#228;ngige Templates einbinden</a></li><li><a href="http://dynamicinternet.eu/blog/2008-12-18/antispam-idee-fuer-wordpress/" rel="bookmark" title="Permanent Link: Antispam Idee f&#252;r WordPress" class="liinternal">Antispam Idee f&#252;r WordPress</a></li><li><a href="http://dynamicinternet.eu/blog/2007-09-06/ext-js-news-02/" rel="bookmark" title="Permanent Link: Ext JS News 02" class="liinternal">Ext JS News 02</a></li><li><a href="http://dynamicinternet.eu/blog/2009-01-03/wordpress-plugin-antispam-bee-kein-stress-mehr-mit-spam/" rel="bookmark" title="Permanent Link: WordPress Plugin Antispam Bee &#8211; kein Stress mehr mit Spam" class="liinternal">WordPress Plugin Antispam Bee &#8211; kein Stress mehr mit Spam</a></li></ul><hr /><small>Copyright &copy; 2007-2010 dynamicinternet d9f9df690f8b5bb6036dfbdb77a9bd79</small>]]></content:encoded>
			<wfw:commentRss>http://dynamicinternet.eu/blog/2010-02-01/neu-in-wordpress-3-0-autor-templates/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Flexi Pages Widget für WordPress</title>
		<link>http://dynamicinternet.eu/blog/2010-01-27/flexi-pages-widget-fuer-wordpress/</link>
		<comments>http://dynamicinternet.eu/blog/2010-01-27/flexi-pages-widget-fuer-wordpress/#comments</comments>
		<pubDate>Wed, 27 Jan 2010 21:50:11 +0000</pubDate>
		<dc:creator>Micha</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[sidebar]]></category>

		<guid isPermaLink="false">http://dynamicinternet.eu/?p=632</guid>
		<description><![CDATA[In einem der letzten Beitr&#228;ge hatte ich eine spezielle L&#246;sung f&#252;r eine Seitennavigation vorgestellt. Dort werden immer alle Unterseiten einer in der Topnavigation befindlichen Seite angezeigt. Hat man es aber mit mehreren Unterseiten zu tun, die ebenfalls mehrere Unterseiten haben, wird die Liste in der Sidebar ziemlich lang.
Mike fragte mich, ob es nicht m&#246;glich w&#228;re, [...]]]></description>
			<content:encoded><![CDATA[<p>In einem der letzten Beitr&#228;ge hatte ich eine spezielle L&#246;sung f&#252;r eine <a href="http://dynamicinternet.eu/blog/2010-01-01/eine-seitennavigation-fuer-die-sidebar/" title="WordPress Seitennavigation" class="liinternal">Seitennavigation</a> vorgestellt. Dort werden immer alle Unterseiten einer in der Topnavigation befindlichen Seite angezeigt. Hat man es aber mit mehreren Unterseiten zu tun, die ebenfalls mehrere Unterseiten haben, wird die Liste in der Sidebar ziemlich lang.<span id="more-632"></span></p>
<p><a href="http://trash-wissen.de" title="mikes Blog" class="liexternal">Mike</a> fragte mich, ob es nicht m&#246;glich w&#228;re, Unterseiten erst nach einem Klick auf die &#8220;Vaterseite&#8221; anzuzeigen. Das h&#228;tte nat&#252;rlich den Vorteil, das die Seitenliste in der Sidebar nicht so lang ist und nur diejenigen Unterseiten angezeigt werden, die gerade von Interesse sind.</p>
<p>Nachdem ich erstmal selber versucht habe, das Problem zu l&#246;sen, merkte ich schnell, das da mit ein paar Zeilen Code nichts zu machen ist. <a href="http://blogdrauf.de" title="Alex Frison" class="liexternal">Alex</a> wies mich auf das <a href="http://wordpress.org/extend/plugins/flexi-pages-widget/" title="Flexi Pages Widget Plugin" class="liexternal">Plugin Flexi Pages Widget</a> hin, welches ihm schon gute Dienste erwiesen hat. Ich habe das Plugin installiert und es bietet tats&#228;chlich eine Menge Einstellm&#246;glichkeiten, seine Seitennavigation zu beeinflussen. Wie der Name schon sagt, man findet es unter den Widgets. Das Sch&#246;ne ist jedoch, man mu&#223; es nicht als Widget nutzen, sondern man kann auch den Template_Tag <strong>flexipages</strong> mit zahlreichen Parametern direkt benutzen. Eine Auflistung aller Parameter nebst Erkl&#228;rung findet man <a href="http://wordpress.org/extend/plugins/flexi-pages-widget/other_notes/" title="Flexi Pages Widget Plugin" class="liexternal">hier</a>.</p>
<p>In meinem Fall sieht das so aus:</p>

<div class="wp_syntax"><div class="code"><pre class="php"><span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #000033;">$child_of</span> <span style="color: #339933;">=</span> wpe_highest_ancestor<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
&nbsp;
    <span style="color: #339933;">&lt;</span>ul <span style="color: #000000; font-weight: bold;">class</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;sidebar&quot;</span><span style="color: #339933;">&gt;</span>
      <span style="color: #339933;">&lt;</span>li<span style="color: #339933;">&gt;&lt;</span>h3<span style="color: #339933;">&gt;&lt;</span>?php <span style="color: #990000;">echo</span> esc_attr<span style="color: #009900;">&#40;</span>get_the_title<span style="color: #009900;">&#40;</span><span style="color: #000033;">$child_of</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> ?<span style="color: #339933;">&gt;&lt;/</span>h3<span style="color: #339933;">&gt;</span>
<span style="color: #000000; font-weight: bold;">&lt;?php</span> flexipages<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'child_of='</span> <span style="color: #339933;">.</span> <span style="color: #000033;">$child_of</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'&amp;show_subpages=2&amp;sort_column=menu_order&amp;sort_order=asc'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
      <span style="color: #339933;">&lt;/</span>li<span style="color: #339933;">&gt;</span>
    <span style="color: #339933;">&lt;/</span>ul<span style="color: #339933;">&gt;</span></pre></div></div>

<p>Fazit: Sehr empfehlenswert!</p>
<hr /><ul><li><a href="http://dynamicinternet.eu/blog/2009-12-01/wordpress-kommentar-widget/" rel="bookmark" title="Permanent Link: WordPress Kommentar Widget" class="liinternal">WordPress Kommentar Widget</a></li><li><a href="http://dynamicinternet.eu/blog/2009-12-24/wp-engineer-quit-smoking-widget/" rel="bookmark" title="Permanent Link: WP Engineer Quit Smoking Widget" class="liinternal">WP Engineer Quit Smoking Widget</a></li><li><a href="http://dynamicinternet.eu/blog/2007-06-21/wordpress-221-erschienen/" rel="bookmark" title="Permanent Link: Wordpress 2.2.1 erschienen" class="liinternal">Wordpress 2.2.1 erschienen</a></li><li><a href="http://dynamicinternet.eu/blog/2009-04-21/ein-fuer-blogs/" rel="bookmark" title="Permanent Link: Ein ♥ f&#252;r Blogs" class="liinternal">Ein ♥ f&#252;r Blogs</a></li><li><a href="http://dynamicinternet.eu/blog/2008-10-27/wordpress-sticky-posts-teil-3/" rel="bookmark" title="Permanent Link: WordPress Sticky Posts &#8211; Teil 3" class="liinternal">WordPress Sticky Posts &#8211; Teil 3</a></li></ul><hr /><small>Copyright &copy; 2007-2010 dynamicinternet d9f9df690f8b5bb6036dfbdb77a9bd79</small>]]></content:encoded>
			<wfw:commentRss>http://dynamicinternet.eu/blog/2010-01-27/flexi-pages-widget-fuer-wordpress/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>WordPress 3.0 Network Settings</title>
		<link>http://dynamicinternet.eu/blog/2010-01-19/wordpress-3-0-network-settings/</link>
		<comments>http://dynamicinternet.eu/blog/2010-01-19/wordpress-3-0-network-settings/#comments</comments>
		<pubDate>Tue, 19 Jan 2010 18:25:59 +0000</pubDate>
		<dc:creator>Micha</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Multisite]]></category>
		<category><![CDATA[WP3.0]]></category>

		<guid isPermaLink="false">http://dynamicinternet.eu/?p=626</guid>
		<description><![CDATA[Hier 2 Screenshots  von den neuen WordPress 3.0 Multisite Einstellungen. Man findet sie unter Optionen-&#62;Network:

Nachdem man im ersten Schritt seine Einstellungen get&#228;tigt hat, er&#228;lt man im 2. Schritt die Inhalte f&#252;r die wp-config.php und die .htaccess. Zus&#228;tzlich mu&#223; man noch inm Verzeichnis wp-content ein Unterverzeichnis blogs.dir erstellen, in dem sp&#228;ter die Medien-Dateien f&#252;r die einzelnen [...]]]></description>
			<content:encoded><![CDATA[<p>Hier 2 Screenshots  von den neuen WordPress 3.0 Multisite Einstellungen. Man findet sie unter Optionen-&gt;Network:</p>
<p><a href="http://dynamicinternet.eu/blog/wp-content/uploads/2010/01/wordpress-3.0-network-settings.jpg" ><img class="aligncenter size-full wp-image-629" title="WordPress 3.0 Network Settings" src="http://dynamicinternet.eu/blog/wp-content/uploads/2010/01/wordpress-3.0-network-settings.jpg" alt="WordPress 3.0 Network Settings" width="600" height="476" /></a></p>
<p>Nachdem man im ersten Schritt seine Einstellungen get&#228;tigt hat, er&#228;lt man im 2. Schritt die Inhalte f&#252;r die wp-config.php und die .htaccess. Zus&#228;tzlich mu&#223; man noch inm Verzeichnis wp-content ein Unterverzeichnis blogs.dir erstellen, in dem sp&#228;ter die Medien-Dateien f&#252;r die einzelnen Blogs abgelegt werden.<span id="more-626"></span></p>
<p><a href="http://dynamicinternet.eu/blog/wp-content/uploads/2010/01/wordpress-3.0-network-settings-1.jpg" ><img class="aligncenter size-full wp-image-630" title="WordPress 3.0 Network Settings" src="http://dynamicinternet.eu/blog/wp-content/uploads/2010/01/wordpress-3.0-network-settings-1.jpg" alt="WordPress 3.0 Network Settings" width="600" height="596" /></a></p>
<p>Da sich WordPress 3.0 noch in der Entwicklung befindet, kann sich nat&#252;rlich bis zum endg&#252;ltigen Release eine Menge &#228;ndern.</p>
<hr /><ul><li><a href="http://dynamicinternet.eu/blog/2008-09-25/kommentar-pagination-reply-tiefe/" rel="bookmark" title="Permanent Link: Kommentar Pagination und Reply Tiefe in WordPress 2.7" class="liinternal">Kommentar Pagination und Reply Tiefe in WordPress 2.7</a></li><li><a href="http://dynamicinternet.eu/blog/2009-06-26/xtreme-contentslider/" rel="bookmark" title="Permanent Link: Xtreme Contentslider" class="liinternal">Xtreme Contentslider</a></li><li><a href="http://dynamicinternet.eu/blog/2009-07-21/wordpress-und-php-5-3/" rel="bookmark" title="Permanent Link: WordPress und PHP 5.3" class="liinternal">WordPress und PHP 5.3</a></li><li><a href="http://dynamicinternet.eu/blog/2009-11-03/wordpress-2-9-add_theme_support-und-has_post_image/" rel="bookmark" title="Permanent Link: WordPress 2.9 add_theme_support und has_post_image" class="liinternal">WordPress 2.9 add_theme_support und has_post_image</a></li><li><a href="http://dynamicinternet.eu/blog/2009-11-06/eine-loesung-fuer-die-wordpress-galerie/" rel="bookmark" title="Permanent Link: Eine L&#246;sung f&#252;r die WordPress Galerie" class="liinternal">Eine L&#246;sung f&#252;r die WordPress Galerie</a></li></ul><hr /><small>Copyright &copy; 2007-2010 dynamicinternet d9f9df690f8b5bb6036dfbdb77a9bd79</small>]]></content:encoded>
			<wfw:commentRss>http://dynamicinternet.eu/blog/2010-01-19/wordpress-3-0-network-settings/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Antispam Bee – Meine WordPress Antispam Lösung</title>
		<link>http://dynamicinternet.eu/blog/2010-01-04/antispam-bee-wordpress-antispam-loesung/</link>
		<comments>http://dynamicinternet.eu/blog/2010-01-04/antispam-bee-wordpress-antispam-loesung/#comments</comments>
		<pubDate>Mon, 04 Jan 2010 00:09:53 +0000</pubDate>
		<dc:creator>Micha</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[spam]]></category>

		<guid isPermaLink="false">http://dynamicinternet.eu/?p=622</guid>
		<description><![CDATA[Wer letztlich als erster auf die Idee kam, seine Antispam L&#246;sung in einem Blogbeitrag vorzustellen, kann ich nicht sagen. Beteiligt waren auf jeden Fall @bueltge, @toscho und @sir_pepe. Wer ebenfalls einen Beitrag &#252;ber seine eingesetzten Antispam Techniken schreiben m&#246;chte, dem empfehle ich Toscho&#8217;s Checkliste, die er f&#252;r diesen Zweck erstellt hat.
Hier also meine eingesetzte L&#246;sung: [...]]]></description>
			<content:encoded><![CDATA[<p>Wer letztlich als erster auf die Idee kam, seine Antispam L&#246;sung in einem Blogbeitrag vorzustellen, kann ich nicht sagen. Beteiligt waren auf jeden Fall <a href="http://twitter.com/bueltge" title="Folge Frank" class="liexternal">@bueltge</a>, <a href="http://twitter.com/toscho" title="Folge toscho" class="liexternal">@toscho</a> und <a href="http://twitter.com/sir_pepe" title="Folge sir_pepe" class="liexternal">@sir_pepe</a>. Wer ebenfalls einen Beitrag &#252;ber seine eingesetzten Antispam Techniken schreiben m&#246;chte, dem empfehle ich <a href="http://toscho.de/2010/kriterien-vergleich-antispam/" title="Antispam Checkliste von Toscho" class="liexternal">Toscho&#8217;s Checkliste</a>, die er f&#252;r diesen Zweck erstellt hat.<span id="more-622"></span></p>
<p>Hier also meine eingesetzte L&#246;sung: <a href="http://antispambee.de/" title="Antispam Bee f&#252;r WordPress" class="liexternal">Antispam Bee</a> von meinem Freund <a href="http://ebiene.de" title="Sergej M&#252;ller" class="liexternal">Sergej M&#252;ller</a>.</p>
<p>Ich war damals Betatester von Antispambee und seit dem l&#228;uft es auf allen meinen Blogs. Seit dieser Zeit hat es sich zu einem ausgewaschsenen Plugin entwickelt. Genaue Zahlen kann ich nicht liefern. Bei wpengineer.com haben wir in einem Jahr ca. 22000 Spamkommentare eingefangen, den Gro&#223;teil hat Antispam Bee geblockt. Nach einer Phase, wo ich die Spamkommentare nur markiert hatte, habe ich seit geraumer Zeit (auch wegen extrem h&#228;ufigen russischen Spam) den Spam auf sofort l&#246;schen gestellt.</p>
<p>Die Installation von Antispambee ist denkbar einfach. Hochladen, aktivieren und ein paar Einstellungen vornehmen. Das wars. &#196;nderungen am Theme sind nicht durchzuf&#252;hren. Die einzig sichtbare &#196;nderung ist das Austauschen der Textarea im Kommentarformular, welches automatisch passiert. Wen die Arbeitsweise von Antispam Bee interessiert, der sollte sich Sergej&#8217;s Code anschauen <img src='http://dynamicinternet.eu/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Die Vorteile von Antispam Bee</p>
<ul>
<li>keinerlei &#196;nderungen am Theme</li>
<li>keine zus&#228;tzlichen Barrieren f&#252;r den Kommentator wie Captcha oder Rechenaufgabe</li>
<li>kein Javascript erforderlich</li>
<li>einfache Installation</li>
<li>extrem hohe Trefferquote</li>
<li>es werden keine Daten an Dritte &#252;bermittelt</li>
<li>macht Akismet quasi &#252;berfl&#252;ssig</li>
</ul>
<p>Nachteile von Antispam Bee</p>
<p>Antispam Bee hilft nat&#252;rlich nicht gegen manuellen Spam von Forenbesitzern und Gardinenstangen-Theos. Kann es auch garnicht.</p>
<p>Eine Sache sollte man ebenfalls kritisch betrachten. Wenn man Akismet abschaltet, weil man es nicht mehr braucht, werden die Daten der Spammer nicht mehr in die Akismet Datenbank eingetragen (und die unz&#228;hligen richtigen Kommentare auch nicht).</p>
<p>Was k&#246;nnte verbessert werden? Sergej, h&#228;ng dich via Filter in das Akismet Plugin und &#252;bermittle nur die Spamkommentare <img src='http://dynamicinternet.eu/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Weitere Artikel zu diesem Thema (bitte melden, wenn einer fehlt)</p>
<ul>
<li>Frank B&#252;ltge: <a href="http://bueltge.de/wp-js-antispam-plugin/418/" title="Plugin vom Frank" class="liexternal">WP &#8211; JS AntiSpam Plugin</a></li>
<li>Toscho: <a href="http://toscho.de/2010/spam-verhindern-akismet-htaccess/" title="Toschos Beitrag" class="liexternal">Spam verhindern mit Akismet und .htaccess</a></li>
<li>Ocean90: <a href="http://ocean90.wphelper.de/3192/antispam-bee-spam-entkommen/" title="Beitrag von Ocean90" class="liexternal">Biene versus Spam oder mit Antispam Bee dem Spam entkommen</a></li>
<li>Dieter Welzel: <a href="http://www.webseiten-infos.de/spam-schutz-auf-webseiten-infos-de/" title="zum Beitrag von Dieter Welzel" class="liexternal">Spamschutz auf Webseiten-Infos.de</a></li>
</ul>
<hr /><ul><li><a href="http://dynamicinternet.eu/blog/2009-01-03/wordpress-plugin-antispam-bee-kein-stress-mehr-mit-spam/" rel="bookmark" title="Permanent Link: WordPress Plugin Antispam Bee &#8211; kein Stress mehr mit Spam" class="liinternal">WordPress Plugin Antispam Bee &#8211; kein Stress mehr mit Spam</a></li><li><a href="http://dynamicinternet.eu/blog/2008-12-18/antispam-idee-fuer-wordpress/" rel="bookmark" title="Permanent Link: Antispam Idee f&#252;r WordPress" class="liinternal">Antispam Idee f&#252;r WordPress</a></li><li><a href="http://dynamicinternet.eu/blog/2009-11-30/die-wordpress-galerieloesung-ist-nun-im-trac/" rel="bookmark" title="Permanent Link: Die WordPress Galeriel&#246;sung ist nun im Trac" class="liinternal">Die WordPress Galeriel&#246;sung ist nun im Trac</a></li><li><a href="http://dynamicinternet.eu/blog/2009-11-06/eine-loesung-fuer-die-wordpress-galerie/" rel="bookmark" title="Permanent Link: Eine L&#246;sung f&#252;r die WordPress Galerie" class="liinternal">Eine L&#246;sung f&#252;r die WordPress Galerie</a></li><li><a href="http://dynamicinternet.eu/blog/2009-01-30/wordpress-richtig-schreiben/" rel="bookmark" title="Permanent Link: WordPress richtig schreiben" class="liinternal">WordPress richtig schreiben</a></li></ul><hr /><small>Copyright &copy; 2007-2010 dynamicinternet d9f9df690f8b5bb6036dfbdb77a9bd79</small>]]></content:encoded>
			<wfw:commentRss>http://dynamicinternet.eu/blog/2010-01-04/antispam-bee-wordpress-antispam-loesung/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Eine Seitennavigation für die Sidebar</title>
		<link>http://dynamicinternet.eu/blog/2010-01-01/eine-seitennavigation-fuer-die-sidebar/</link>
		<comments>http://dynamicinternet.eu/blog/2010-01-01/eine-seitennavigation-fuer-die-sidebar/#comments</comments>
		<pubDate>Fri, 01 Jan 2010 20:26:41 +0000</pubDate>
		<dc:creator>Micha</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[sidebar]]></category>
		<category><![CDATA[template tags]]></category>

		<guid isPermaLink="false">http://dynamicinternet.eu/?p=620</guid>
		<description><![CDATA[Wer WordPress f&#252;r Firmenwebseiten einsetzt, hat meistens mit statischen Seiten zu tun, die in einem Hierarchie-Baum abgelegt sind. Um diese Seiten f&#252;r den Nutzer erreichbar zu machen, gibt es viele M&#246;glichkeiten.
In diesem Beitrag m&#246;chte ich ein Beispiel zeigen, in dem sich die Hauptseiten in einer horizontalen Navigation befinden. Die jeweiligen Unterseiten werden beim Klick auf [...]]]></description>
			<content:encoded><![CDATA[<p>Wer WordPress f&#252;r Firmenwebseiten einsetzt, hat meistens mit statischen Seiten zu tun, die in einem Hierarchie-Baum abgelegt sind. Um diese Seiten f&#252;r den Nutzer erreichbar zu machen, gibt es viele M&#246;glichkeiten.</p>
<p>In diesem Beitrag m&#246;chte ich ein Beispiel zeigen, in dem sich die Hauptseiten in einer horizontalen Navigation befinden. Die jeweiligen Unterseiten werden beim Klick auf die Hauptseite in der Sidebar angezeigt.</p>
<p><span id="more-620"></span></p>
<p>Zum besseren Verst&#228;ndnis nehmen wir folgende Seiten-Struktur:</p>
<ul>
<li>Home</li>
<li>Software
<ul>
<li>Bildbearbeitung
<ul>
<li>Adobe Photoshop</li>
<li>Gimp</li>
</ul>
</li>
<li>Content Managment Systeme
<ul>
<li>WordPress</li>
<li>Drupal</li>
<li>Joomla</li>
</ul>
</li>
</ul>
</li>
<li>Hardware</li>
<li>About us</li>
</ul>
<p>Die Seiten Home, Software, Hardware und About us befinden sich in der horizonatlen Navigation. Wenn der Nutzer beispielsweise auf Software klickt, sollen in der Sidebar alle Unterseiten von Software angezeigt werden.</p>
<p>WorPress stellt f&#252;r solche Aufgaben den Template Tag <strong>wp_list_pages()</strong> mit zahlreichen Parametern zur Verf&#252;gung. Da wir aber nicht alle Seiten angezeigt haben wollen, ist f&#252;r uns der Parameter <strong>child_of</strong> interessant. Der Parameter child_of gefolgt von einer ID listet alle Unterseiten eben dieser Seite, wenn welche vorhanden sind.</p>

<div class="wp_syntax"><div class="code"><pre class="php"><span style="color: #000000; font-weight: bold;">&lt;?php</span> wp_list_pages<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'child_of='</span><span style="color: #339933;">.</span>get_the_ID<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'&amp;title_li=&lt;h5&gt;'</span><span style="color: #339933;">.</span>__<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Pages'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'&lt;/h5&gt;'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>Jetzt kommen wir zum eigentlichen Problem. Klickt man jetzt auf Content Managment Systeme in der Sidebar, erscheinen nur noch die Seiten WordPress, Drupal und Joomla. Die &#220;bergeordneten Seiten sind weg. Logisch, es werden ja nur die Kinder der aktuellen Seite angezeigt und die ist Content Managment Systeme. F&#252;r unser Problem brauchen wir aber immer die oberste Seite. Auch da hilft WordPress weiter. Es gibt eine Funktion get_post_ancestors, die alle &#252;bergeordneten Seiten in einem Array zur&#252;ckliefert. Probiert mal folgendes aus:</p>

<div class="wp_syntax"><div class="code"><pre class="php"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #000033;">$my_page</span> <span style="color: #339933;">=</span> get_the_ID<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000033;">$anchestors</span> <span style="color: #339933;">=</span> get_post_ancestors<span style="color: #009900;">&#40;</span><span style="color: #000033;">$my_page</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">var_dump</span><span style="color: #009900;">&#40;</span><span style="color: #000033;">$anchestors</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Klick auf Software</span>
<span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Klick auf Content Managnet Systeme</span>
<span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=&gt;</span>  string<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span> <span style="color: #0000ff;">&quot;63&quot;</span> <span style="color: #009900;">&#125;</span>
<span style="color: #666666; font-style: italic;">// 63 ist die ID von Software</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Klick auf WordPress</span>
<span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=&gt;</span>  string<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span> <span style="color: #0000ff;">&quot;65&quot;</span> <span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=&gt;</span>  string<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span> <span style="color: #0000ff;">&quot;63&quot;</span> <span style="color: #009900;">&#125;</span>
<span style="color: #666666; font-style: italic;">// 65 ist die ID von WordPress</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>Das w&#252;rde immer so weitergehen, je tiefer die Hierarchie verschachtelt ist. Wichtig f&#252;r uns sind 2 Sachen: die oberste Seite steht immer am Ende des Arrays und es kann ein leeres Array zur&#252;ck kommen. Also gehen wir einfach an das Ende des Arrays und f&#252;r den Fall, das es keine &#252;bergeordnete Seite gibt, geben wir alle Unterseiten dieser Seite aus. Dazu schreiben wir eine Funktion in unserer functions.php, da sie dort einfacher zu pflegen ist und auch in mehreren Sidebars verwendet werden kann:</p>

<div class="wp_syntax"><div class="code"><pre class="php"><span style="color: #000000; font-weight: bold;">function</span> wpe_highest_ancestor<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
    <span style="color: #990000;">global</span> <span style="color: #000033;">$post</span><span style="color: #339933;">;</span>
    <span style="color: #000033;">$page_ancestors</span> <span style="color: #339933;">=</span> <span style="color: #990000;">end</span><span style="color: #009900;">&#40;</span><span style="color: #000033;">$post</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">ancestors</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000033;">$page_ancestors</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
        <span style="color: #000033;">$child_of</span> <span style="color: #339933;">=</span> <span style="color: #000033;">$page_ancestors</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span><span style="color: #b1b100;">else</span><span style="color: #009900;">&#123;</span>
        <span style="color: #000033;">$child_of</span> <span style="color: #339933;">=</span> <span style="color: #000033;">$post</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">ID</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #b1b100;">return</span> <span style="color: #000033;">$child_of</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Jetzt wird diese Funktion in der Sidebar benutzt:</p>

<div class="wp_syntax"><div class="code"><pre class="php"><span style="color: #339933;">&lt;</span>ul <span style="color: #000000; font-weight: bold;">class</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;sidebar&quot;</span><span style="color: #339933;">&gt;</span>
  <span style="color: #000000; font-weight: bold;">&lt;?php</span> wp_list_pages<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'child_of='</span> <span style="color: #339933;">.</span> wpe_highest_ancestor<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
<span style="color: #339933;">&lt;/</span>ul<span style="color: #339933;">&gt;</span></pre></div></div>

<p>M&#246;chte man den Namen der obersten Seite mit in der Sidebar haben, kann man folgenden Code verwenden:</p>

<div class="wp_syntax"><div class="code"><pre class="php"><span style="color: #339933;">&lt;</span>ul <span style="color: #000000; font-weight: bold;">class</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;sidebar&quot;</span><span style="color: #339933;">&gt;</span>
  <span style="color: #000000; font-weight: bold;">&lt;?php</span>
  <span style="color: #000033;">$child_of</span> <span style="color: #339933;">=</span> wpe_highest_ancestor<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  wp_list_pages<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'child_of='</span><span style="color: #339933;">.</span><span style="color: #000033;">$child_of</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'&amp;title_li=&lt;h5&gt;'</span><span style="color: #339933;">.</span>esc_attr<span style="color: #009900;">&#40;</span>get_the_title<span style="color: #009900;">&#40;</span><span style="color: #000033;">$child_of</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'&lt;/h5&gt;'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #000000; font-weight: bold;">?&gt;</span>
<span style="color: #339933;">&lt;/</span>ul<span style="color: #339933;">&gt;</span></pre></div></div>

<p>Wie man sieht, ist es relativ einfach, mit WordPress entsprechende L&#246;sungen zu erzielen.</p>
<hr /><ul><li><a href="http://dynamicinternet.eu/blog/2010-01-27/flexi-pages-widget-fuer-wordpress/" rel="bookmark" title="Permanent Link: Flexi Pages Widget f&#252;r WordPress" class="liinternal">Flexi Pages Widget f&#252;r WordPress</a></li><li><a href="http://dynamicinternet.eu/blog/2009-07-04/xtreme-nun-mit-6-layouts/" rel="bookmark" title="Permanent Link: Xtreme &#8211; nun mit 6 Layouts" class="liinternal">Xtreme &#8211; nun mit 6 Layouts</a></li><li><a href="http://dynamicinternet.eu/blog/2009-08-31/yaml-coffee-theme-neue-version/" rel="bookmark" title="Permanent Link: YAML Coffee Theme neue Version" class="liinternal">YAML Coffee Theme neue Version</a></li><li><a href="http://dynamicinternet.eu/blog/2009-04-21/ein-fuer-blogs/" rel="bookmark" title="Permanent Link: Ein ♥ f&#252;r Blogs" class="liinternal">Ein ♥ f&#252;r Blogs</a></li><li><a href="http://dynamicinternet.eu/blog/2007-11-28/teil-4-des-wordpress-theme-tutorials/" rel="bookmark" title="Permanent Link: Teil 4 des WordPress Theme Tutorials" class="liinternal">Teil 4 des WordPress Theme Tutorials</a></li></ul><hr /><small>Copyright &copy; 2007-2010 dynamicinternet d9f9df690f8b5bb6036dfbdb77a9bd79</small>]]></content:encoded>
			<wfw:commentRss>http://dynamicinternet.eu/blog/2010-01-01/eine-seitennavigation-fuer-die-sidebar/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
	</channel>
</rss>
