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

<channel>
	<title>bueltge.de [by:ltge.de]</title>
	<atom:link href="http://bueltge.de/feed/" rel="self" type="application/rss+xml" />
	<link>http://bueltge.de</link>
	<description>Frank Bültge schreibt auf bueltge.de zu den Themen Webdesign, WordPress, Literatur und andere Themen bezüglich Internet und Webentwicklung</description>
	<lastBuildDate>Wed, 17 Mar 2010 13:23:29 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
	<atom:link rel='hub' href='http://bueltge.de/?pushpress=hub'/>
		<item>
		<title>Das wahre Netzwerk</title>
		<link>http://bueltge.de/das-wahre-netzwerk/1129/</link>
		<comments>http://bueltge.de/das-wahre-netzwerk/1129/#comments</comments>
		<pubDate>Mon, 08 Mar 2010 10:14:46 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Information]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1129</guid>
		<description><![CDATA[Ich danke für die netten Gespräche auf der CeBIT 2010 und nehme tolle Kontakte und Gespräche mit.]]></description>
			<content:encoded><![CDATA[<p>Ob die CeBIT einen Mehrwert hat und eine Bereicherung ist, das mag dahingestellt sein - <a href="http://inpsyde.com/">wir</a> als Dienstleister mit/für WordPress und Beitreiber von <a href="http://blog.wordpress-deutschland.org/">WordPress Deutschland</a> haben eine tolle Erfahrung am eigenen Stand gemacht. Ich möchte einfach nochmal über mein kleines Blog Danke sagen - danke an die netten Gespräche, die netten Kontakte, die vielen Anfragen und Interessen in Richtung WordPress.<br />
<span id="more-1129"></span><br />
Erstaunt war ich, dass man WordPress immer so wenig zutraut - ich denke, dass der eine oder andere unsere Beispiele und Ausführungen recht spannend fand.<br />
Schade war, dass die &#8222;Beutelratten&#8220; am Samstag die Tageseindrücke ein wenig trübten.</p>
<p>Sehr schön fand ich die netten Gespräche außerhalb vom Stand und dem Thema WordPress am Freitag Abend bei T3N - danke hier auch an <a href="http://yeebase.com/team/">das Team</a> für die Getränke und Gespräche. Nun hat man mal ein Gesicht zum Mail-Kontakt.</p>
<p><img class="centered" src="http://bueltge.de/wp-content/images/luhm_bueltge_kubani_cebit20.jpg" alt="T.Luhm F.Bueltge R.Kubani CeBIT 2010" title="T.Luhm F.Bueltge R.Kubani CeBIT 2010" /></p>
<p><img class="centered" src="http://bueltge.de/wp-content/images/kubani_bueltge_windisch_hei.jpg" alt="R.Kubani F.Bueltge R.Windisch R.Heigl CeBIT 2010" title="R.Kubani F.Bueltge R.Windisch R.Heigl CeBIT 2010" /></p>
<p><img class="centered" src="http://bueltge.de/wp-content/images/cebitende.jpg" alt="Nach dem Sturm auf der CeBIT 2010" title="Nach dem Sturm auf die CeBIT 2010" /><br />
Danke an <a href="http://luhm.de/">Thorsten</a>, <a href="http://www.hallowelt.biz/die-medienwerkstatt/team/#c22">Radovan</a> und <a href="http://blog.zeitgrund.de/">Olaf</a> für die Bilder.<br />
<hr />
<p style="float:right;"><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/></p>
<p><small>&copy; <a href="http://bueltge.de/">Frank Bültge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p style="border: 1px solid #666666; padding: 5px; background: #e6e6e6 none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; display: block; margin-bottom: 25px;"><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>!</p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/das-wahre-netzwerk/1129/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/luhm_bueltge_kubani_cebit20.jpg" />
		<media:content url="http://bueltge.de/wp-content/images/luhm_bueltge_kubani_cebit20.jpg" medium="image">
			<media:title type="html">T.Luhm F.Bueltge R.Kubani CeBIT 2010</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/images/kubani_bueltge_windisch_hei.jpg" medium="image">
			<media:title type="html">R.Kubani F.Bueltge R.Windisch R.Heigl CeBIT 2010</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/images/cebitende.jpg" medium="image">
			<media:title type="html">Nach dem Sturm auf die CeBIT 2010</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>CeBIT 2010: ich, du, er, sie, es - Lust auf ein Treffen?</title>
		<link>http://bueltge.de/cebit-2010-ich-du-er-sie-es-lust-auf-ein-treffen/1126/</link>
		<comments>http://bueltge.de/cebit-2010-ich-du-er-sie-es-lust-auf-ein-treffen/1126/#comments</comments>
		<pubDate>Wed, 03 Mar 2010 18:20:14 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Information]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1126</guid>
		<description><![CDATA[Lust auf ein Treffen in Hannover zur Cebit?]]></description>
			<content:encoded><![CDATA[<p>War ich am Wochenende noch <a href="http://www.werrataltriathlon.de/php/gen_1200.htm">Untertage</a> und habe meine aktuell gestressten Geist durch körperlichen Stress entlastet, so werde ich am Freitag und Samstag auf der CeBIT sein, am Stand von <a href="http://www.linux-magazin.de/Themengebiete/Special/Cebit-2010/Projekte/Cebit-Open-Source-2010-Projektpraesentation-Wordpress-und-Buddypress?special=Cebit%202010&#038;category=44843">WordPress und BuddyPress</a>, welcher durch die <a href="http://inpsyde.com/">Inpsyde GmbH</a> unterhalten wird.</p>
<p>Vielleicht hat ja der eine oder andere Lust auf ein Schwätzchen, oder auch ein Treffen am Samstag Abend - Vorschläge von Locals sind willkommen - <a href="http://www.robertbasic.de/tag/cafehaus/">Cafehaustalk</a> wäre toll?<br />
<span id="more-1126"></span><br />
<img class="centered" src="http://bueltge.de/wp-content/images/merkerslauf-2010.jpg" alt="Untertagelauf in Merkers 2010" /><br />
<hr />
<p style="float:right;"><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/></p>
<p><small>&copy; <a href="http://bueltge.de/">Frank Bültge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p style="border: 1px solid #666666; padding: 5px; background: #e6e6e6 none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; display: block; margin-bottom: 25px;"><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>!</p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/cebit-2010-ich-du-er-sie-es-lust-auf-ein-treffen/1126/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/merkerslauf-2010.jpg" />
		<media:content url="http://bueltge.de/wp-content/images/merkerslauf-2010.jpg" medium="image">
			<media:title type="html">Untertagelauf in Merkers 2010</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>End of Work</title>
		<link>http://bueltge.de/end-of-work/1125/</link>
		<comments>http://bueltge.de/end-of-work/1125/#comments</comments>
		<pubDate>Wed, 24 Feb 2010 12:26:05 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[blogpause]]></category>
		<category><![CDATA[Urlaub]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1125</guid>
		<description><![CDATA[Ab und an muss man eine Pause einlegen und die Arbeit sein lassen, dieses Bild ist Inbegriff des Ende der Arbeit.]]></description>
			<content:encoded><![CDATA[<p><img class="centered" src="http://bueltge.de/wp-content/images/end-of-work.jpg" alt="End of Work" /><br />
<span id="more-1125"></span><br />
via Mail von <a href="http://zeitzeuge-photography.de/">Maik</a> aus Australien erhalten, leider aktuell für mich nicht möglich<br />
<hr />
<p style="float:right;"><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/></p>
<p><small>&copy; <a href="http://bueltge.de/">Frank Bültge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p style="border: 1px solid #666666; padding: 5px; background: #e6e6e6 none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; display: block; margin-bottom: 25px;"><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>!</p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/end-of-work/1125/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/end-of-work.jpg" />
		<media:content url="http://bueltge.de/wp-content/images/end-of-work.jpg" medium="image">
			<media:title type="html">End of Work</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>Peter Gabriel - Scratch My Back</title>
		<link>http://bueltge.de/peter-gabriel-scratch-my-back/1108/</link>
		<comments>http://bueltge.de/peter-gabriel-scratch-my-back/1108/#comments</comments>
		<pubDate>Fri, 19 Feb 2010 16:28:48 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Musik]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1108</guid>
		<description><![CDATA[Scratch My Back von Peter Gabriel ist ein künstlerisch wertvolles Plagiat - so würde ich es beschreiben, wenn ich mich kurz fassen müsste.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.amazon.de/gp/product/B002ZCJBGK?ie=UTF8&#038;tag=buedebyltgde-21&#038;linkCode=as2&#038;camp=1638&#038;creative=19454&#038;creativeASIN=B002ZCJBGK" title="Peter Gabriel - Scratch My Back, Affiliate Link zu Amazon"><img class="alignright" src="http://bueltge.de/wp-content/images/musik/petergabriel-scratchmyback.jpg" alt="Peter Gabriel - Scratch My Back" width="160" height="160" /></a><br />
<em>Künstlerisch wertvolles Plagiat - so würde ich es beschreiben, wenn ich mich kurz fassen müsste.</em></p>
<p>Zum Glück gibt mir das Blog dahingehend keine Einschränkung ich kann ein wenig ausholen und eine neue Liebe an euch weiter geben. <span id="more-1108"></span><br />
Eine Kollektion von Lieblingssongs haben schon einige Leute veröffentlicht, darunter auch bekannte Persönlichkeiten - <a href="http://www.petergabriel.com/">Peter Gabriel</a> ist Ikone verschiedener Musikrichtungen und wird nun sechzig Jahre. Also genug Erfahrung im Bereich der Musik und das lässt hoffen; denn im Aufmerken bei dieser Veröffentlichung ist man eventuell enttäuscht, keine neuen Titel vom Altmeister - nach dem ersten Hören wird sich dies rapide Ändern. Jeder, der nur ab und zu seine Ohren und sein Herz mit Musik verwöhnt, die die Liebe zur Musik fühlen lässt, wird sich in dieses Album verlieben. <strong>Scratch My Back</strong> ist kein Album zum nebenbei hören - hier ist der Hörer gefragt, so viele Liebe in Plagiate zu stecken, das gelinkt wohl nur sehr wenigen.</p>
<p>Mein Musikinteresse bewegt sich in vielen stilistischen Richtungen dieser Kunstform und doch ist mir immer eines wichtig: ich will die Sorgfalt, die Liebe, die Arbeit des Autors in der Musik hören. Das aktuell Album <strong>Scratch My Back von Peter Gabriel</strong> ist so ein Werk - bei jedem Titel fröstelt es und man will nur in der Kraft der Instrumente versinken. Es geht vom Ohr direkt ins Herz - die Liebe zur Musik pur.<br />
<hr />
<p style="float:right;"><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/></p>
<p><small>&copy; <a href="http://bueltge.de/">Frank Bültge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p style="border: 1px solid #666666; padding: 5px; background: #e6e6e6 none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; display: block; margin-bottom: 25px;"><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>!</p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/peter-gabriel-scratch-my-back/1108/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/musik/petergabriel-scratchmyback.jpg" />
		<media:content url="http://bueltge.de/wp-content/images/musik/petergabriel-scratchmyback.jpg" medium="image">
			<media:title type="html">Peter Gabriel - Scratch My Back</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>The Setup</title>
		<link>http://bueltge.de/the-setup/1107/</link>
		<comments>http://bueltge.de/the-setup/1107/#comments</comments>
		<pubDate>Wed, 17 Feb 2010 15:43:05 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Linktipp]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1107</guid>
		<description><![CDATA[Mein Setup in einem Artikel nachlesen und vielleicht entdeckt der eine oder andere eine neue Applikation oder findet gefallen an den Infos.]]></description>
			<content:encoded><![CDATA[<p>Bei Martin kam die Idee auf, dass man die Idee des Originals <a href="http://usesthis.com/">The Setup</a> aufgreifen könnte und ich habe mich beteiligt. Mein kleiner Beitrag mit Infos über meine Ausstattung, vorrangig im <em>Freizeitnerdbereich</em>, könnt ihr auf der <a href="http://www.admartinator.de/setup/frank-bueltge/">eingerichtete Seite</a> nachlesen.</p>
<p>Alle Ausgaben kann man auf einer <a href="http://www.admartinator.de/setup/">gesonderten Seite</a> von Ad nachlesen und vielleicht macht ja der eine oder andere von euch auch mit; Informationen dazu gibt es im <a href="http://www.admartinator.de/2010/02/14/das-setup/">zugehörigen Beitrag</a> von Martin.<br />
<hr />
<p style="float:right;"><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/></p>
<p><small>&copy; <a href="http://bueltge.de/">Frank Bültge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p style="border: 1px solid #666666; padding: 5px; background: #e6e6e6 none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; display: block; margin-bottom: 25px;"><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>!</p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/the-setup/1107/feed/</wfw:commentRss>
		<slash:comments>4</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 WYSIWYG-Editor TinyMCE erweitern #2</title>
		<link>http://bueltge.de/wordpress-wysiwyg-editor-tinymce-erweitern-2/1100/</link>
		<comments>http://bueltge.de/wordpress-wysiwyg-editor-tinymce-erweitern-2/1100/#comments</comments>
		<pubDate>Thu, 11 Feb 2010 00:12:03 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Tipps]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Anleitung]]></category>
		<category><![CDATA[Editor]]></category>
		<category><![CDATA[HowTo]]></category>
		<category><![CDATA[TinyMCE]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1100</guid>
		<description><![CDATA[Das schöne am Leben ist ja: man lernt immer dazu und nie aus. Auch in diesem Bereich ist das mal wieder so, denn ein alter Artikel auf diesem meinem kleinen Blog hier, hat mal erklärt, wie man den Editor TinyMCE in WordPress an seine Bedürfnisse anpassen kann - sträflich, denn ich habe damals die Core-Dateien von WordPress angefasst.

Um so wichtiger, dass ich eine bessere Lösung aufzeige und wiedermal, in dem Fall auch mich, darauf hinweise, dass man die Core-Dateien von Systemen nicht anfasst! Aber der Artikel scheint recht beliebt und scheinbar wollen auch viele Nutzer diesen Editor anpassen. Im ersten Schritt sucht man dann nach Plugins und nicht immer wird man fündig. Es gibt also noch immer Bedarf im Plugin-Sektor von WordPress; wie im übrigen auch meine Mails zeigen.]]></description>
			<content:encoded><![CDATA[<p>Das schöne am Leben ist ja: man lernt immer dazu und nie aus. Auch in diesem Bereich ist das mal wieder so, denn ein <a href="http://bueltge.de/wordpress-wysiwyg-editor-tinymce-erweitern/402/">alter Artikel</a> auf diesem meinem kleinen Blog hier, hat mal erklärt, wie man den Editor TinyMCE in WordPress an seine Bedürfnisse anpassen kann - sträflich, denn ich habe damals die Core-Dateien von WordPress angefasst.</p>
<p>Um so wichtiger, dass ich eine bessere Lösung aufzeige und wiedermal, in dem Fall auch mich, darauf hinweise, dass man die Core-Dateien von Systemen nicht anfasst! Aber <a href="http://bueltge.de/wordpress-wysiwyg-editor-tinymce-erweitern/402/">der Artikel</a> scheint recht beliebt und scheinbar wollen auch viele Nutzer diesen Editor anpassen. Im ersten Schritt sucht man dann nach Plugins und nicht immer wird man fündig. Es gibt also noch immer Bedarf im Plugin-Sektor von WordPress; wie im übrigen auch meine Mails zeigen.<br />
<span id="more-1100"></span><br />
Nun aber zum eigentlichen Inhalt des Beitrags, das Anpassen des Editor TinyMCE via Hook, also unabhängig der Core-Dateien von WordPress. Die folgenden Code-Schnippsel legt man in die <code>functions.php</code> des Themes oder lagert sie in ein Plugin aus. Es gibt eine ganze Reihe von Möglichkeiten und ich möchte nur eine Auswahl aufzeigen. Das Anpassen der Buttons ist sicher recht bequem über das Plugin <a href="http://wordpress.org/extend/plugins/tinymce-advanced/">TinyMCE Advanced</a> zu erledigen.</p>
<h4>Den HTML-Filter anpassen</h4>
<p>Im Standard ist der Editor so eingestellt, dass immer xHTML 1.0 erzeugt wird und damit werden nicht alle Tags erlaubt; klassisches Beispiel sind iframes, die man Beispielsweise mit Google Map im Boot hat. Auch dafür gibt es andere Ansätze via Shortcode etc., aber darum soll es hier nicht gehen. Lediglich als Beispiel soll das Erlauben des Tag <code>iframe</code> mit diversen Attributen hier stehen und die Tags müssen zur Variable <code>$ext</code> ergänzt werden.</p>
<pre><code class="php">
function fb_change_mce_options($initArray) {
	// Comma separated string od extendes tags
	// Command separated string of extended elements
	$ext = 'pre[id|name|class|style],iframe[align|longdesc|name|width|height|frameborder|scrolling|marginheight|marginwidth|src]';

	if ( isset( $initArray['extended_valid_elements'] ) ) {
		$initArray['extended_valid_elements'] .= ',' . $ext;
	} else {
		$initArray['extended_valid_elements'] = $ext;
	}
	// maybe; set tiny paramter verify_html
	//$initArray['verify_html'] = false;

	return $initArray;
}
add_filter('tiny_mce_before_init', 'fb_change_mce_options');
</code></pre>
<h4>Anpassen der Funktion, der Buttons im Editor</h4>
<p>Im weiteren eine kleine Möglichkeit um die Blockformate (<code>theme_advanced_blockformats</code>) zu erweitern bzw. zu verändern und einige Buttons im Editor zu deaktivieren (<code>theme_advanced_disable</code>).</p>
<p><img class="centered" src="http://bueltge.de/wp-content/images/wp/mytinymce.png" alt="TinyMCE in WordPress angepasst" /></p>
<pre><code class="php">
function fb_change_mce_buttons( $initArray ) {
	//@see http://wiki.moxiecode.com/index.php/TinyMCE:Control_reference
	$initArray['theme_advanced_blockformats'] = 'p,address,pre,code,h3,h4,h5,h6';
	$initArray['theme_advanced_disable'] = 'forecolor,bold,italic';

	return $initArray;
}
add_filter('tiny_mce_before_init', 'fb_change_mce_buttons');
</code></pre>
<h4>Sprachen der Rechtschreibprüfung ändern</h4>
<p>Im dritten Fall passen wir die Sprachen der Rechtschreibprüfung an, im Beispiel wird nun nur noch Deutsch und Englisch zugelassen.</p>
<pre><code class="php">
function fb_mce_external_languages($initArray){
	$initArray['spellchecker_languages'] = '+German=de, English=en';

	return $initArray;
}
add_filter('tiny_mce_before_init', 'fb_mce_external_languages');
</code></pre>
<h4>Die Standard-Werte von WordPress</h4>
<p>Im Anschluss die Werte, die im Standard von WordPress genutzt werden und die einen Einblick in die Möglichkeiten für die Übergabe des Arrays geben.</p>
<pre><code class="php">
'mode' =&gt; 'specific_textareas'
'editor_selector' =&gt; 'theEditor'
'width' =&gt; '100%'
'theme' =&gt; 'advanced'
'skin' =&gt; 'wp_theme'
'theme_advanced_buttons1' =&gt; 'bold,italic,strikethrough,|,bullist,numlist,blockquote,|,justifyleft,justifycenter,justifyright,|,link,unlink,wp_more,|,spellchecker,fullscreen,wp_adv'
'theme_advanced_buttons2' =&gt; 'formatselect,underline,justifyfull,forecolor,|,pastetext,pasteword,removeformat,|,media,charmap,|,outdent,indent,|,undo,redo,wp_help'
'theme_advanced_buttons3' =&gt; ''
'theme_advanced_buttons4' =&gt; ''
'language' =&gt; 'de'
'spellchecker_languages' =&gt; 'English=en,Danish=da,Dutch=nl,Finnish=fi,French=fr,+German=de,Italian=it,Polish=pl,Portuguese=pt,Spanish=es,Swedish=sv'
'theme_advanced_toolbar_location' =&gt; 'top'
'theme_advanced_toolbar_align' =&gt; 'left'
'theme_advanced_statusbar_location' =&gt; 'bottom'
'theme_advanced_resizing' =&gt; true
'theme_advanced_resize_horizontal' =&gt; false
'dialog_type' =&gt; 'modal'
'relative_urls' =&gt; false
'remove_script_host' =&gt; false
'convert_urls' =&gt; false
'apply_source_formatting' =&gt; false
'remove_linebreaks' =&gt; true
'gecko_spellcheck' =&gt; true
'entities' =&gt; '38,amp,60,lt,62,gt'
'accessibility_focus' =&gt; true
'tabfocus_elements' =&gt; 'major-publishing-actions'
'media_strict' =&gt; false
'paste_remove_styles' =&gt; true
'paste_remove_spans' =&gt; true
'paste_strip_class_attributes' =&gt; 'all'
'wpeditimage_disable_captions' =&gt; false
'plugins' =&gt; 'safari,inlinepopups,spellchecker,paste,wordpress,media,fullscreen,wpeditimage,wpgallery,tabfocus'
</code></pre>
<hr />
<p style="float:right;"><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/></p>
<p><small>&copy; <a href="http://bueltge.de/">Frank Bültge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p style="border: 1px solid #666666; padding: 5px; background: #e6e6e6 none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; display: block; margin-bottom: 25px;"><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>!</p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/wordpress-wysiwyg-editor-tinymce-erweitern-2/1100/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/wp/mytinymce.png" />
		<media:content url="http://bueltge.de/wp-content/images/wp/mytinymce.png" medium="image">
			<media:title type="html">TinyMCE in WordPress angepasst</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>Theme Documentation in neuer Version</title>
		<link>http://bueltge.de/theme-documentation-in-neuer-version/1103/</link>
		<comments>http://bueltge.de/theme-documentation-in-neuer-version/1103/#comments</comments>
		<pubDate>Wed, 10 Feb 2010 00:25:37 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Themes]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Theme]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1103</guid>
		<description><![CDATA[Mein Theme Documentation gibt es nun in einer neuen Version und unterstützt damit einige neuen Möglichkeiten aus WordPress 2.8 und 2.9. Vieles wurde überarbeitet und die Mehrsprachigkeit ist weiterhin gegeben.]]></description>
			<content:encoded><![CDATA[<p>Ich habe in letzter Zeit diverse Plugins gepflegt, diverse Veränderungen in WordPress 2.9 haben einiges an Zeit erfordert und trotzdem bin ich noch nicht mit allen Plugins durch.</p>
<p>Parallel habe ich aber auch das Theme <a href="http://bueltge.de/documentations-theme-fuer-wordpress/469/">Documentation</a> auf einen neuen Stand gehoben und einige kleine Erweiterungen integriert. Liegt zum einem daran, dass ich das Theme in einigen Bereichen einsetze, wo explizit Neuentwicklungen dokumentiert werden und zum anderen, dass es einige Anfragen per Mail gab. Im Grunde pflege ich keine Themes, der Zeitaufwand ist von mir einfach nicht zu stemmen - in diesem Fall also eine Ausnahme und nun viel Freude mit dem Theme <a href="http://bueltge.de/documentations-theme-fuer-wordpress/469/">Documentation</a>.<br />
<span id="more-1103"></span><br />
Aktuell unterstützt das Plugin einige Funktionen, eine Auswahl:<br />
<img class="alignright" src="http://bueltge.de/wp-content/download/wp/themes/documentation20.png" alt="Documentation Theme für WordPress" /></p>
<ul>
<li>Post-Thumbnails für Beiträge</li>
<li>Übersicht der Post-Thumbnails im Edit-Bereich des Admin</li>
<li>Angepasstes Login-Design</li>
<li>Mehrsprachigkeit vollständig unterstützt, deutsches Sprachfile liegt bei</li>
<li>Kommentarfunktion mit allen Möglichkeiten, die WordPress seit 2.8 mitbringt</li>
<li>Filter der Kommentare in Trackback, Pingback und Kommentare; inkl. Zähler</li>
<li>2 Widget-Bereiche zum Trennen der Ausgabe:
<ol>
<li>Nicht sichtbar auf Seiten und Beiträgen</li>
<li>Nur sichtbar auf Seiten und Beiträgen</li>
</ol>
</li>
<li>Angepasster Title in Abhängigkeit der dargestellten Inhalte</li>
<li>Abfrage <a href="http://wpml.org/">WPML Plugin</a> bei Mehrsprachigkeit im Sidebar</li>
<li>Minimiertes Stylesheet; Arbeitsdatei liegt jeweils bei als <code>...-dev.css</code></li>
</ul>
<hr />
<p style="float:right;"><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/></p>
<p><small>&copy; <a href="http://bueltge.de/">Frank Bültge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p style="border: 1px solid #666666; padding: 5px; background: #e6e6e6 none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; display: block; margin-bottom: 25px;"><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>!</p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/theme-documentation-in-neuer-version/1103/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/download/wp/themes/documentation20.png" />
		<media:content url="http://bueltge.de/wp-content/download/wp/themes/documentation20.png" medium="image">
			<media:title type="html">Documentation Theme für WordPress</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>Post-Thumbnails in der Artikelansicht</title>
		<link>http://bueltge.de/post-thumbnails-in-der-artikelansicht/1099/</link>
		<comments>http://bueltge.de/post-thumbnails-in-der-artikelansicht/1099/#comments</comments>
		<pubDate>Tue, 09 Feb 2010 09:11:27 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Tipps]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[Theme]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1099</guid>
		<description><![CDATA[Mit WordPress Version 2.9 wurde die Funktion der Post Thumbnail eingeführt. Über diese Funktion und dessen Randthemen wurde bereits hier und in anderen Blogs viel geschrieben. Von Vorteil empfinde ich es aber, wenn man direkt in der Übersicht der Artikel und Seiten das zugeordnete Thumbnail sieht, so dass man leicht die Verwendung zuordnen kann. Daher möchte ich einen kleinen Codeschnippsel vorstellen, der genau das macht.]]></description>
			<content:encoded><![CDATA[<p>Mit WordPress Version 2.9 wurde die Funktion der Post Thumbnail eingeführt. Über diese Funktion und dessen Randthemen wurde <a href="http://bueltge.de/wordpress-post-thumbnail-abwaertskompatibel/1079/">bereits hier</a> und in anderen Blogs viel geschrieben. Von Vorteil empfinde ich es aber, wenn man direkt in der Übersicht der Artikel und Seiten das zugeordnete Thumbnail sieht, so dass man leicht die Verwendung zuordnen kann. Daher möchte ich einen kleinen Codeschnippsel vorstellen, der genau das macht.<br />
<span id="more-1099"></span><br />
Die Funktion habe ich noch ein wenig ausgebaut, so dass nicht nur das Post Thumbnail gezogen wird, sondern wenn dieses nicht vergeben wurde, aber Bilder über die Upload-Funktion zum Post zugeordnet wurden, dann wird das erste Bild dieser Bilder gezogen. Dies ist vor allem dann interessant, wenn man vor WordPress 2.9 mit den Bildern aus der Mediathek das <a href="http://bueltge.de/wordpress-attachment-metadaten-nutzen/625/">gleiche Ziel erreicht hat</a>, wie mit der neuen Funktion des Post Thumbnail.</p>
<p><img class="centered" src="http://bueltge.de/wp-content/images/wp/post-thumbnail-edit.png" alt="Pos Thumbnail in der Übersicht der Beiträge" width="450" height="360" /></p>
<p>Der obige Screenshot sollte verdeutlichen, was die kleine Erweiterung macht. Der folgende Code muss lediglich in ein Plugin ausgelagert oder in die <code>functions.php</code> des Themes kopiert werden.</p>
<pre><code>
if ( !function_exists('fb_AddThumbColumn') &amp;&amp; function_exists('add_theme_support') ) {

	// for post and page
	add_theme_support('post-thumbnails', array( 'post', 'page' ) );

	function fb_AddThumbColumn($cols) {

		$cols['thumbnail'] = __('Thumbnail');

		return $cols;
	}

	function fb_AddThumbValue($column_name, $post_id) {

			$width = (int) 35;
			$height = (int) 35;

			if ( 'thumbnail' == $column_name ) {
				// thumbnail of WP 2.9
				$thumbnail_id = get_post_meta( $post_id, '_thumbnail_id', true );
				// image from gallery
				$attachments = get_children( array('post_parent' =&gt; $post_id, 'post_type' =&gt; 'attachment', 'post_mime_type' =&gt; 'image') );
				if ($thumbnail_id)
					$thumb = wp_get_attachment_image( $thumbnail_id, array($width, $height), true );
				elseif ($attachments) {
					foreach ( $attachments as $attachment_id =&gt; $attachment ) {
						$thumb = wp_get_attachment_image( $attachment_id, array($width, $height), true );
					}
				}
					if ( isset($thumb) &amp;&amp; $thumb ) {
						echo $thumb;
					} else {
						echo __('None');
					}
			}
	}

	add_filter( 'manage_posts_columns', 'fb_AddThumbColumn' );
	add_action( 'manage_posts_custom_column', 'fb_AddThumbValue', 10, 2 );
}
</code></pre>
<hr />
<p style="float:right;"><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/></p>
<p><small>&copy; <a href="http://bueltge.de/">Frank Bültge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p style="border: 1px solid #666666; padding: 5px; background: #e6e6e6 none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; display: block; margin-bottom: 25px;"><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>!</p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/post-thumbnails-in-der-artikelansicht/1099/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/wp/post-thumbnail-edit.png" />
		<media:content url="http://bueltge.de/wp-content/images/wp/post-thumbnail-edit.png" medium="image">
			<media:title type="html">Pos Thumbnail in der Übersicht der Beiträge</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 IDs, Classes &amp; Tag Referenz</title>
		<link>http://bueltge.de/wordpress-ids-classes-tag-referenz/1102/</link>
		<comments>http://bueltge.de/wordpress-ids-classes-tag-referenz/1102/#comments</comments>
		<pubDate>Mon, 08 Feb 2010 09:45:50 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Tipps]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Linktipp]]></category>
		<category><![CDATA[Template]]></category>
		<category><![CDATA[Theme]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1102</guid>
		<description><![CDATA[Wer mit Stylesheets im Bezug auf WordPress Themes arbeitet, der braucht immer diverse Klassen und IDs, um das Design an die jeweiligen Anforderungen anzupassen. Aktuell gibt es eine Referenz als PDF-Dokument  zum freien Download im Blog von Banhawi. Wer also ebenso etwas schnelles zum Nachschlagen benötigt und nicht erst Firebug und co. benutzen will, der sollte mal dort  vorbei schauen.]]></description>
			<content:encoded><![CDATA[<p>Wer mit Stylesheets im Bezug auf WordPress Themes arbeitet, der braucht immer diverse Klassen und IDs, um das Design an die jeweiligen Anforderungen anzupassen.<br />
Aktuell gibt es eine Referenz als <a href="http://banhawi.com/2010/02/banhawis-wordpress-ids-classes-tags-referenece/">PDF-Dokument</a> zum freien Download im <a href="http://banhawi.com/2010/02/banhawis-wordpress-ids-classes-tags-referenece/">Blog von Banhawi</a>. Wer also ebenso etwas schnelles zum Nachschlagen benötigt und nicht erst Firebug und co. benutzen will, der sollte mal <a href="http://banhawi.com/2010/02/banhawis-wordpress-ids-classes-tags-referenece/">dort</a> vorbei schauen.<br />
<hr />
<p style="float:right;"><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/></p>
<p><small>&copy; <a href="http://bueltge.de/">Frank Bültge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p style="border: 1px solid #666666; padding: 5px; background: #e6e6e6 none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; display: block; margin-bottom: 25px;"><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>!</p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/wordpress-ids-classes-tag-referenz/1102/feed/</wfw:commentRss>
		<slash:comments>0</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>Verlosung: WordPress Video Training</title>
		<link>http://bueltge.de/verlosung-wordpress-video-training/1101/</link>
		<comments>http://bueltge.de/verlosung-wordpress-video-training/1101/#comments</comments>
		<pubDate>Fri, 05 Feb 2010 17:48:27 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Buch]]></category>
		<category><![CDATA[Gewinnspiel]]></category>
		<category><![CDATA[Video]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1101</guid>
		<description><![CDATA[Das Video Training zu WordPress steht in den Regalen zum Erwerb und ich möchte zwei Exemplare verlosen. Holt euch einen Einblick, schaut die Demolektionen oder lest das Inhaltsverzeichnis.]]></description>
			<content:encoded><![CDATA[<p><img class="alignrightob" src="http://bueltge.de/wp-content/images/wp-video-training/wp-video-training.png" alt="WordPress Video Training" /><br />
Ein Teil meiner Leidenschaft zu WordPress habe ich schon in <a href="http://wordpress-buch.bueltge.de/">zwei Büchern</a> abgelegt; nun bin ich einer neuen Idee eines anderen Verlages gefolgt: ein <a href="http://wordpress-video-training.bueltge.de/">Video Training zu WordPress</a>.<br />
<span id="more-1101"></span><br />
Ob Buch oder Video - die Initiatoren sind die Verlage, nicht ich. Trotzdem mag ich es, neue Bereiche zu erkunden, neues zu versuchen und mich in den unterschiedlichsten Bereichen zu testen. Nun kann man mich sehen und hören; ob das besser ist - das sollten die Nutzer entscheiden. Definitiv: ich habe eine tolle Erfahrung gemacht, das <a href="http://www.galileocomputing.de/">Team um die Video Trainings</a> bei Galileo hat mich herzlich willkommen geheißen und ausreichend Kaffee und Getränke bereit gestellt. Dann ging es ins Studio und dort war ich dann für 6 Tage eingeschlossen, nur WordPress und ich. Ich selbst kann das Ergebnis nur schlecht bewerten; sieht und hört man sich selbst, dann ist das schon befremdlich. Die Bewertung überlasse ich aber gern euch und daher möchte<strong> <a href="http://wordpress-video-training.bueltge.de/">zwei Exemplare der DVD</a> verlosen</strong>. Natürlich erkenne ich ausreichend Lücken, ich kann zu WordPress viel erzählen und immer wieder finde ich die eine oder andere Passage, wo ich gern korrigieren würde - aber das bin ich, ohne Schminke und ich meine, das Natürlichkeit manchmal nicht verkehrt ist und da WordPress auch weiterhin nur ein Hobby ist, kann ich einfach nicht mehr Zeit investieren.</p>
<p>Die Verlosung läuft bis zum kommenden <strong>Freitag den 12.Februar 2010</strong> und ich gebe dann die Gewinner hier bekannt, hinterlasst einen Kommentar mit gültiger E-Mail-Adresse und sagt mir: <strong>lieber Bücher oder Videos; vielleicht auch warum</strong>.</p>
<p>Der große Unterschied zum Buch ist die Ziegruppe. Haben wir im Buch doch eher den Nutzeer im Auge, der WordPress an seine Bedürfnisse anpassen will, von Themes über Plugins und hin zu eigene  Code-Zeilen für die eigene Anforderung, so ist die DVD eher für den Einsteiger der ein wenig mehr wissen möchte. Hier wird das Backend von WordPress in allen Facetten erklärt und genutzt, die Installation und die Anpassung aus dem Standard heraus, das Schreiben von Plugins und Themes kommt nur in eingehenden Zügen zum Zug. Aber schaut in die <a href="http://www.galileocomputing.de/2291?GPP=bueltge">Beispiel-Lektionen</a> und das <a href="http://www.galileocomputing.de/katalog/buecher/inhaltsverzeichnis/gp/titelID-2291">Inhaltsverzeichnis</a> um euch ein Bild zu machen. Gern beantworte ich auch Kommentare, Fragen hier im Blog.</p>
<p>Viel Erfolg bei der kleinen Verlosung und vielleicht ist der eine oder andere Leser im Zukunft ein Zuschauer vor dem Display und schaut dieser DVD.</p>
<h4>Update: 13.02.2010 - Die Gewinner sind ausgelost</h4>
<p>Die beiden Video Trainings zu WordPress gehen an:</p>
<ul>
<li><del datetime="2010-02-14T15:37:51+00:00"><a href="http://mein.meerblickzimmer.de/">Meerblickzimmer</a> <a href="http://bueltge.de/verlosung-wordpress-video-training/1101/#comment-354950">#30</a></del> Verzicht, daher nochmaliger Zufallsgenerator</li>
<li><a href="http://mynicki.net/">Nicki</a> <a href="http://bueltge.de/verlosung-wordpress-video-training/1101/#comment-354915">#26</a></li>
<li><a href="http://robertheldt.de/">Robert</a> <a href="http://bueltge.de/verlosung-wordpress-video-training/1101/#comment-355150">#57</a></li>
</ul>
<p>Vielen Dank an alle teilnehmenden Leser und die vielen Feedbacks zu meiner kleinen Frage - aber scheinbar sind doch noch Bücher an erster Stelle, was mich persönlich freut, denn ich liebe Bücher. Ich hoffe und wünsche trotzdem, dass der Zufall die richtigen Personen getroffen hat und sie sich über das Video <a href="http://wordpress-video-training.bueltge.de/">Training zu WordPress</a> freuen werden.<br />
Allen anderen danke ich und vielleicht ist der eine oder andere trotzdem ein Nutzer der DVD und geht einen anderen Weg zum Erwerb des Video Training.<br />
<hr />
<p style="float:right;"><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/></p>
<p><small>&copy; <a href="http://bueltge.de/">Frank Bültge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p style="border: 1px solid #666666; padding: 5px; background: #e6e6e6 none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; display: block; margin-bottom: 25px;"><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>!</p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/verlosung-wordpress-video-training/1101/feed/</wfw:commentRss>
		<slash:comments>83</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/wp-video-training/wp-video-training.png" />
		<media:content url="http://bueltge.de/wp-content/images/wp-video-training/wp-video-training.png" medium="image">
			<media:title type="html">WordPress Video Training</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>Quicktipp: oEmbed im Blog aktiv?</title>
		<link>http://bueltge.de/quicktipp-oembed-im-blog-aktiv/1098/</link>
		<comments>http://bueltge.de/quicktipp-oembed-im-blog-aktiv/1098/#comments</comments>
		<pubDate>Thu, 04 Feb 2010 09:09:18 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Tipps]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Bild]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Video]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1098</guid>
		<description><![CDATA[Nicht immer benötigt man alle Funktionen, eine Funktion, die seit Version 2.9 von WordPress im Core ist, kann man einfach  abschalten und so Ressourcen sparen, wenn man diese Funktion nicht benötigt.]]></description>
			<content:encoded><![CDATA[<p>Seit der Version 2.9 von WordPress wird das <a href="http://www.oembed.com/">oEmbed-Format</a> seitens WordPress unterstützt und damit lassen sich externe Inhalte recht einfach in den Beiträgen einbetten. Lediglich die Url eines Bildes von Flickr oder eines Videos von YouTube genügt und im Frontend wird das jeweilige Medienfile eingebettet. Damit wird das einbinden von Medien wesentlich vereinfacht. Wer trotzdem noch Schwierigkeiten hat, dem sei der Artikel <a href="http://www.blogtrainer.de/2010/02/03/youtube-videos-flickr-fotos-einbetten">Youtube-Videos und Flickr-Fotos noch einfacher einbetten</a> empfohlen.</p>
<p>Um diese Funktion zu ermöglichen muss in den Einstellungen des Blog ein Haken gesetzt sein, der im Standard nach dem Update oder der Installation von WordPress aktiv ist. Damit das ganze dann funktioniert, sucht WordPress den Content ab und ersetzt die Url mit der jeweiligen Datei und dem entsprechenden Markup - das kostet Last, denn der Filter benötigt ein wenig an Ressourcen um immer alle Daten zu durchforsten.<br />
<span id="more-1098"></span></p>
<pre><code class="php">
// Attempts to embed all URLs in a post
if ( get_option('embed_autourls') )
	add_filter( 'the_content', array(&amp;$this, 'autoembed'), 8 );
</code></pre>
<p><img class="centered" src="http://bueltge.de/wp-content/images/wp/autoembed.png" alt="oembed deaktivieren" /></p>
<p>Daher, wer diese Funktion nicht benötigt, einfach den Haken entfernen und schon wird eine Ressource frei gegeben.<br />
<hr />
<p style="float:right;"><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/></p>
<p><small>&copy; <a href="http://bueltge.de/">Frank Bültge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p style="border: 1px solid #666666; padding: 5px; background: #e6e6e6 none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; display: block; margin-bottom: 25px;"><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>!</p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/quicktipp-oembed-im-blog-aktiv/1098/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/wp/autoembed.png" />
		<media:content url="http://bueltge.de/wp-content/images/wp/autoembed.png" medium="image">
			<media:title type="html">oembed deaktivieren</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 style="float:right;"><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/></p>
<p><small>&copy; <a href="http://bueltge.de/">Frank Bültge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p style="border: 1px solid #666666; padding: 5px; background: #e6e6e6 none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; display: block; margin-bottom: 25px;"><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>!</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>HTML Reiter in WordPress deaktivieren</title>
		<link>http://bueltge.de/html-reiter-in-wordpress-deaktivieren/1088/</link>
		<comments>http://bueltge.de/html-reiter-in-wordpress-deaktivieren/1088/#comments</comments>
		<pubDate>Mon, 18 Jan 2010 01:12:50 +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[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1088</guid>
		<description><![CDATA[Im Gegensatz zum visuellen Editor in WordPress, kann man den HTML-Editor nicht deaktivieren. Dazu sieht WordPress keine Usereinstellung oder auch eine globale Option vor. Ebenso gibt es keinen Hook, wodurch man den Reiter HTML am Editor von Beiträgen uns Seiten deaktivieren kann.

Es gibt aber Anwender, die dieses Reiter nicht benötigen und für die man dies eventuell übergreifend deaktivieren möchte. Daher zeige ich mal eine Lösung, wie man den Editor trotzdem nicht mehr einfach nutzen kann.
Alternativ kann man das Plugin Adminimize nutzen, welches diese Möglichkeit pro Rolle bietet, einfach in den Einstellungen setzen.]]></description>
			<content:encoded><![CDATA[<p>Im Gegensatz zum visuellen Editor in WordPress, kann man den HTML-Editor nicht deaktivieren. Dazu sieht WordPress keine Usereinstellung oder auch eine globale Option vor. Ebenso gibt es keinen Hook, wodurch man den Reiter HTML am Editor von Beiträgen uns Seiten deaktivieren kann.</p>
<p>Es gibt aber Anwender, die dieses Reiter nicht benötigen und für die man dies eventuell übergreifend deaktivieren möchte. Daher zeige ich mal eine Lösung, wie man den Editor trotzdem nicht mehr einfach nutzen kann.<br />
Alternativ kann man das Plugin <a href="http://bueltge.de/wordpress-admin-theme-adminimize/674/">Adminimize</a> nutzen, welches diese Möglichkeit pro Rolle bietet, einfach in den Einstellungen setzen.<br />
<span id="more-1088"></span><br />
<img src="http://bueltge.de/wp-content/images/wp/wp-only-visual.png" alt="HTML Editor deaktiviert" title="HTML Editor deaktiviert" width="392" height="83" class="aligncenter" /></p>
<p>Da es keinen Hook oder eine Option gibt, muss man den Bereich via CSS ausblenden. Dies hat den Nachteil, dass zwar der Reiter nicht mehr zu sehen ist; wenn aber der Cookie oder ein Plugin sagen, HTML aktivieren, dann hat der Editor ein Problem uns zeigt entweder alle beiden Editoren-Leisten gleichzeitig, oder gar keine Buttons. Man muss daher den Editor explizit setzen.</p>
<p>Im ersten Schritt blenden wir via CSS den Reiter und die Buttons des HTML-Editors aus. Diese Stylesheet muss im Admin geladen werden, dabei kann man verschiedene Wege gehen: entweder in den head schreiben (Hook <code>admin_head</code>) oder ein externes CSS via Funktion <code>wp_enqueue_style()</code> laden.</p>
<pre><code class="php">
#editor-toolbar #edButtonHTML, #quicktags {
       display: none;
}
</code></pre>
<p>Im weiteren Schritt muss nun der Standard-Editor gesetzt werden, dazu dient ein Hook und eine Funktion, die den Standard auf den Wert <code>tinymce</code> setzt.</p>
<pre><code class="php">
function my_default_editor() {
	$r = 'tinymce'; // html or tinymce
	return $r;
}
add_filter( 'wp_default_editor', 'my_default_editor' );
</code></pre>
<p>Alternativ eine kurze Schreibweise für die Implementierung in Plugins oder Themes.</p>
<pre><code class="php">
add_filter( 'wp_default_editor', create_function('', 'return "tinymce";') );
</code></pre>
<hr />
<p style="float:right;"><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/></p>
<p><small>&copy; <a href="http://bueltge.de/">Frank Bültge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p style="border: 1px solid #666666; padding: 5px; background: #e6e6e6 none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; display: block; margin-bottom: 25px;"><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>!</p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/html-reiter-in-wordpress-deaktivieren/1088/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/wp/wp-only-visual.png" />
		<media:content url="http://bueltge.de/wp-content/images/wp/wp-only-visual.png" medium="image">
			<media:title type="html">HTML Editor deaktiviert</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>Ich will euer Geld</title>
		<link>http://bueltge.de/ich-will-euer-geld/1089/</link>
		<comments>http://bueltge.de/ich-will-euer-geld/1089/#comments</comments>
		<pubDate>Thu, 14 Jan 2010 09:26:10 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Aktion]]></category>
		<category><![CDATA[entwicklungshilfe]]></category>
		<category><![CDATA[Hilfe]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1089</guid>
		<description><![CDATA[Aktuell habe ich alle meine Einnahmen aus dem letzten Jahr gespendet und diese verdoppelt. Aber auch das ist kläglich, denn die Spendenbereitschaft der Leser meines Blogs ist leider dürftig und so erhoffe ich mir, dass ihr euch die Mühe macht und nun auf Grund dieses Aufrufs einen Beitrag an mich überweist und ich kümmere mich darum, dass das Spendenkonto für Haiti die Gelder erhält.]]></description>
			<content:encoded><![CDATA[<p>Das Thema der Spenden für frei zugängliche Ideen soll heute nicht mein Thema sein, trotzdem möchte ich einen Aufruf zum Spenden los werden. Bitte helft mir und unterstützt mich bei meinem Vorhaben.</p>
<p>Die aktuellen Meldungen und Nachrichten sind voll von den traurigen Bildern und Berichten über den Karibikstaat Haiti. Ein Erdbeben hat das Leben dort noch unerträglicher gemacht; eine Regierung, die quasi nicht existent ist, bekommt solche Probleme erst recht nicht in den Griff und auch die UNO hat alle Hände voll zu tun und kann jede Hilfe von Außen benötigen.<br />
Ohne weit in Politik auszuschweifen und Gründe zu suchen: ich möchte eine weitere Summe spenden. Ich denke die Menschen dort können jeden Euro benötigen.</p>
<p>Aktuell habe ich alle meine Einnahmen aus dem letzten Jahr gespendet und diese verdoppelt, so hat die Hilfsorganisation wenigstens ~300€ erhalten <small>(Dabei ist zu sagen, dass 100€ von einer Person in zwei Spenden aus den USA sind)</small>. Aber auch das ist kläglich, denn die Spendenbereitschaft der Leser meines Blogs ist leider dürftig und so erhoffe ich mir, dass ihr euch die Mühe macht und nun auf Grund dieses Aufrufs einen Beitrag an mich überweist und ich kümmere mich darum, dass das Spendenkonto der Kindernothilfe für Haiti die Gelder erhält.<br />
Natürlich könnt ihr das auch ohne mich tun; aber vielleicht seit ihr einfach noch nicht dazu gekommen, oder ihr meint, dass die Summe eurer Spende nicht lohnt. Ich kümmere mich darum, egal wieviel ihr hier spendet, jeder Eure zählt. Alles geht an an das Konto der <a href="http://www.kindernothilfe.de/">Kindernothilfe</a>, weil ich denke, dass die Kinder am meisten leiden müssen und sie am wenigsten für das Elend können, welches schon ohne diese Katastrophe besteht.</p>
<p>Wer sich alleine bzw. auch nach meiner kleinen Aktion um eine Spende kümmern möchte und die gleichen Weg gehen will, der überweist auf das folgende Konto oder nutzt das <a href="https://www.kindernothilfe.de/de/Rubriken/Spenden/Spendenformular.html">Formular</a>:<br />
<small>Spendenkonto 45 45 40</small><br />
<small>BLZ: 350 601 90</small><br />
<small>Bank: KD-Bank eG</small><br />
<small>Stichwort: Z57372, Erdbeben Haiti</small></p>
<p><strong>Vielen Dank</strong> für die Unterstützung und ein großes Danke schon jetzt an die bereitwilligen Spender.</p>
<h4>Update 18.Jan 2010, 09:14</h4>
<p>Vielen Dank an alle, aktuell habe ich <strong>903€</strong> zusammen und der Beitrag wurde der Kindernothilfe soeben überwiesen. Ein kleiner Beitrag, der aber trotzdem einen Anteil leisten kann und sicher den einen oder anderen zum Nachdenken bewegt hat.<br />
<hr />
<p style="float:right;"><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/></p>
<p><small>&copy; <a href="http://bueltge.de/">Frank Bültge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p style="border: 1px solid #666666; padding: 5px; background: #e6e6e6 none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; display: block; margin-bottom: 25px;"><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>!</p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/ich-will-euer-geld/1089/feed/</wfw:commentRss>
		<slash:comments>33</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>Umleiten mit WordPress</title>
		<link>http://bueltge.de/umleiten-mit-wordpress/1087/</link>
		<comments>http://bueltge.de/umleiten-mit-wordpress/1087/#comments</comments>
		<pubDate>Wed, 13 Jan 2010 00:20:26 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tipps]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1087</guid>
		<description><![CDATA[WordPress erlaubt mit Hilfe einer Funktion einen einfachen Redirect zu einer URL, die Funktion wp_redirect() ermöglicht die Angabe einer Adresse und eines Status.
Damit ist es einfaches eine Weiterleitung auch im Backend von WordPress zu realisieren. Zwei unterschiedliche Beispiele sollen dies verdeutlichen. Der Unterschied liegt in der Abfrage der URL, auf die geprüft wird.


/**
 * Redirects [...]]]></description>
			<content:encoded><![CDATA[<p>WordPress erlaubt mit Hilfe einer Funktion einen einfachen Redirect zu einer URL, die <a href="http://codex.wordpress.org/Function_Reference/wp_redirect">Funktion <code>wp_redirect()</code></a> ermöglicht die Angabe einer Adresse und eines Status.</p>
<p>Damit ist es einfaches eine Weiterleitung auch im Backend von WordPress zu realisieren. Zwei unterschiedliche Beispiele sollen dies verdeutlichen. Der Unterschied liegt in der Abfrage der URL, auf die geprüft wird.<br />
<span id="more-1087"></span></p>
<pre><code class="php">
/**
 * Redirects to another page, with a workaround for the IIS Set-Cookie bug.
 *
 * @link http://support.microsoft.com/kb/q176113/
 * @since 1.5.1
 * @uses apply_filters() Calls 'wp_redirect' hook on $location and $status.
 *
 * @param string $location The path to redirect to
 * @param int $status Status code to use
 * @return bool False if $location is not set
 */
function wp_redirect($location, $status = 302)
</code></pre>
<p>Im ersten Fall wird der Inhalt der Variable <code>$pagenow</code> genutzt, der immer den Seitennamen enthält und so eine saubere Prüfung erlaubt. In beiden Funktionen wird die Funktion <code>admin_url()</code> abgefragt, da die erst seit Version 2.6 im Core von WordPress ist. Je nach Version, kann man diese Abfrage einsparen und ebenso gibt es weitere Funktionen dieser Art, die das Setzen der Adresse erleichtern, siehe <a href="http://bueltge.de/wordpress-verzeichnisse-bestimmen/779/">Beitrag dazu</a>.</p>
<pre><code class="php">
function fb_redirect_1() {
	global $pagenow;

	if ( 'plugins.php' === $pagenow ) {
		if ( function_exists('admin_url') ) {
			wp_redirect( admin_url('edit-comments.php') );
		} else {
			wp_redirect( get_option('siteurl') . '/wp-admin/' . 'edit-comments.php' );
		}
	}
}
if ( is_admin() )
	add_action( 'admin_menu', 'fb_redirect_1' );
</code></pre>
<p>Die zweite Möglichkeit ist ein wenig anders und prüft auf die URL, auf die globale Variable <code>$_SERVER</code> und dabei den Schlüssel <code>REQUEST_URI</code>. Dies is tzum Beispiel bei der Abfrage des Dashboard im Admin-Bereich sinnvoll, denn dieser wird nicht immer mit einem Wert in <code>$pagenow</code> zurück gegeben, heißt: man erreicht das Dashboard zum Teil über die <code>index.php</code> oder direkt via <code>wp-admin/</code>.</p>
<pre><code class="php">
function fb_redirect_2() {

	if ( preg_match('#wp-admin/?(index.php)?$#', $_SERVER['REQUEST_URI']) ) {
		if ( function_exists('admin_url') ) {
			wp_redirect( admin_url('edit-comments.php') );
		} else {
			wp_redirect( get_option('siteurl') . '/wp-admin/' . 'edit-comments.php' );
		}
	}
}
if ( is_admin() )
	add_action( 'admin_menu', 'fb_redirect_2' );
</code></pre>
<hr />
<p style="float:right;"><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/></p>
<p><small>&copy; <a href="http://bueltge.de/">Frank Bültge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p style="border: 1px solid #666666; padding: 5px; background: #e6e6e6 none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; display: block; margin-bottom: 25px;"><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>!</p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/umleiten-mit-wordpress/1087/feed/</wfw:commentRss>
		<slash:comments>20</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 Plugin für mehr Flexibilität beim Schreiben</title>
		<link>http://bueltge.de/wordpress-plugin-flexibilitaet-schreiben/1086/</link>
		<comments>http://bueltge.de/wordpress-plugin-flexibilitaet-schreiben/1086/#comments</comments>
		<pubDate>Thu, 24 Dec 2009 04:20:27 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Plugin]]></category>
		<category><![CDATA[Themes]]></category>
		<category><![CDATA[Tipps]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Adventskalender]]></category>
		<category><![CDATA[Template]]></category>
		<category><![CDATA[Theme]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1086</guid>
		<description><![CDATA[Heute ist er nun da, der letzte Tag im Kalender und der letzte Tag, der mich zwingt, jeden Tag einen Beitrag zu veröffentlichen. Nicht selten habe ich über Nacht noch einen kleinen Beitrag geschrieben um die Leser am kommenden Morgen mit einem neuen Türchen zu beglücken. Nicht nur Kinder mögen die Überraschung am Morgen beim Öffnen eines neuen Türchens. Für mich ist nun erst mal Pause, andere Themen sind wichtiger und nur wenige werden vermutlich diesen Beitrag hier lesen; ist doch heute Weihnachten. Mir bleibt nur noch zu sagen:
Alles liebe und Gute, die herzlichsten Wünsche, ein friedliches Weihnachtsfest und einen guten Rutsch in das neue Jahr wünsche ich allen Lesern, allen Kunden, allen netten Kontakten und jedem, der irgendwie Mensch ist und mit mir zu tun hatte. Ich freue mich auf ein neues Jahr mit euch und hadere der Dinge, die uns im neuen Jahr erreichen werden. Als kleines Präsent zum heiligen Abend heute habe ich euch ein Plugin erstellt, was euch zum einen zusätzliche Felder in den Bereich Schreiben von WordPress bringt, was euch zeigt, wie einfach man den Bereich erweitern kann und was nach belieben von euch genutzt werden darf.]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" src="http://bueltge.de/wp-content/images/wp/christmas/wp-christmas-24.jpg" alt="WP Adventskalender 24" /><br />
Heute ist er nun da, der letzte Tag im Kalender und der letzte Tag, der mich zwingt, jeden Tag einen Beitrag zu veröffentlichen. Nicht selten habe ich über Nacht noch einen kleinen Beitrag geschrieben um die Leser am kommenden Morgen mit einem neuen Türchen zu beglücken. Nicht nur Kinder mögen die Überraschung am Morgen beim Öffnen eines neuen Türchens. Für mich ist nun erst mal Pause, andere Themen sind wichtiger und nur wenige werden vermutlich diesen Beitrag hier lesen; ist doch heute Weihnachten. Mir bleibt nur noch zu sagen:<br />
<strong>Alles liebe und Gute, die herzlichsten Wünsche, ein friedliches Weihnachtsfest und einen guten Rutsch in das neue Jahr wünsche ich allen Lesern, allen Kunden, allen netten Kontakten und jedem, der irgendwie Mensch ist und mit mir zu tun hatte. Ich freue mich auf ein neues Jahr mit euch und harre der Dinge, die uns im neuen Jahr erreichen werden.</strong></p>
<p><img class="centeredob" src="http://bueltge.de/wp-content/images/weihnacht.png" alt="Es weihnachtet" /></p>
<p>Als kleines Präsent zum heiligen Abend heute habe ich euch ein Plugin erstellt, was euch zum einen zusätzliche Felder in den Bereich Schreiben von WordPress bringt, was euch zeigt, wie einfach man den Bereich erweitern kann und was nach belieben von euch genutzt werden darf.<br />
<span id="more-1086"></span><br />
Das Plugin bringt 3 neue Felder in einer Metabox mit:</p>
<ul>
<li><strong>Untertitel</strong> - wie der Name schon sagt, eine Zeile ohne Formatierung in der Ausgabe</li>
<li><strong>Zusatzinformationen</strong> - ein vollwertiger Editor, ebenso kann man jede Art von Attachments hinzufügen, also fast gleich dem Content-Editor.</li>
<li><strong>Listdaten</strong> - Hier wird ermöglicht, dass man pro Zeile einen Inhalt pflegt und jede Zeile als List-Element ausgeben wird, ungeordnete Liste <code>ul</code></li>
</ul>
<p><img class="centered" src="http://bueltge.de/wp-content/images/wp/different-type/screenshot-1.png" alt="Screenshot im Edit-Bereich von WordPress" /></p>
<p>Jedes dieser Felder kann gezielt im Template des Themes eingesetzt werden, hat also einen Template Tag, der die Ausgabe steuert. Nur wenn es in diesem Feld Daten gibt, dann werden sie auch ausgegeben. Im folgenden ein Beispiel, der die drei neuen Felder ausgibt.</p>
<pre><code>
&lt;div &lt;?php post_class() ?&gt; id=&quot;post-&lt;?php the_ID(); ?&gt;&quot;&gt;

	&lt;h2&gt;&lt;?php the_title(); ?&gt;&lt;/h2&gt;

	&lt;h3&gt;&lt;?php if ( function_exists('the_DifferentTypeFacts') ) the_DifferentTypeFacts($post-&gt;ID, 'heading'); ?&gt;&lt;/h3&gt;

	&lt;div class=&quot;entry&quot;&gt;

		&lt;?php the_content('&lt;p class=&quot;serif&quot;&gt;Read the rest of this entry &amp;raquo;&lt;/p&gt;'); ?&gt;

		&lt;?php if ( function_exists('the_DifferentTypeFacts') ) the_DifferentTypeFacts($post-&gt;ID, 'additional-info'); ?&gt;

		&lt;?php if ( function_exists('the_DifferentTypeFacts') ) the_DifferentTypeFacts($post-&gt;ID, 'listdata'); ?&gt;
</code></pre>
<p><img class="centered" src="http://bueltge.de/wp-content/images/wp/different-type/screenshot-2.png" alt="Screenshot im Frontend von WordPress" /></p>
<p>Das Plugin soll als Vorlage dienen, wer also mag, der passt es an und schafft eine Oberfläche, in der sich die Autoren wohl fühlen, keine Pflege der benutzerdefinierten Felder.</p>
<p>Das Plugin sorgt dafür, dass die Metaboxen "Benutzerdefinierte Felder" und "Trackbacks" nicht mehr da sind (<code>remove_meta_box()</code>); auch das als Beispiel für die Nutzung. Zu jedem der genutzten Code-Schnipsel im Plugin gibt es hier im Blog einen Beitrag und so sollte man damit klar kommen. Im folgenden der Code ohne Zusatzfiles und im Anschluss das Plugin als Download, inkl. readme, Sprachfiles für deutsche User und die nötigen Scripte.</p>
<pre><code>
&lt;?php
/**
 * @package Different Type
 * @author Frank B&amp;uuml;ltge
 * @version 0.1
 */

/*
	Plugin Name: Different Type
	Plugin URI: http://bueltge.de/
	Description: Add different types to posts
	Author: Frank B&amp;uuml;ltge
	Version: 0.1
	License: GPL
	Author URI: http://bueltge.de/
	Last change: 24.12.2009 00:00:00
*/

/**
 * Example for use outside the loop:
 * &lt;?php the_DifferentTypeFacts($post-&gt;ID); ?&gt;
 * @param $id Integer - Post-ID
 * @param $type String - heading, additional-info, listdata (default is ''-empty)
 *
 * Example: &lt;?php the_DifferentTypeFacts($post-&gt;ID, 'heading'); ?&gt;
 */

//avoid direct calls to this file, because now WP core and framework has been used
if ( !function_exists('add_action') ) {
	header('Status: 403 Forbidden');
	header('HTTP/1.1 403 Forbidden');
	exit();
}

if ( function_exists('add_action') ) {
	//WordPress definitions
	if ( !defined('WP_CONTENT_URL') )
		define('WP_CONTENT_URL', get_option('siteurl') . '/wp-content');
	if ( !defined('WP_CONTENT_DIR') )
		define('WP_CONTENT_DIR', ABSPATH . 'wp-content');
	if ( !defined('WP_PLUGIN_URL') )
		define('WP_PLUGIN_URL', WP_CONTENT_URL.'/plugins');
	if ( !defined('WP_PLUGIN_DIR') )
		define('WP_PLUGIN_DIR', WP_CONTENT_DIR.'/plugins');
	if ( !defined('PLUGINDIR') )
		define( 'PLUGINDIR', 'wp-content/plugins' ); // Relative to ABSPATH.  For back compat.
	if ( !defined('WP_LANG_DIR') )
		define('WP_LANG_DIR', WP_CONTENT_DIR . '/languages');

	// plugin definitions
	define( 'FB_DT_BASENAME', plugin_basename(__FILE__) );
	define( 'FB_DT_BASEDIR', dirname( plugin_basename(__FILE__) ) );
	define( 'FB_DT_TEXTDOMAIN', 'different-types' );
}

if ( !class_exists( 'DifferentType' ) ) {
	class DifferentType {

		// constructor
		function DifferentType() {

			if (is_admin() ) {
				add_action( 'admin_init', array(&amp;$this, 'on_admin_init') );
				add_action( 'wp_insert_post', array(&amp;$this, 'on_wp_insert_post'), 10, 2 );
				add_action( 'init', array(&amp;$this, 'textdomain') );
				register_uninstall_hook( __FILE__, array(&amp;$this, 'uninstall') );
				add_action( &quot;admin_print_scripts-post.php&quot;, array($this, 'enqueue_script') );
				add_action( &quot;admin_print_scripts-post-new.php&quot;, array($this, 'enqueue_script') );
				add_action( &quot;admin_print_scripts-page.php&quot;, array($this, 'enqueue_script') );
				add_action( &quot;admin_print_scripts-page-new.php&quot;, array($this, 'enqueue_script') );
			}
		}

		// active for multilanguage
		function textdomain() {

			if ( function_exists('load_plugin_textdomain') )
				load_plugin_textdomain( FB_DT_TEXTDOMAIN, false, dirname( FB_DT_BASENAME ) . '/languages' );
		}

		// unsintall all postmetadata
		function uninstall() {

			$all_posts = get_posts('numberposts=0&amp;post_type=post&amp;post_status=');

			foreach( $all_posts as $postinfo) {

				delete_post_meta($postinfo-&gt;ID, '_different-types');

			}
		}

		// add script
		function enqueue_script() {
			wp_enqueue_script( 'tinymce4dt', WP_PLUGIN_URL . '/' . FB_DT_BASEDIR . '/js/script.js', array('jquery') );
		}

		// admin init
		function on_admin_init() {

			if ( !current_user_can( 'publish_posts' ) )
				return;

			add_meta_box( 'hotel_helper',
									__( 'Different Types', FB_DT_TEXTDOMAIN ),
									array( &amp;$this, 'meta_box' ),
									'post', 'normal', 'high'
									);

			// remove meta box for trackbacks
			remove_meta_box('trackbacksdiv', 'post', 'normal');
			// remove meta box for custom fields
			remove_meta_box('postcustom', 'post', 'normal');
		}

		// check for preview
		function is_page_preview() {
			$id = (int)$_GET['preview_id'];
			if ($id == 0) $id = (int)$_GET['post_id'];
			$preview = $_GET['preview'];
			if ($id &gt; 0 &amp;&amp; $preview == 'true') {
				global $wpdb;
				$type = $wpdb-&gt;get_results(&quot;SELECT post_type FROM $wpdb-&gt;posts WHERE ID=$id&quot;);
				if ( count($type) &amp;&amp; ($type[0]-&gt;post_type == 'page') &amp;&amp; current_user_can('edit_page') )
					return true;
			}
			return false;
		}

		// after save post, save meta data for plugin
		function on_wp_insert_post($id) {
			global $id;

			if ( !isset($id) )
				$id = (int)$_REQUEST['post_ID'];
			if ( $this-&gt;is_page_preview() &amp;&amp; !isset($id) )
				$id = (int)$_GET['preview_id'];

			if ( !current_user_can('edit_post') )
				return;

			if ( isset($_POST['dt-heading']) &amp;&amp; $_POST['dt-heading'] != '' )
				$this-&gt;data['heading'] = esc_attr( $_POST['dt-heading'] );
			if ( isset($_POST['dt-additional-info']) &amp;&amp; $_POST['dt-additional-info'] != '' )
				$this-&gt;data['additional-info'] = $_POST['dt-additional-info'];
			if ( isset($_POST['dt-listdata']) &amp;&amp; $_POST['dt-listdata'] != '' )
				$this-&gt;data['listdata'] = esc_attr( $_POST['dt-listdata'] );

			if ( isset($this-&gt;data) &amp;&amp; $this-&gt;data != '' )
				update_post_meta($id, '_different-types', $this-&gt;data);
		}

		// load post_meta_data
		function load_post_meta($id) {

			return get_post_meta($id, '_different-types', true);
		}

		// meta box on post/page
		function meta_box($data) {

			$value = $this-&gt;load_post_meta($data-&gt;ID);
			?&gt;
			&lt;table id=&quot;dt-page-definition&quot; width=&quot;100%&quot; cellspacing=&quot;5px&quot;&gt;
				&lt;tr valign=&quot;top&quot;&gt;
					&lt;td style=&quot;width:20%;&quot;&gt;&lt;label for=&quot;dt-heading&quot;&gt;&lt;?php _e( 'Subtitle:', FB_DT_TEXTDOMAIN ); ?&gt;&lt;/label&gt;&lt;/td&gt;
					&lt;td&gt;&lt;input type=&quot;text&quot; id=&quot;dt-heading&quot; name=&quot;dt-heading&quot; class=&quot;heading form-input-tip&quot; size=&quot;16&quot; autocomplete=&quot;off&quot; value=&quot;&lt;?php echo $value['heading']; ?&gt;&quot; tabindex=&quot;6&quot; style=&quot;width:99.5%&quot;/&gt;&lt;/td&gt;
				&lt;/tr&gt;
				&lt;tr valign=&quot;top&quot;&gt;
					&lt;td&gt;&lt;label for=&quot;dt-additional-info&quot;&gt;&lt;?php _e( 'Additional information:', FB_DT_TEXTDOMAIN ); ?&gt;&lt;/label&gt;&lt;/td&gt;
					&lt;td&gt;&lt;textarea cols=&quot;16&quot; rows=&quot;5&quot; id=&quot;dt-additional-info&quot; name=&quot;dt-additional-info&quot; class=&quot;additional-info form-input-tip code&quot; size=&quot;20&quot; autocomplete=&quot;off&quot; tabindex=&quot;6&quot; style=&quot;width:90%&quot;/&gt;&lt;?php echo wpautop( $value['additional-info'] ); ?&gt;&lt;/textarea&gt;
						&lt;table id=&quot;post-status-info&quot; cellspacing=&quot;0&quot; style=&quot;line-height: 24px;&quot;&gt;
							&lt;tbody&gt;
								&lt;tr&gt;
									&lt;td&gt;&amp;nbsp;&lt;/td&gt;
									&lt;td&gt;&amp;nbsp;&lt;/td&gt;
								&lt;/tr&gt;
							&lt;/tbody&gt;
						&lt;/table&gt;
					&lt;/td&gt;
				&lt;/tr&gt;
				&lt;tr valign=&quot;top&quot;&gt;
					&lt;td&gt;&lt;label for=&quot;dt-listdata&quot;&gt;&lt;?php _e( 'Listdata:', FB_DT_TEXTDOMAIN ); ?&gt;&lt;/label&gt;&lt;/td&gt;
					&lt;td&gt;&lt;textarea cols=&quot;16&quot; rows=&quot;10&quot; id=&quot;dt-listdata&quot; name=&quot;dt-listdata&quot; class=&quot;listdata form-input-tip&quot; size=&quot;20&quot; autocomplete=&quot;off&quot; tabindex=&quot;6&quot; style=&quot;width:99.5%&quot;/&gt;&lt;?php echo $value['listdata']; ?&gt;&lt;/textarea&gt;&lt;br /&gt;&lt;small&gt;&lt;?php _e( 'One list per line', FB_DT_TEXTDOMAIN ) ?&gt;&lt;/small&gt;&lt;/td&gt;
				&lt;/tr&gt;
			&lt;/table&gt;
			&lt;?php
		}

		// return facts incl. markup
		function get_DifferentTypeFacts($id, $type, $value) {

			if (!$value)
				return false;
			if ( $type == '' )
				return false;

			if ( 'heading' == $type &amp;&amp; '' != $value['heading'] )
				return $value['heading'];
			if ( 'additional-info' == $type &amp;&amp; '' != $value['additional-info'] )
				return wpautop( wptexturize($value['additional-info']) );
			if ( 'listdata' == $type &amp;&amp; '' != $value['listdata'] ) {
				$return = '';
				$listdatas = preg_split(&quot;/\r\n/&quot;, $value['listdata'] );

				foreach ( (array) $listdatas as $key =&gt; $listdata ) {

					$return .= '&lt;li&gt;' . trim($listdata) . '&lt;/li&gt;';

				}
				return '&lt;ul&gt;' . $return . '&lt;/ul&gt;'. &quot;\n&quot;;
			}
		}

		// echo facts, if exists
		function DifferentTypeFacts($id, $type, $string) {

			if ( $id ) {
				$value = $this-&gt;load_post_meta($id);

				echo $this-&gt;get_DifferentTypeFacts($id, $type, $value);
			}
		}

	} // End class

	// instance class
	$DifferentType = new DifferentType();

	// use in template
	function the_DifferentTypeFacts($id, $type = '', $string = '') {
		global $DifferentType;

		$DifferentType-&gt;DifferentTypeFacts($id, $type, $string);
	}

} // End if class exists statement
?&gt;
</code></pre>
<p>Download als zip-Datei: <a href="http://bueltge.de/wp-content/download/wp/plugins/different-type.zip">different-type.zip</a> - 40 kByte</p>
<p>Ich wünsche viel Spass damit und vielleicht wird das einen oder andere Projekt mit WordPress damit in diesem Bereich ein wenig klarer und logischer für die Autoren.<br />
<hr />
<p style="float:right;"><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/></p>
<p><small>&copy; <a href="http://bueltge.de/">Frank Bültge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p style="border: 1px solid #666666; padding: 5px; background: #e6e6e6 none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; display: block; margin-bottom: 25px;"><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>!</p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/wordpress-plugin-flexibilitaet-schreiben/1086/feed/</wfw:commentRss>
		<slash:comments>42</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/wp/christmas/wp-christmas-24.jpg" />
		<media:content url="http://bueltge.de/wp-content/images/wp/christmas/wp-christmas-24.jpg" medium="image">
			<media:title type="html">WP Adventskalender 24</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/images/weihnacht.png" medium="image">
			<media:title type="html">Es weihnachtet</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/images/wp/different-type/screenshot-1.png" medium="image">
			<media:title type="html">Screenshot im Edit-Bereich von WordPress</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/images/wp/different-type/screenshot-2.png" medium="image">
			<media:title type="html">Screenshot im Frontend von WordPress</media:title>
		</media:content>
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>WordPress und Sessions</title>
		<link>http://bueltge.de/wordpress-und-sessions/1085/</link>
		<comments>http://bueltge.de/wordpress-und-sessions/1085/#comments</comments>
		<pubDate>Wed, 23 Dec 2009 07:40:22 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[Tipps]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Adventskalender]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1085</guid>
		<description><![CDATA[Man meint, dass WordPress die Nutzung von Sessions nicht unterstützt; immer wieder kommt es zu Fehlern, wenn man wie in PHP bekannt, einfach diverse Sessions initialisiert und nicht selten sucht man sich irre nach dem Problem.
Aber manchmal ist es leichter als es ausschaut, denn man kann einfach via Funktion die Session initialisieren. Achte darauf, dass die Initialisierung möglichst am Anfang der Datei ist.]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" src="http://bueltge.de/wp-content/images/wp/christmas/wp-christmas-23.jpg" alt="WP Adventskalender 23" /><br />
Man meint, dass WordPress die Nutzung von Sessions nicht unterstützt; immer wieder kommt es zu Fehlern, wenn man wie in <a href="http://de2.php.net/manual/de/book.session.php">PHP bekannt</a>, einfach diverse Sessions initialisiert und nicht selten <a href="http://wordpress.org/support/topic/228763">sucht man sich irre</a> nach dem Problem.<br />
Aber manchmal ist es leichter als es ausschaut, denn man kann einfach via Funktion die Session initialisieren. Achte darauf, dass die Initialisierung möglichst am Anfang der Datei ist.<br />
<span id="more-1085"></span></p>
<pre><code>
&lt;?php
if ( !session_id() )
	session_start();
</code></pre>
<p>Ich nutze öfter noch eine kleine Erweitung und habe daher eine eigene Funktion dafür.</p>
<pre><code>
&lt;?php
if ( !session_id() )
	my_start_session();

function my_start_session() {

	@session_cache_limiter('private, must-revalidate'); //private_no_expire
	@session_cache_expire(0);
	@session_start();
}
</code></pre>
<hr />
<p style="float:right;"><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/></p>
<p><small>&copy; <a href="http://bueltge.de/">Frank Bültge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p style="border: 1px solid #666666; padding: 5px; background: #e6e6e6 none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; display: block; margin-bottom: 25px;"><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>!</p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/wordpress-und-sessions/1085/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/wp/christmas/wp-christmas-23.jpg" />
		<media:content url="http://bueltge.de/wp-content/images/wp/christmas/wp-christmas-23.jpg" medium="image">
			<media:title type="html">WP Adventskalender 23</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>Contactable - Kontaktformular in WordPress</title>
		<link>http://bueltge.de/kontaktformular-wordpress-contactable/1072/</link>
		<comments>http://bueltge.de/kontaktformular-wordpress-contactable/1072/#comments</comments>
		<pubDate>Tue, 22 Dec 2009 07:41:43 +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[Performance]]></category>
		<category><![CDATA[Template]]></category>
		<category><![CDATA[Theme]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1072</guid>
		<description><![CDATA[Die Integration eines Kontaktformulars mit WordPress beginnt meist bei einer Pluginsuche und endet oft mit einem viel zu großem Aufwand. Da werden Scripte geladen, Filter von WordPress über alle Seiten und Beiträge gejagt - nur um auf einer Seite ein Formular zu integrieren. Das Blog ist immer so gut wie sein Techniker und ich möchte heute mal einen ganz einfachen Weg zeigen, wie man sich ohne große Kenntnisse trotzdem ein Kontakt-Formular in das eigene Blog integriert.]]></description>
			<content:encoded><![CDATA[<p><img  class="alignright" src="http://bueltge.de/wp-content/images/wp/christmas/wp-christmas-22.jpg" alt="WP Adventskalender 22" /><br />
Die Integration eines Kontaktformulars mit WordPress beginnt meist bei einer Pluginsuche und endet oft mit einem viel zu großem Aufwand. Da werden Scripte geladen, Filter von WordPress über alle Seiten und Beiträge gejagt - nur um auf einer Seite ein Formular zu integrieren. Das Blog ist immer so gut wie sein Techniker und ich möchte heute mal einen ganz einfachen Weg zeigen, wie man sich ohne große Kenntnisse trotzdem ein Kontakt-Formular in das eigene Blog integriert.<br />
<span id="more-1072"></span><br />
Die Lösung ist nicht der Weisheit letzter Schuss, aber sie zeigt, wie einfach es ist und wie ressourcenschonend für WordPress die Integration sein kann.<br />
Damit wir uns voll und ganz der Integration widmen können, und uns nicht mit PHP und JavaScript im Sinne des Formulars beschäftigen müssen, nutze ich hier im Beispiel das tolle Formular-Plugin<br />
<a href="http://theodin.co.uk/blog/ajax/contactable-jquery-plugin.html"><strong>Contactable</strong></a> für jQuery von Philip Beel. Das Plugin bringt alle erforderlichen Dateien mit und muss lediglich integriert werden - sehr einfach zu nutzen und wenn man mag an die eigenen Bedürfnisse anzupassen. Hinweise dazu gibt es auf der <a href="http://theodin.co.uk/blog/ajax/contactable-jquery-plugin.html">Site zum jQuery-Plugin</a>. Die Integration des Formulars zeige ich anhand des Standard-Themes Kubrick von WordPress, ist aber in jedem anderen Theme eben so zu nutzen. <strong>Aber Achtung</strong>, Spamer könnten das Plugin missbrauchen, daher gut überlegen oder erweitern - mehr dazu gibt es hier in den <a href="http://http://bueltge.de/kontaktformular-wordpress-contactable/1072/#comment-350200">Kommentaren</a> zu lesen. Danke in diesem Hinblick an Robert für die Hinweise und die damit verbundene Mühe.</p>
<p><img class="centered" src="http://bueltge.de/wp-content/images/wp/contactable.png" alt="Contactable im Kubrick" /></p>
<p>WordPress bringt im Standard die jQuery Bibliothek mit und so müssen wir uns um die nicht kümmern, sondern nutzen sie lediglich. Dabei findet der Aufruf aller nötigen Dateien und Scripte innerhalb des Templates statt, welches sich im Anschluss um die Ausgabe des Kontaktformulars kümmert. Dieses Aufruf erledigen wir mit den Funktionen von WordPress - so gehen wir sicher, dass die Dateien wirklich nur einmal geladen werden. WordPress kümmert sich um die richtige Reihenfolge und um die Abhängigkeiten. Zu diesem Thema habe ich bereits einiges an <a href="http://bueltge.de/javascript-bibliotheken-in-und-aus-wordpress-nutzen/808/">Infos hinterlegt und verweise auf diesen Beitrag</a>.</p>
<p>Als erstes erstellen wir ein Template, ich nenne es <code>contact-page.php</code> und es muss im Ordner eures Themes abgelegt werden. Dies enthält den Aufruf der nötigen Scripte und der dazugehörigen Stylesheets. Im Grunde benötigt ihr nur diese vier Aufrufe in der <code>page.php</code> eures Theme abzulegen, einen neuen Namen für die Datei zu vergeben und den Kommentar zum Erkennen durch WordPress im Page-Bereich des Backend abzulegen (ganz am Anfang der Datei). Im folgenden die Syntax am Beispiel der <code>page.php</code> aus dem Standard-Theme Kubrick.</p>
<pre><code>
&lt;?php
/**
 * Template Name: Contact Page
 *
 * @package WordPress
 * @subpackage Default_Theme
 */

wp_enqueue_script( 'jquery.contactable', get_bloginfo('template_directory') . '/contactable/jquery.contactable.js', array('jquery') , 3.1, true );
wp_enqueue_script( 'jquery.validate', get_bloginfo('template_directory') . '/contactable/jquery.validate.pack.js', array('jquery') , 3.1, true );
wp_enqueue_script( 'my_contactable', get_bloginfo('template_directory') . '/contactable/my_contactable.js', array('jquery') , 3.1, true );
wp_enqueue_style( 'contactable', get_bloginfo('template_directory') . '/contactable/contactable.css' );

get_header(); ?&gt;

	&lt;div id=&quot;content&quot; class=&quot;narrowcolumn&quot; role=&quot;main&quot;&gt;

		&lt;div class=&quot;post&quot; id=&quot;post-&lt;?php the_ID(); ?&gt;&quot;&gt;
		&lt;h2&gt;&lt;?php the_title(); ?&gt;&lt;/h2&gt;

			&lt;div class=&quot;entry&quot;&gt;
				&lt;?php the_content('&lt;p class=&quot;serif&quot;&gt;Read the rest of this page &amp;raquo;&lt;/p&gt;'); ?&gt;

				&lt;div id=&quot;mycontactform&quot;&gt; &lt;/div&gt;

			&lt;/div&gt;
		&lt;/div&gt;

	&lt;/div&gt;

&lt;?php get_sidebar(); ?&gt;

&lt;?php get_footer(); ?&gt;
</code></pre>
<p>Wie in der Syntax zu erkennen, habe ich alle Dateien des jQuery-Formular-Plugnis im Ordner <code>contactable</code> im Ordner des Themes abgelegt. Eventuell müssen daher eure Pfade angepasst werden. Aktuell sieht es in meinem Theme wie folgt aus:</p>
<ul>
<li>
default</p>
<ul>
<li>contactable
<ul>
<li>jquery.contactable.js</li>
<li>jquery.validate.pack.jss</li>
<li>my.contactable.js</li>
<li>contactable.css</li>
</ul>
</li>
<li>style.css</li>
<li>contact-page.php</li>
<li>...</li>
</ul>
</li>
</ul>
<p>Einzig die Datei <code>my.contactable.js</code> habe ich hinzugefügt; diese kümmert sich um den Aufruf des Formulars und kann mit Parametern gefüllt werden. Inhaltlich sieht sie wie folgt aus:</p>
<pre><code>
jQuery(document).ready( function($){
	$('#mycontactform').contactable({
		name: 'Name',
		email: 'E-Mail',
		message : 'Nachricht',
		recipient: 'example@domain.com',
		subject: 'Kontaktformular',
		recievedMsg : 'Vielen Dank f&amp;uuml;r Ihre Nachricht.'
	});
});
</code></pre>
<p>Sind alle Dateien gespeichert und an eure Bedürfnisse angepasst, dann muss lediglich im Admin-Bereich von WordPress eine Seite angelegt werden. Dieser Seite gebt ihr einen Namen, eventuell Inhalt und ihr müsst das Template auswählen - in unserem Fall die <strong>Contact Page</strong>. Nachdem Speichern sollte die Seite im Frontend des Blog aufzurufen sein und mit einem Klick auf das kleine Label fährt das Formular in die Sicht und kann ausgefüllt werden.</p>
<p>Durch die Aufrufe mit Hilfe von WordPress Funktionen und den richtigen Parametern, sind nun die Scripte im Footer der Site integriert. Die Bibliothek jQuery muss nicht aufgerufen werden, sie wird von WordPress hinzugefügt, wenn sie noch nicht da ist, durch die Abhängigkeit der Parameter zum Schlüssel <code>jquery</code>. Durch die Nutzung eines Templates mit allen Aufrufen werden sämtliche Scripte und StyleSheets nur eingebunden, wenn diese Seite von WordPress aufgerufen wird. Wer das Formular-Schnippsel auf allen Seiten möchte, der macht den Aufruf bspw. in der <code>header.php</code> oder <code>functions.php</code>.</p>
<p><img class="centered" src="http://bueltge.de/wp-content/images/wp/contactable-ocss.png" alt="Contactable im Kubrick" /></p>
<p>Möchte man diese Funktion nicht nutzen, so kann entweder dass CSS nicht genutzt werden, bzw. ein eigenes Design hinzugefügt werden oder man passt das JS an seine eigenen Bedürfnisse an. Gleiches gilt für zusätzliche Felder im Formular, dazu muss der Inhalt der Dateien angepasst werden.<br />
<hr />
<p style="float:right;"><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/></p>
<p><small>&copy; <a href="http://bueltge.de/">Frank Bültge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p style="border: 1px solid #666666; padding: 5px; background: #e6e6e6 none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; display: block; margin-bottom: 25px;"><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>!</p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/kontaktformular-wordpress-contactable/1072/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/wp/christmas/wp-christmas-22.jpg" />
		<media:content url="http://bueltge.de/wp-content/images/wp/christmas/wp-christmas-22.jpg" medium="image">
			<media:title type="html">WP Adventskalender 22</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/images/wp/contactable.png" medium="image">
			<media:title type="html">Contactable im Kubrick</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/images/wp/contactable-ocss.png" medium="image">
			<media:title type="html">Contactable im Kubrick</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>Scripte von Plugins aus dem Frontend entfernen</title>
		<link>http://bueltge.de/scripte-plugins-frontend-entfernen/1083/</link>
		<comments>http://bueltge.de/scripte-plugins-frontend-entfernen/1083/#comments</comments>
		<pubDate>Mon, 21 Dec 2009 07:59:53 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Tipps]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Adventskalender]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[Theme]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1083</guid>
		<description><![CDATA[Nicht selten werden Scripte im Frontend des WordPress-Blog via Hook abgelegt. Dabei werden leider nicht immer die optimalen Wege gewählt und es kann vorkommen, dass die Scripte entweder nicht an der richtigen Stelle sind, Foote roder head-Bereich, oder dass Bibliotheken mehrfach genutzt werden. Dies kostet Last und ist in keinem Fall erwünscht.

Das Feld der Optimierung von Websites ist weit und viele Möglichkeiten stehen dem Entwickler zur Verfügung, um das optimale aus der Site zu holen. Um die Scripte von Plugins an die Stelle zu bewegen, wo man sie haben will, und die Prüfung der Redundanz von Scripten zu nutzen, bedarf es Anpassungen im Plugins selbst. Dies kann aufwendig sein und beim nächsten Update des Plugins kann das Problem von neuem bestehen.

Daher bietet es sich an, dass man alle Scripte aus dem Frontend löscht und die Integration selbst in die Hand nimmt.]]></description>
			<content:encoded><![CDATA[<p><img  class="alignright" src="http://bueltge.de/wp-content/images/wp/christmas/wp-christmas-21.jpg" alt="WP Adventskalender 21" /><br />
Nicht selten werden Scripte im Frontend des WordPress-Blog via Hook abgelegt. Dabei werden leider nicht immer die <a href="http://bueltge.de/javascript-bibliotheken-in-und-aus-wordpress-nutzen/808/">optimalen Wege</a> gewählt und es kann vorkommen, dass die Scripte entweder nicht an der richtigen Stelle sind, Footer oder head-Bereich, oder dass Bibliotheken mehrfach genutzt werden. Dies kostet Last und ist in keinem Fall erwünscht.</p>
<p>Das Feld der Optimierung von Websites ist weit und viele Möglichkeiten stehen dem Entwickler zur Verfügung, um das optimale aus der Site zu holen. Um die Scripte von Plugins an die Stelle zu bewegen, wo man sie haben will, und die Prüfung der Redundanz von Scripten zu nutzen, bedarf es Anpassungen im Plugins selbst. Dies kann aufwendig sein und beim nächsten Update des Plugins kann das Problem von neuem bestehen.</p>
<p>Daher bietet es sich an, dass man alle Scripte aus dem Frontend löscht und die Integration selbst in die Hand nimmt.<br />
<span id="more-1083"></span></p>
<pre><code class="php">
remove_action('wp_head', 'wp_print_head_scripts', 9, 0);
</code></pre>
<p>Die obige kleine Anweisung in der <code>functions.php</code> des Themes sorgt dafür, dass alle Script aus dem Frontend entfernt werden und man selbst die Integration vornehmen kann.</p>
<p>Ähnlich kann man im übrigen auch mit Stylesheets verfahren.</p>
<pre><code class="php">
remove_action('wp_head', 'wp_print_styles', 8, 0);
</code></pre>
<p>Weitere Tipps zum Bereinigen des head gibt es unter einem <a href="http://bueltge.de/wordpress-head-erleichtern/968/">weiteren Artikel</a>.<br />
<hr />
<p style="float:right;"><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/></p>
<p><small>&copy; <a href="http://bueltge.de/">Frank Bültge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p style="border: 1px solid #666666; padding: 5px; background: #e6e6e6 none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; display: block; margin-bottom: 25px;"><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>!</p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/scripte-plugins-frontend-entfernen/1083/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/wp/christmas/wp-christmas-21.jpg" />
		<media:content url="http://bueltge.de/wp-content/images/wp/christmas/wp-christmas-21.jpg" medium="image">
			<media:title type="html">WP Adventskalender 21</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>Syndication Frequenz von WordPress optimieren</title>
		<link>http://bueltge.de/syndication-frequenz-wordpress-optimieren/1054/</link>
		<comments>http://bueltge.de/syndication-frequenz-wordpress-optimieren/1054/#comments</comments>
		<pubDate>Sun, 20 Dec 2009 08:10:34 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Tipps]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Adventskalender]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Feed]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[RSS]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1054</guid>
		<description><![CDATA[
Heute wird ein Standard 9 Jahre alt, den kaum einer beachtet: Das Syndication-Modul 1.4.1 aus der RDF Site Summary 1.0.
Wozu taugt das?
Angeblich bloggen einige von euch seltener als 10 Mal pro Tag. Schämt euch … nicht!
WordPress allerdings geht davon aus, dass ihr gar nicht mehr aufhören könnt, deshalb schreibt es in den RSS-Feed:

&#60;sy:updatePeriod&#62;hourly&#60;/sy:updatePeriod&#62;
&#60;sy:updateFrequency&#62;1&#60;/sy:updateFrequency&#62;


Zu Deutsch: Jeder [...]]]></description>
			<content:encoded><![CDATA[<p><img  class="alignright" src="http://bueltge.de/wp-content/images/wp/christmas/wp-christmas-20.jpg" alt="WP Adventskalender 20" /><br />
Heute wird ein Standard 9 Jahre alt, den kaum einer beachtet: Das <a hreflang="en" href="http://purl.org/rss/1.0/modules/syndication/">Syndication-Modul 1.4.1 aus der RDF Site Summary 1.0</a>.</p>
<h4>Wozu taugt das?</h4>
<p>Angeblich bloggen einige von euch seltener als 10 Mal pro Tag. Schämt euch … nicht!<br />
WordPress allerdings geht davon aus, dass ihr gar nicht mehr aufhören könnt, deshalb schreibt es in den RSS-Feed:</p>
<pre><code class="xml">
&lt;sy:updatePeriod&gt;hourly&lt;/sy:updatePeriod&gt;
&lt;sy:updateFrequency&gt;1&lt;/sy:updateFrequency&gt;
</code></pre>
<p><span id="more-1054"></span><br />
Zu Deutsch: Jeder Feedreader soll einmal pro Stunde nachsehen, ob ihr endlich wieder etwas geschrieben habt.</p>
<p>Wer seinen Server von solch eifriger Nachfrage ein bisschen entlasten will, der kann das ändern. In die <code>functions.php</code> schreibe man diese zwei Zeilen:</p>
<pre><code class="php">
add_filter( 'rss_update_period',    create_function( '', 'return "daily";' ) );
add_filter( 'rss_update_frequency', create_function( '', 'return 4;' ) );
</code></pre>
<p>Ein paar Feedreader halten sich sogar daran, viele andere nicht. Und wenn es nur einer ist: Wieder habt ihr ein paar Ressourcen gespart, die ihr woanders arbeiten lassen könnt.</p>
<div class="contentdiv">
<h4>Gastbeitrag</h4>
<p>Dieser Beitrag ist aus der Feder von Thomas Scholz - <a href="http://toscho.de/">toscho.de</a> und ist ein Beitrag zum <a title="Schreibe auch einen Gastbeitrag - siehe weitere Informationen in diesem Beitrag" href="http://bueltge.de/adventskalender-hier-und-da/1051/">Adventskalender auf bueltge.de</a> zum Thema WordPress.<br />
Vielen Dank auch hier nochmal von meiner Seite an <a href="http://toscho.de/">Thomas</a>.
</div>
<hr />
<p style="float:right;"><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/></p>
<p><small>&copy; <a href="http://bueltge.de/">Frank Bültge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p style="border: 1px solid #666666; padding: 5px; background: #e6e6e6 none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; display: block; margin-bottom: 25px;"><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>!</p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/syndication-frequenz-wordpress-optimieren/1054/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/wp/christmas/wp-christmas-20.jpg" />
		<media:content url="http://bueltge.de/wp-content/images/wp/christmas/wp-christmas-20.jpg" medium="image">
			<media:title type="html">WP Adventskalender 20</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>Beitragsausgabe in Abhängigkeit der Kommentare</title>
		<link>http://bueltge.de/beitragsausgabe-abhaengigkeit-kommentare/1081/</link>
		<comments>http://bueltge.de/beitragsausgabe-abhaengigkeit-kommentare/1081/#comments</comments>
		<pubDate>Sat, 19 Dec 2009 07:28:06 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Tipps]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Adventskalender]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Queries]]></category>
		<category><![CDATA[Template]]></category>
		<category><![CDATA[Theme]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1081</guid>
		<description><![CDATA[Den Loop zu verstehen ist das eine, den Query auf seine Bedürnisse anzupassen etwas anderes. In diesem Zusammenhang gibt es sehr viele Möglichkeiten und man muss keinen SQL-Befehl absetzen. Mit WordPress Version 2.9 gibt es ein weiteres kleines Highlight, die Ausgabe der Inhalte in Abhängigkeit der Kommentare - orderby=comment_count.]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" src="http://bueltge.de/wp-content/images/wp/christmas/wp-christmas-19.jpg" alt="WP Adventskalender 19" /><br />
Den Loop zu verstehen ist das eine, den Query auf seine Bedürnisse anzupassen etwas anderes. In diesem Zusammenhang gibt es sehr viele Möglichkeiten und man muss keinen SQL-Befehl absetzen.<br />
Mit WordPress Version 2.9 gibt es ein weiteres kleines Highlight, die Ausgabe der Inhalte in Abhängigkeit der Kommentare - <code>orderby=comment_count</code>.<br />
<span id="more-1081"></span><br />
Damit wird die Ausgabe für Themes, die beispielsweise die Sortierung <strong>aufgrund der Kommentarbeteiligung</strong> vornehmen, zum Kinderspiel. Ebenso kann man damit die meist kommentierten Beiträge als Mehrwert für den Leser recht einfach umsetzen.</p>
<pre><code class="php">
query_posts('posts_per_page=5&amp;offset=1&amp;orderby=comment_count');
if ( have_posts() ) :
	while ( have_posts() ) : the_post(); ?&gt;
</code></pre>
<p>Alternativ kann man beispielsweise auch <strong>via Zufall sortieren</strong> lassen; nützlich bei kleinen Gimmicks in der Sidebar; auch dazu ein Beispiel mit anderer Syntax.</p>
<pre><code>
&lt;?php
$i = new WP_Query( array('category_name' =&gt; 'referenzen', 'showposts' =&gt; 10, 'nopaging' =&gt; 0, 'post_status' =&gt; 'publish', 'caller_get_posts' =&gt; 1, 'orderby' =&gt; 'rand') );
if ( $i-&gt;have_posts() ) : ?&gt;
</code></pre>
<p>Ebenso kann man seit Version 2.8 von WordPress die Sortierung deaktivieren - <code>orderby=none</code>.</p>
<p>Viele weitere Tipps gibt es in einem <a href="http://bueltge.de/wordpress-query-quick-tipps/717/">Quick Tipp</a> von mir und natürlich im <a href="http://codex.wordpress.org/Template_Tags/query_posts">Codex</a> von WordPress.<br />
<hr />
<p style="float:right;"><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/></p>
<p><small>&copy; <a href="http://bueltge.de/">Frank Bültge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p style="border: 1px solid #666666; padding: 5px; background: #e6e6e6 none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; display: block; margin-bottom: 25px;"><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>!</p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/beitragsausgabe-abhaengigkeit-kommentare/1081/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/wp/christmas/wp-christmas-19.jpg" />
		<media:content url="http://bueltge.de/wp-content/images/wp/christmas/wp-christmas-19.jpg" medium="image">
			<media:title type="html">WP Adventskalender 19</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 Post Thumbnail und die Abwärtskompatibilität</title>
		<link>http://bueltge.de/wordpress-post-thumbnail-abwaertskompatibel/1079/</link>
		<comments>http://bueltge.de/wordpress-post-thumbnail-abwaertskompatibel/1079/#comments</comments>
		<pubDate>Fri, 18 Dec 2009 08:09:51 +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[Code]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Template]]></category>
		<category><![CDATA[Theme]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1079</guid>
		<description><![CDATA[WordPress bringt mit Version 2.9 die wohl am meisten diskutierte Funktion des Post Thumbnails in das System. Für windige Theme-Autoren war das auch im Vorfeld kein Thema und trotzdem wird sie geliebt. Wichtig bei dieser Funktion, sie geht nur, wenn man sie explizit im Theme aktiviert. Dies macht der folgenden kleine Schnipsel in der functions.php des Themes: add_theme_support('post-thumbnails');.

Aber auch bei dieser Funktion sollte man auf das Vorhandensein der Funktion prüfen und eine Alternative anbieten. Nur so kann man dem Nutzer die Freiheit der WordPress Version überlassen. Die Funktionen von Erweiterungen, Plugins und Themes gehröen einer Prüfung unterzogen; so ist die Funktion des Themes abgesichert, auch wenn eine Funktion nicht zur Verfügung steht. Ähnlich sehe ich es mit dieser Funktion für die Thumbnails zum Beitrag, auch wenn sie Funktionen aus dem Core nutzen.

Zwei Anregungen für Alternativen möchte ich im folgenden kurz aufzeigen und ich verweise auf den ausführlichen Artikel zum Thema Bilder in Themes mit Benutzerdef. Feldern oder der Mediathek von WordPress nutzen.]]></description>
			<content:encoded><![CDATA[<p><img  class="alignright" src="http://bueltge.de/wp-content/images/wp/christmas/wp-christmas-18.jpg" alt="WP Adventskalender 18" /><br />
WordPress bringt mit <a href="http://codex.wordpress.org/Version_2.9">Version 2.9</a> die wohl am meisten diskutierte Funktion des Post Thumbnails in das System. Für windige Theme-Autoren war das auch im Vorfeld kein Thema und trotzdem wird sie geliebt. Wichtig bei dieser Funktion, sie geht nur, wenn man sie explizit im Theme aktiviert. Dies macht der folgenden kleine Schnipsel in der functions.php des Themes: <code>add_theme_support('post-thumbnails');</code>.</p>
<p>Aber auch bei dieser Funktion sollte man auf das Vorhandensein der Funktion prüfen und eine Alternative anbieten. Nur so kann man dem Nutzer die Freiheit der WordPress Version überlassen. Die Funktionen von Erweiterungen, Plugins und Themes gehröen einer Prüfung unterzogen; so ist die Funktion des Themes abgesichert, auch wenn eine Funktion nicht zur Verfügung steht. Ähnlich sehe ich es mit dieser Funktion für die Thumbnails zum Beitrag, auch wenn sie Funktionen aus dem Core nutzen.</p>
<p>Zwei Anregungen für Alternativen möchte ich im folgenden kurz aufzeigen und ich verweise auf den ausführlichen <a href="http://bueltge.de/wordpress-attachment-metadaten-nutzen/625/">Artikel zum Thema Bilder in Themes mit Benutzerdef. Feldern oder der Mediathek von WordPress nutzen</a>.<br />
<span id="more-1079"></span></p>
<p>Nach Hinzufügen der folgenden Syntax in der <code>functions.php</code> des Themes steht die MetaBox im Bereich Schreiben eines Beitrags bzw. Seite bereit und kann einfach via Aufruf der Mediathek aus dieser MetaBox genutzt werden.</p>
<pre><code class="php">
if ( function_exists('add_theme_support') )
	add_theme_support('post-thumbnails');
</code></pre>
<p>Alternativ kann man zwischen Beiträgen und Seiten trennen:</p>
<pre><code>
add_theme_support( 'post-thumbnails', array( 'post' ) ); //Beiträge
add_theme_support( 'post-thumbnails', array( 'page' ) ); //Seiten
</code></pre>
<p>Man kann im übrigen auch Größen definieren, zum einen direkt für Thumbnails ...</p>
<pre><code>
set_post_thumbnail_size( 150, 150, true ); // Breite, Höhe, true für kein crop mode; beschneiden
</code></pre>
<p>... und ebenso andere Größen, in dem man zusätzlich einen Namen vergibt. Im obigen Code ist der Standard-Name <code>post-thumbnail</code> übergeben.</p>
<pre><code>
add_image_size('my-single-picture', 150, 150, false);
</code></pre>
<p>Die Ausgabe des Bildes wird dann im Theme an der Stelle, wo es erscheinen soll, einfach mit Hilfe des Template Tag erzeugt: <code>the_post_thumbnail()</code>.</p>
<pre><code class="php">
if ( current_theme_supports( 'post-thumbnails' ) )
	the_post_thumbnail( array(300,200) );
</code></pre>
<p>Alternativ kann man dann auch wieder die eigenen Typen abfragen:</p>
<pre><code>
the_post_thumbnail( 'my-single-picture' );
</code></pre>
<p>Wichtig, arbeitet man mit zusätzlichem Markup, dann gehört die Abfrage dazu, ob es denn ein Thumbnail zum Beitrag gibt. Ansonsten wird unnötig Markup ausgegeben, welches keinen Inhalt hat.</p>
<pre><code class="php">
&lt;?php
if ( has_post_thumbnail() ) { ?&gt;
	&lt;span class="my_image"&gt;
		&lt;?php the_post_thumbnail(array(600, 400)); ?&gt;
	&lt;/span&gt;
} ?&gt;
</code></pre>
<p>Um nun aber eine Alternative für Installationen kleiner WP 2.9 zu haben, kann man verschiedene Ansätze gehen. Die zwei folgenden Beispiele sind daher als Ideengeber zu verstehen: entweder mit Hilfe der benutzerdefinierten Felder, Feldname ist <code>post-image</code> ...</p>
<pre><code class="php">
if ( function_exists('has_post_thumbnail') &amp;&amp; has_post_thumbnail() ) {
	the_post_thumbnail(); // @parameter: array(height, width)
} else {
	$myimage = get_post_meta($post-&gt;ID, 'post-image', true); // via custom field
	if ($myimage) {
		echo '&lt;img class="wp-post-image" src="'.$postimage.'" alt="Post Iage" /&gt;';
	}
}
</code></pre>
<p>... oder im nachfolgenden Beispiel das erste Bild aus der Mediathek. Mehr dazu gibt es in <a href="http://bueltge.de/wordpress-attachment-metadaten-nutzen/625/">einem separaten Beitrag</a>.</p>
<pre><code class="php">
if ( function_exists('has_post_thumbnail') &amp;&amp; has_post_thumbnail() ) {
	the_post_thumbnail(); // @paramter: array(height, width)
} else {
	// via mediathek
	$attachments = get_children( array(
									'post_parent'    =&gt; get_the_ID(),
									'post_type'      =&gt; 'attachment',
									'numberposts'    =&gt; 1, // show all -1
									'post_status'    =&gt; 'inherit',
									'post_mime_type' =&gt; 'image',
									'order'          =&gt; 'ASC',
									'orderby'        =&gt; 'menu_order ASC'
									) );
	foreach ( $attachments as $attachment_id =&gt; $attachment ) {
		echo wp_get_attachment_image( $attachment_id );
	}
}
</code></pre>
<p><strong>Prüfen</strong> ob das Theme die Funktion unterstützt ist ebenso möglich:</p>
<pre><code class="php">
if ( current_theme_supports( 'post-thumbnails' ) ) {
	...
</code></pre>
<p>Zusätzlich kann man prüfen, ob das Theme die Funktion  unterstützt und explizit für Beiträge (post) oder Seiten (page) nutzen. Sehr interessant, wenn man zusätzliche Funktionen in den Schreiben-Bereich des Backend bringen möchte, welcher abhängig von diesem Feature innerhalb des Theme ist.:</p>
<pre><code class="php">
if ( current_theme_supports( 'post-thumbnails', array( 'page' ) ) ) {
	add_meta_box( ...
</code></pre>
<p>In diesem Zusammenhang kann man auch extern Dateien mit neuen Funktionen einbinden.</p>
<pre><code class="php">
require_if_theme_supports( 'post-thumbnails', ABSPATH . WPINC . '/my-post-thumbnail-funktion.php' );
</code></pre>
<hr />
<p style="float:right;"><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/></p>
<p><small>&copy; <a href="http://bueltge.de/">Frank Bültge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p style="border: 1px solid #666666; padding: 5px; background: #e6e6e6 none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; display: block; margin-bottom: 25px;"><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>!</p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/wordpress-post-thumbnail-abwaertskompatibel/1079/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/wp/christmas/wp-christmas-18.jpg" />
		<media:content url="http://bueltge.de/wp-content/images/wp/christmas/wp-christmas-18.jpg" medium="image">
			<media:title type="html">WP Adventskalender 18</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 Loop, $post liefert</title>
		<link>http://bueltge.de/wordpress-loop-post-liefert/884/</link>
		<comments>http://bueltge.de/wordpress-loop-post-liefert/884/#comments</comments>
		<pubDate>Thu, 17 Dec 2009 07:34:47 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Tipps]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Adventskalender]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Post]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=884</guid>
		<description><![CDATA[Ab und an kommt man nicht mit den Template Tags aus und man benötigt Inhalte aus dem $post-Array. Die folgende Liste ist eine kurze Referenz dieses Array. In dem Array findet man alle relevanten Inhalte zum Beitrag bzw. Seite, Attachments, Versionen eines Beitrags und andere Typen.]]></description>
			<content:encoded><![CDATA[<p><img  class="alignright" src="http://bueltge.de/wp-content/images/wp/christmas/wp-christmas-17.jpg" alt="WP Adventskalender 17" /><br />
Ab und an kommt man nicht mit den Template Tags aus und man benötigt Inhalte aus dem <code>$post</code>-Array. Die folgende Liste ist eine kurze Referenz dieses Array. In dem Array findet man alle relevanten Inhalte zum Beitrag bzw. Seite, Attachments, Versionen eines Beitrags und andere Typen.</p>
<p>Ein kleines Beispiel soll das Nutzen verdeutlichen, so wie man es beispielsweise in einem Template des Themes nutzen würde.<br />
<span id="more-884"></span></p>
<pre><code class="php">
&lt;?php
if ( '' != $post-&gt;post_excerpt ) { ?&gt;
	&lt;div id=&quot;summary&quot;&gt;
		&lt;h3&gt;&lt;?php _e('Mein Auszug', 'my_textdomain'); ?&gt; #&lt;?php echo $post-&gt;ID; ?&gt;&lt;/h3&gt;
		the_excerpt();
	&lt;/div&gt;
&lt;?php } ?&gt;
</code></pre>
<p> Ebenso kann der Inhalt des Array eine wichtige Rolle in <a href="http://bueltge.de/wordpress-query-quick-tipps/717/">besonderen Queries</a> sein, da man dort den Zugriff explizit möchte.</p>
<pre><code class="php">
&lt;?php
$my_query = new WP_Query('post_status=future&amp;order=DESC&amp;showposts=5');
if ( $my_query-&gt;have_posts() ) {

    echo '&lt;h2&gt;'; _e('Vorgesehene Beitr&Atilde;&curren;ge', 'my_textdomain'); echo '&lt;/h2&gt;';
    echo '&lt;ul&gt;';

    while ( $my_query-&gt;have_posts() ) :
        $my_query-&gt;the_post();
        $do_not_duplicate = $post-&gt;ID;
        echo '&lt;li&gt;' . get_the_title() . __(' (erscheint am ') . get_the_time('d.m.Y') . __(')', 'my_textdomain') . '&lt;/li&gt;';
    endwhile; 

    echo '&lt;/ul&gt;';
}
?&gt;
</code></pre>
<ul>
<li><code>ID</code> ID des Beitrags</li>
<li><code>post_author</code> Liefert die ID des Autors</li>
<li><code>post_date</code> Veröffentlichungsdatum/ -zeit des Beitrags +/- Zeitzone des Blogs, Bsp.: 2009-12-17 10:37:48</li>
<li><code>post_date_gmt</code> Veröffentlichungsdatum/ -zeit, Bsp.: 2009-12-16 09:37:48</li>
<li><code>post_content</code> Inhalt des Beitrags (ohne <code>wpautop</code>-Filter etc.)</li>
<li><code>post_title</code> Titel des Beitrags</li>
<li><code>post_excerpt</code> Ausschnitt des Beitrags; nur wenn die Metabox gefüllt ist</li>
<li><code>post_status</code> Status des Beitrags</li>
<li><code>comment_status</code> Status der Kommentare (offen oder geschlossen)</li>
<li><code>ping_status</code> Status des Pin (<code>open</code> oder <code>closed</code>) </li>
<li><code>post_password</code> Passwort im Klartext, nur bei Seiten</li>
<li><code>post_name</code> Slug für den Permalink</li>
<li><code>to_ping</code> URL die via Trackback erreicht werden soll</li>
<li><code>pinged</code> Trackback-URL gesandt</li>
<li><code>post_modified</code> Zeitstempel der letzten Modifikation, Bsp.: 2009-12-17 17:16:34</li>
<li><code>post_modified_gmt</code> Zeitstempel der letzten Modifikation +/- Zeitzone des Blogs, Bsp.: 2009-12-17 16:16:34</li>
<li><code>post_content_filtered</code> Attachment zum Beitrag gefiltert</li>
<li><code>post_parent</code> Vorläufer des Beitrags</li>
<li><code>guid</code> URL des Beitrags</li>
<li><code>menu_order</code> Wert der Vorgabe für die Menu-Reihenfolge von Seiten</li>
<li><code>post_type</code> Type des Artikels; <code>any</code>, <code>attachment</code>, <code>page</code>, <code>post</code>, oder <code>revision</code></li>
<li><code>post_mime_type</code> Mime-Typ des Attachment, <a href="http://bueltge.de/dateitypen-fuer-die-mediathek-freigeben/1011/">siehe Typen</a></li>
<li><code>comment_count</code> Zähler der Kommentare</li>
<li><code>ancestors</code> Vorgänger-Beitrags IDs</li>
</ul>
<hr />
<p style="float:right;"><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/></p>
<p><small>&copy; <a href="http://bueltge.de/">Frank Bültge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p style="border: 1px solid #666666; padding: 5px; background: #e6e6e6 none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; display: block; margin-bottom: 25px;"><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>!</p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/wordpress-loop-post-liefert/884/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/wp/christmas/wp-christmas-17.jpg" />
		<media:content url="http://bueltge.de/wp-content/images/wp/christmas/wp-christmas-17.jpg" medium="image">
			<media:title type="html">WP Adventskalender 17</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>Update Prüfung für Themes entfernen</title>
		<link>http://bueltge.de/update-pruefung-fuer-themes-entfernen/1076/</link>
		<comments>http://bueltge.de/update-pruefung-fuer-themes-entfernen/1076/#comments</comments>
		<pubDate>Wed, 16 Dec 2009 07:09:40 +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[Performance]]></category>
		<category><![CDATA[Theme]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1076</guid>
		<description><![CDATA[Ich hatte das Thema hier schon mehrfach - der Update-Check von WordPress ist nicht in jedem Fall sinnvoll und kann Last kosten, die man anders gebrauchen kann. Ich klemme je nach Anforderung den Cron ab und via Hook sorge ich dafür, dass das Update auf diverse Themen nicht mehr läuft.]]></description>
			<content:encoded><![CDATA[<p><img  class="alignright" src="http://bueltge.de/wp-content/images/wp/christmas/wp-christmas-16.jpg" alt="WP Adventskalender 16" /><br />
Ich hatte das Thema hier schon mehrfach (und in <a href="http://bueltge.de/wordpress-crons-loeschen/1070/">Türchen Nr. 12</a>) - der Update-Check von WordPress ist nicht in jedem Fall sinnvoll und kann Last kosten, die man anders gebrauchen kann. Ich klemme je nach Anforderung den Cron ab und via Hook sorge ich dafür, dass das Update auf diverse Themen nicht mehr läuft.</p>
<p><a href="http://markjaquith.wordpress.com/2009/12/14/excluding-your-plugin-or-theme-from-update-checks/">Mark Jaquith</a> stellt zwei sehr schöne Lösungen vor, wie man in Plugins und Themes als Autor den Update-check abklemmt. Viele Blogs nutzen Themes, welche selbst geschrieben sind, oder welche kein Update erhalten können. Insofern ist vor allem die Lösung für die Themes sehr nützlich.<br />
<span id="more-1076"></span><br />
Sie ist schnell in die <code>functions.php</code> des jeweiligen Themes integriert und so muss man sich nicht mehr in den Einstellungen des Blog darum kümmern. Gerade im Hinblick auf Themes für Kunden, welche sicher kein automatisches Update bekommen, ist diese kleine Funktion ein Mehrwert und gehört daher in die Arbeit aufgenommen.</p>
<pre><code>
function cws_hidden_theme_12345( $r, $url ) {
	if ( false !== strpos( $url, 'http://api.wordpress.org/themes/update-check' ) )
		return $r; // Not a theme update request. Bail immediately.

	$themes = unserialize( $r['body']['themes'] );
	unset( $themes[ get_option( 'template' ) ] );
	unset( $themes[ get_option( 'stylesheet' ) ] );
	$r['body']['themes'] = serialize( $themes );
	return $r;
}

add_filter( 'http_request_args', 'cws_hidden_theme_12345', 5, 2 );
</code></pre>
<p><a href="http://markjaquith.wordpress.com/2009/12/14/excluding-your-plugin-or-theme-from-update-checks/">Mark stellt in seinem Beitrag</a> ebenso eine Lösung für Plugins vor, die ich ebenso sinnvoll finde; gerade bei Plugins für explizite Kundenwünsche finde ich das wichtig und so kommt man auch nicht in Kollision, wenn es ein Plugin im SVN gibt/entsteht, was den gleichen Namen trägt.<br />
<hr />
<p style="float:right;"><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/></p>
<p><small>&copy; <a href="http://bueltge.de/">Frank Bültge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p style="border: 1px solid #666666; padding: 5px; background: #e6e6e6 none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; display: block; margin-bottom: 25px;"><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>!</p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/update-pruefung-fuer-themes-entfernen/1076/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/wp/christmas/wp-christmas-16.jpg" />
		<media:content url="http://bueltge.de/wp-content/images/wp/christmas/wp-christmas-16.jpg" medium="image">
			<media:title type="html">WP Adventskalender 16</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>Formatwechsel bei Google News-Sitemaps</title>
		<link>http://bueltge.de/formatwechsel-bei-google-news-sitemaps/1036/</link>
		<comments>http://bueltge.de/formatwechsel-bei-google-news-sitemaps/1036/#comments</comments>
		<pubDate>Tue, 15 Dec 2009 08:02:33 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Plugin]]></category>
		<category><![CDATA[Webküche]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Adventskalender]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[WP]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1036</guid>
		<description><![CDATA[Die Google News können eine wichtige Quelle für Besucher sein, den Traffic steigern und die Wertsteigerung der Site enorm beeinflussen.
In den letzten Wochen hat Google das Format der News Sitemap erweitert und fordert alle Sites auf, die Inhalte in die News von Google einspeisen dürfen, diese neue Format zu übernehmen. Da ich in der Vergangenheit ein Plugin und eine Datei für das Root bereit gestellt habe, stelle ich nun eine neue Version zur Verfügung und denke, dass ich damit einige Anfragen in meinem Postkasten eliminieren kann.]]></description>
			<content:encoded><![CDATA[<p><img  class="alignright" src="http://bueltge.de/wp-content/images/wp/christmas/wp-christmas-15.jpg" alt="WP Adventskalender 15" /><br />
Die Google News können eine wichtige Quelle für Besucher sein, den Traffic steigern und die Wertsteigerung der Site enorm beeinflussen.<br />
In den letzten Wochen hat Google das Format der News Sitemap erweitert und fordert alle Sites auf, die Inhalte in die News von Google einspeisen dürfen, diese neue Format zu übernehmen.<br />
Da ich in der Vergangenheit ein Plugin und eine Datei für das Root bereit gestellt habe, stelle ich nun eine neue Version zur Verfügung und denke, dass ich damit einige Anfragen in meinem Postkasten eliminieren kann.<br />
<span id="more-1036"></span></p>
<ul>
<li><a href="http://www.google.com/support/news_pub/bin/answer.py?hl=de&#038;answer=161989">Häufig gestellte Fragen zum Formatwechsel bei Google News-Sitemaps</a></li>
<li><a href="http://www.google.com/support/news_pub/bin/answer.py?hl=de&#038;answer=74288">Das neue Format</a>
<pre><code class="xml">
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;urlset xmlns=&quot;http://www.sitemaps.org/schemas/sitemap/0.9&quot;
        xmlns:n=&quot;http://www.google.com/schemas/sitemap-news/0.9&quot;&gt;
  &lt;url&gt;
    &lt;loc&gt;http://www.example.org/business/article55.html&lt;/loc&gt;
    &lt;n:news&gt;
      &lt;n:publication&gt;
        &lt;n:name&gt;The Example Times&lt;/n:name&gt;
        &lt;n:language&gt;en&lt;/n:language&gt;
      &lt;/n:publication&gt;
      &lt;n:access&gt;subscription&lt;/n:access&gt;
      &lt;n:genres&gt;pressrelease, blog&lt;/n:genres&gt;
      &lt;n:publication_date&gt;2008-12-23&lt;/n:publication_date&gt;
      &lt;n:title&gt;Companies A, B in Merger Talks&lt;/n:title&gt;
      &lt;n:keywords&gt;business, merger, acquisition, A, B&lt;/n:keywords&gt;
      &lt;n:stock_tickers&gt;NASDAQ:A, NASDAQ:B&lt;/n:stock_tickers&gt;
    &lt;/n:news&gt;
  &lt;/url&gt;
&lt;/urlset&gt;
</code></pre>
</li>
<li><a href="http://bueltge.de/google-news-quelle-mit-wordpress-werden/836/">Plugin und Root-Lösung</a><br />
Hintergründe und die beiden Lösungen findet ihr auf der zugehörigen Seite, die ich erweitert habe und wo man das Plugin und die Datei für das Root downloaden kann.</li>
</ul>
<hr />
<p style="float:right;"><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/></p>
<p><small>&copy; <a href="http://bueltge.de/">Frank Bültge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p style="border: 1px solid #666666; padding: 5px; background: #e6e6e6 none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; display: block; margin-bottom: 25px;"><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>!</p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/formatwechsel-bei-google-news-sitemaps/1036/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/wp/christmas/wp-christmas-15.jpg" />
		<media:content url="http://bueltge.de/wp-content/images/wp/christmas/wp-christmas-15.jpg" medium="image">
			<media:title type="html">WP Adventskalender 15</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>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk
Database Caching 135/216 queries in 0.052 seconds using disk

Served from: bueltge.de @ 2010-03-18 19:57:50 -->