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

<channel>
	<title>bueltge.de [by:ltge.de] &#187; Webdeveloper</title>
	<atom:link href="http://bueltge.de/tag/webdeveloper/feed/" rel="self" type="application/rss+xml" />
	<link>http://bueltge.de</link>
	<description>Frank Bültge schreibt auf bueltge.de zu den Themen Webentwicklung &#38; design, WordPress, Literatur und andere Themen bezüglich Internet und Development</description>
	<lastBuildDate>Mon, 06 Feb 2012 12:19:43 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Simple Media Queries Debugging</title>
		<link>http://bueltge.de/simple-media-queries-debugging/1286/</link>
		<comments>http://bueltge.de/simple-media-queries-debugging/1286/#comments</comments>
		<pubDate>Thu, 23 Jun 2011 11:17:58 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[CSS, xHTML, JS]]></category>
		<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[Webküche]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Webdeveloper]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1286</guid>
		<description><![CDATA[Media Queries sind dabei sich zu etablieren, Vor- und Nachteile seien hier kein Thema. Definitiv ist das „Debuggen” nicht immer einfach und die Layouterstellung kann schnell komplex werden. Diese Lösung stellt die Umsetzung einer Idee dar, um den jeweiligen Viewport zu kennen, da im obersten Bereich der Seite dargestellt wird. Durch diese Werte kann auf die verschiedenen Weiten eingegangen werden.]]></description>
			<content:encoded><![CDATA[<p>Der Titel dieses Artikels ist für die entstandene Lösung sicher überzogen &#8211; trotzdem hatte ich mal wieder Spaß an einer kleinen <a href="http://bueltge.de/test/media-query-debugger.php">statischen Spielerei</a>, die im Grunde nur entstanden ist, da ich für ein Projekt den Viewport haben wollte um besser für entsprechende Media Queries zu stylen. Die eigentliche Lösung wurde dann etwas erweitert und durch die Hilfe der Community, insbesondere <a href="http://frederic-hemberger.de/">Frederic</a> und <a href="http://www.grochtdreis.de/">Jens</a>, wurde der Iststand erreicht und kann in jeder Form genutzt werden.<br />
<span id="more-1286"></span><br />
Zum Testen von Media Queries nutze ich meine kleine <a href="http://bueltge.de/test/media-query-tester.php" title="Zum Tester">iFrame-Anpassung</a>, die mittels DOM Storage-API verschiedene Werte zulässt; mehr dazu im <a href="http://bueltge.de/simple-media-queries-tester/1239/" title="Artikel zum Simple Media Queries Tester">zugehörigen Artikel</a>. Trotzdem wollte ich immer den aktuellen Stand haben und hatte mir daher mittels CSS an den body gehangen. Dies kann man einfach tun und ist für verschieden, die üblichen Verdächtigen, nun im Projekt integriert. Diese Aufgabe wird von einer einzelnen CSS-Datei übernommen &#8211; <a href="https://github.com/bueltge/Simple-Media-Queries-Debugging/blob/master/debug.css"><code>debug.css</code></a>; so dass sie einfach inkludiert werden kann. Alternativ könnt ihr damit alles mögliche anfangen &#8211; <a href="https://github.com/bueltge/Simple-Media-Queries-Debugging" title="Forken, Lesen auf Github.com">forken</a> und somit die Idee verbessern und mehr daraus machen. </p>
<p><a href="http://bueltge.de/wp-content/images/simple-media-queries-debug.png" title="Bild ein wenig größer?"><img class="centered aligncenter" src="http://bueltge.de/wp-content/images/simple-media-queries-debug450.png" alt="Simple Media Queries Debugge - Screenshot" /></a></p>
<p>Innerhalb der kleinen Spielerei sind diverse Anpassungen für Media Queries drin, so dass die Seite auch einen Effekt hat, wenn man die Größe des Browsers ändert bzw. mit verschiedenen Geräten auf die Seite gelangt. Dabei habe ich keinen Wert auf Schönheit gelegt, sondern eher Pragmatismus und Effekthascherei genutzt. So nutze ich Transition via CSS3 um das Verändern etwas animiert zu gestalten und so die Darstellung zu hübschen.<br />
Schaut euch den Code einfach an, entweder direkt auf <a href="http://bueltge.de/test/media-query-debugger.php">der Seite</a> oder im <a href="https://github.com/bueltge/Simple-Media-Queries-Debugging" title="Zum Projekt auf Github">Projekt auf github</a>, wo ich alles abgelegt habe.</p>
<p>Für alle, denen noch der Zusammenhang fehlt; bitte einfach <a href="http://bueltge.de/test/media-query-debugger.php">die Seite</a> besuchen und den Browser in der Größe ändern; dabei die Ausgabe am oberen Rand beachten. Alternativ dieses kleine Video.</p>
<p><iframe src="http://player.vimeo.com/video/25499813" width="640" height="480" frameborder="0"></iframe></p>
<p>Mir ist klar, dass dies nicht die beste Lösung ist, da Media Queries in jeder erdenklichen Form auftauchen können und die Ausgabe den größten Nutzwert hat, wenn man die Ausgabe der optimierten Größe anpasst. Aber es stellt eine einfache und schnell Lösung dar. Alternativen sind vermutlich via JavaScript denkbar, die das Stylesheet parsen und anhand der gefunden Anweisungen zu Media Queries den Viewport auswerfen &#8211; aber diese Form erfordert etwas mehr zeit und Kraft; also schnell überzogen und in meinem Fall ist die vorgestellte Lösung vollkommen ausreichend; durch die Erweiterungen von Frederic sind auch noch andere Viewports eingeflossen und in diesem Zusammenhang habe ich mir bekannte typische Größen und Ausrichtungen integriert &#8211; <em>Portrait</em> und <em>Landscape</em>. Alles weitere seht ihr in der angesprochenen <a href="https://github.com/bueltge/Simple-Media-Queries-Debugging/blob/master/debug.css" title="debug.css als Code lesen"><code>debug.css</code></a> und direkt auf <a href="http://bueltge.de/test/media-query-debugger.php">der Seite</a>, die den Source des Stylesheets ausgibt.<br />
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://bueltge.de/simple-media-queries-debugging/1286/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/simple-media-queries-debugging/1286/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/simple-media-queries-debug450.png" />
		<media:content url="http://bueltge.de/wp-content/images/simple-media-queries-debug450.png" medium="image">
			<media:title type="html">Simple Media Queries Debugge - Screenshot</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>Promote MDN &#124; Mozilla Developer Network</title>
		<link>http://bueltge.de/promote-mdn-mozilla-developer-network/1285/</link>
		<comments>http://bueltge.de/promote-mdn-mozilla-developer-network/1285/#comments</comments>
		<pubDate>Wed, 08 Jun 2011 12:46:02 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Webküche]]></category>
		<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[Linktipp]]></category>
		<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[Webdeveloper]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1285</guid>
		<description><![CDATA[Spread some developer love and promote the docs of Mozilla.]]></description>
			<content:encoded><![CDATA[<p><span id="more-1285"></span><br />
<img src="https://developer.mozilla.org/media/img/promote/betterdocs_foo.png" alt="Better Docs" /> <img src="https://developer.mozilla.org/media/img/promote/devpowered_foo.png" alt="Developer powered" /> <img src="https://developer.mozilla.org/media/img/promote/bydev_foo.png" alt="For Developers, By Developers" /> <img src="https://developer.mozilla.org/media/img/promote/devtoolbox_foo.png" alt="Web Developer Toolbox" /></p>
<p><a href="https://developer.mozilla.org/en-US/promote">Spread some developer love</a> and promote the <a href="https://developer.mozilla.org/docs" title="Topics for Web Developer">docs</a><br />
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://bueltge.de/promote-mdn-mozilla-developer-network/1285/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/promote-mdn-mozilla-developer-network/1285/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:thumbnail url="http://bueltge.de//developer.mozilla.org/media/img/promote/betterdocs_foo.png" />
		<media:content url="http://bueltge.de//developer.mozilla.org/media/img/promote/betterdocs_foo.png" medium="image">
			<media:title type="html">Better Docs</media:title>
		</media:content>
		<media:content url="http://bueltge.de//developer.mozilla.org/media/img/promote/devpowered_foo.png" medium="image">
			<media:title type="html">Developer powered</media:title>
		</media:content>
		<media:content url="http://bueltge.de//developer.mozilla.org/media/img/promote/bydev_foo.png" medium="image">
			<media:title type="html">For Developers, By Developers</media:title>
		</media:content>
		<media:content url="http://bueltge.de//developer.mozilla.org/media/img/promote/devtoolbox_foo.png" medium="image">
			<media:title type="html">Web Developer Toolbox</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>Schriftarten für Coder unter Linux</title>
		<link>http://bueltge.de/schriftarten-fur-coder-unter-linux/1233/</link>
		<comments>http://bueltge.de/schriftarten-fur-coder-unter-linux/1233/#comments</comments>
		<pubDate>Wed, 22 Dec 2010 05:23:53 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[Webküche]]></category>
		<category><![CDATA[Editor]]></category>
		<category><![CDATA[Font]]></category>
		<category><![CDATA[Webdeveloper]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1233</guid>
		<description><![CDATA[Die richtige Schriftart im Editor ist nicht immer der Standard, hier eine Auswahl an Schriften unter Linux.]]></description>
			<content:encoded><![CDATA[<p>Ich arbeite an unterschiedlichen Systemen und habe mich über die Jahre immer wieder mit den Fonts meiner Editoren herum geschlagen. Je nach Betriebssystem kann man unterschiedliche Fonts im Standard wählen, hinzu kommt die Version und die installierten Fonts. Eine Auswahl von Schriftarten unter Linux möchte ich mit diesem Artikel vorstellen und vielleicht hilft es dem einen oder anderen seine spezielle Vorliebe zu finden. Dies mag kein direkter Artikel zum Thema WordPress sein, aber bewegen sich nicht alle einen Großteil ihrer Zeit im Editor, wenn sie für und mit WordPress entwickeln und da sollte der Font ein große Rolle spielen.<br />
<span id="more-1233"></span><br />
Einen ähnlichen Artikel, mehr für Windows-Nutzer geeignet findet ihr bei Jeff in seinem Beitrag <a href="http://www.codinghorror.com/blog/2007/10/revisiting-programming-fonts.html">Revisiting Programming Fonts</a>.</p>
<p>Ich habe ein freies Script erstellt, welches nichts leistet, aber die kleine Auswahl an Schriften schön demonstriert und als Umgebung nutze ich die IDE <a href="http://www.aptana.com/">Aptana</a>, in der ich gerne arbeite; aktuell noch Version 2.*; wobei die neue Version 3 mit vielen Features aufwartet und aktuell als Beta genutzt werden kann.</p>
<p>Ich habe alle Fonts mit der gleichen Größe übernommen und auch die Screenshots sind gleich, so dass ihr euch ein Bild machen könnt. Weitere Vorschläge und Vorlieben bitte in den Kommentaren.</p>
<p>Während ich auf dem System mit der Droid sehr zufrieden bin, nutze ich im Editor in der Regel die Monospace. Unter Windows nutze ich die Consolas, 11 Punkte Regular.</p>
<h4>Monospace 11 Regular</h4>
<p><img src="http://bueltge.de/wp-content/images/linux-coder-fonts/monospace-11-regular.png" alt="monospace-11-regular" /></p>
<h4>Andale mono 11 Regular</h4>
<p><img src="http://bueltge.de/wp-content/images/linux-coder-fonts/andale-mono-11-regular.png" alt="andale-mono-11-regular" /></p>
<h4>Courier New 11  Regular</h4>
<p><img src="http://bueltge.de/wp-content/images/linux-coder-fonts/courier-new-11-regular.png" alt="courier-new-11-regular" /></p>
<h4>Verdana 11 Regular</h4>
<p><img src="http://bueltge.de/wp-content/images/linux-coder-fonts/verdana-11-regular.png" alt="verdana-11-regular" /></p>
<h4>Inconsolata 11 Regular</h4>
<p><img src="http://bueltge.de/wp-content/images/linux-coder-fonts/inconsolata-11-regular.png" alt="inconsolata-11-regular" /></p>
<h4>Free mono 11 Regular</h4>
<p><img src="http://bueltge.de/wp-content/images/linux-coder-fonts/free-mono-11-regular.png" alt="free-mono-11-regular" /></p>
<h4>Droid 11 Regular</h4>
<p><img src="http://bueltge.de/wp-content/images/linux-coder-fonts/droid-11-regular.png" alt="droid-11-regular" /></p>
<h4>DejaVu 11 Regular</h4>
<p><img src="http://bueltge.de/wp-content/images/linux-coder-fonts/dejavu-mono-11-regular.png" alt="dejavu-mono-11-regular" /><br />
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://bueltge.de/schriftarten-fur-coder-unter-linux/1233/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/schriftarten-fur-coder-unter-linux/1233/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/linux-coder-fonts/monospace-11-regular.png" />
		<media:content url="http://bueltge.de/wp-content/images/linux-coder-fonts/monospace-11-regular.png" medium="image">
			<media:title type="html">monospace-11-regular</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/images/linux-coder-fonts/andale-mono-11-regular.png" medium="image">
			<media:title type="html">andale-mono-11-regular</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/images/linux-coder-fonts/courier-new-11-regular.png" medium="image">
			<media:title type="html">courier-new-11-regular</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/images/linux-coder-fonts/verdana-11-regular.png" medium="image">
			<media:title type="html">verdana-11-regular</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/images/linux-coder-fonts/inconsolata-11-regular.png" medium="image">
			<media:title type="html">inconsolata-11-regular</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/images/linux-coder-fonts/free-mono-11-regular.png" medium="image">
			<media:title type="html">free-mono-11-regular</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/images/linux-coder-fonts/droid-11-regular.png" medium="image">
			<media:title type="html">droid-11-regular</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/images/linux-coder-fonts/dejavu-mono-11-regular.png" medium="image">
			<media:title type="html">dejavu-mono-11-regular</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>debugConsole mit WordPress</title>
		<link>http://bueltge.de/debugconsole-mit-wordpress/1221/</link>
		<comments>http://bueltge.de/debugconsole-mit-wordpress/1221/#comments</comments>
		<pubDate>Thu, 14 Oct 2010 12:56:06 +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[Debugging]]></category>
		<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[Webdeveloper]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1221</guid>
		<description><![CDATA[Das Debuggen von PHP hat unterschiedliche Ansätze und Möglichkeiten die debugConsole ist eine Möglichkeit, die man sich mal anschauen sollte.]]></description>
			<content:encoded><![CDATA[<p>Für das Debuggen innerhalb von WordPress gibt es verschieden Ansätze und Vorlieben. Ich mag <a href="http://www.xdebug.org/">xDebug</a> und in einigen Fällen nutze ich <a href="http://www.firephp.org/">FirePHP</a>. Nun ist ein weitere Möglichkeit in meinen Fokus gerückt und ich musste es zumindest mal testen - <a href="http://www.debugconsole.de/">debugConsole</a> - es gefällt mir.</p>
<blockquote><p>The debugConsole is a tool for debugging and tracing PHP5 applications on productive servers without compromising the live-traffic.</p></blockquote>
<p>Warum also nicht auch hier und darum hier eine kleiner Hinweis und ein kleines erstes Plugin zum spielen und testen der Konsole.<br />
<span id="more-1221"></span><br />
<img class="centered" src="http://bueltge.de/wp-content/images/debugconsole-backend.jpg" alt="debugConsole im WP Backend" /></p>
<p>Aktuell habe ich nur ein Demo-Plugin erstellt, was die Funktion zeigt. Es wird auch nicht gepflegt, kann aber hier herunter geladen werden. Als kleiner Start quasi und schneller Blick auf die Möglichkeiten. Ich habe dabei die Beispiele des Autors der <a href="http://www.debugconsole.de/">debugConsole</a> integriert.</p>
<p>Das Plugin hat folgenden Quellcode und ihr könnt an jeder URL aus der WP-Installation den String <code>?debug=true</code> anhängen, so dass das Popup mit den Informationen der Konsole aufgerufen wird. Aktuell ist dies für Frontend und Backend möglich.</p>
<pre><code>
&lt;?php
/*
Plugin Name: debugConsole
Plugin URI: http://bueltge.de/
Text Domain: debugconsole
Domain Path: /languages
Description: The &lt;a href=&quot;http://www.debugconsole.de/&quot;&gt;debugConsole&lt;/a&gt; is a tool for debugging and tracing PHP5 applications on productive servers without compromising the live-traffic. Add &lt;code&gt;?debug=true&lt;/code&gt; to the URL for see the Popup-Window with debugConsole
Author: Frank B&amp;uuml;ltge
Version: 0.1
Author URI: http://bueltge.de/
Donate URI: http://bueltge.de/wunschliste/
License: Apache License
Last change: 14.10.2010 11:30:51
*/ 

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

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

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

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

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

/* PHP5 required */
if (version_compare(PHP_VERSION, '5.0.0') &lt; 0) {
	die('The debugConsole requires PHP 5.x.x or greater.');
}

/* load debugConsole functionality */
require_once 'debugconsole-1.3.0/debugConsole.php';

// add ?debug=true to the URL
if ( isset($_GET['debug']) &amp;&amp; $_GET['debug'] == 'true') {
	add_action( 'wp_footer', 'wp_debug_console' );
	add_action( 'admin_footer', 'wp_debug_console' );
}

function wp_debug_console() {

	/**
	* debugConsole demonstration
	*
	* This script demonstrates each feature of the debugConsole. The
	* debugConsole is a PHP5 class using JavaScripts to show debug
	* information in a popup window. The popup has IP-based access
	* control. Configurate everything in debugConsole.config.php.
	* Additionally, PHP's default errorhandler is replaced.
	*
	* @author Andreas Demmer &lt;mail@andreas-demmer.de&gt;
	* @version 1.0.1
	* @package debugConsole_1.2.0
	*/

	/*
	Now you got an extended commandset:

	dc_watch()           watch variable changes in console
	dc_dump()            var_dump variables in console
	dc_here()            mark checkpoints in console
	dc_start_timer()     measure a timespan
	dc_stop_timer()      output timespan in console
	*/

	/* test watches */
	dc_watch('foo');

	declare (ticks = 1) {
		$foo = '1';
		$foo++;

		/* test checkpoints */
		dc_here('The interpreter passed through here!');

		/* test timer clock */
		$myTimer = dc_start_timer('Measure an one second sleep:');
		sleep(1);
		dc_stop_timer($myTimer);

		/* test variable debugging */
		$bar = 42.0;
		dc_dump($bar, '$bar tells us the meaning of life:');

		$foobar = array (
				'foo' =&gt; $foo,
				'bar' =&gt; $bar
		);

		dc_dump($foobar, '$foobar is a neat array!');

		/* test errorhandling */
		echo $notSet;
		fopen('not existing!', 'r');
	}

}
?&gt;
</code></pre>
<h3>Download:</h3>
<form class="spenden" action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="DT9BG8NJTXQN4">
<input type="image" src="http://bueltge.de/wp-content/images/donate.png" border="0" name="submit" alt="Jetzt einfach, schnell und sicher online bezahlen – mit PayPal.">
<img class="ob" alt="Spendenbutton" src="https://www.paypal.com/de_DE/i/scr/pixel.gif" width="1" height="1"><br />
</form>
<p><strong>Ist die Arbeit nicht 1 Euro wert?</strong><br />
Jede Spende wird dankbar angenommen und erm&ouml;glicht das weitere Arbeiten an freier Software.<br />
M&ouml;chtest du mehr oder anders spenden, so besuche meine <a href="http://bueltge.de/wunschliste/">Wunschliste</a>.<br />
Download als zip-Datei: <a href="http://bueltge.de/wp-content/download/wp/plugins/debugConsole.zip">debugConsole.zip</a> - 131 kByte<br />
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://bueltge.de/debugconsole-mit-wordpress/1221/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/debugconsole-mit-wordpress/1221/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/debugconsole-backend.jpg" />
		<media:content url="http://bueltge.de/wp-content/images/debugconsole-backend.jpg" medium="image">
			<media:title type="html">debugConsole im WP Backend</media:title>
		</media:content>
		<media:content url="http://bueltge.de//www.paypal.com/de_DE/i/scr/pixel.gif" medium="image">
			<media:title type="html">Spendenbutton</media:title>
		</media:content>
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>Meine WordPress Entwickler Toolbox</title>
		<link>http://bueltge.de/meine-wordpress-entwickler-toolbox/1037/</link>
		<comments>http://bueltge.de/meine-wordpress-entwickler-toolbox/1037/#comments</comments>
		<pubDate>Fri, 23 Apr 2010 06:35:12 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[Tipps]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Webdeveloper]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1037</guid>
		<description><![CDATA[Immer wieder kommt die Frage rein: Was nutzt du als Umgebung zum Entwickeln mit WordPress. Einige Anregungen möchte ich hier mal geben, wobei ich diese Vorlieben nicht als statisches Etwas sehe. Ich lebe, der Rechner mit mir und ebenso die Tools, die ich nutze.]]></description>
			<content:encoded><![CDATA[<p>Immer wieder kommt die Frage rein: Was nutzt du als Umgebung zum Entwickeln mit WordPress. Einige Anregungen möchte ich hier mal geben, wobei ich diese Vorlieben nicht als statisches Etwas sehe. Ich lebe, der Rechner mit mir und ebenso die Tools, die ich nutze.<br />
Ebenso würde ich mich freuen, wenn mir der eine oder andere seine Vorlieben in diesem Segment kurz in den Kommentaren nennt - vielleicht findet sich das eine oder andere Schmankerl.<br />
<span id="more-1037"></span></p>
<h4>Plattform</h4>
<p>Aktuell arbeite ich unter Windows und Linux, so dass sich meine Tools vorrangig auf beiden Plattformen anwenden lassen sollten. Dies ist mir wichtig, da ich eine heterogene Arbeitsumgebung für förderlich halte und es die Umgewöhnung am Client reduziert.</p>
<h4>Browser</h4>
<p>In meinem täglichen Umfeld der Webentwicklung arbeite ich vorrangig im Browser und im Editor, demzufolge sind diese beiden Werkzeuge für mich auch das Zentrum der Arbeit und bekommen den größten Zugriff.</p>
<p>Beim Browser vertraue ich auf <a href="http://www.mozilla-europe.org/de/firefox/">Firefox</a>, was vorrangig an den erstklassigen Erweiterungen liegt. In diesem Umfeld muss das Add on <a href="http://getfirebug.com/">FireBug</a> erwähnt werden, ohne das ich mir die Arbeit nicht mehr vorstellen könnte. Für dieses Add on gibt es wieder <a href="http://getfirebug.com/downloads#extensions">diverse Erweiterungen</a>, die ich ebenso nützlich empfinde, dazu zählen vor allem <a href="http://developer.yahoo.com/yslow/">YSlow</a>, <a href="http://www.firephp.org/">FirePHP</a> und <a href="http://code.google.com/intl/de-DE/speed/page-speed/">Page Speed</a>.</p>
<p>Im weiteren nutze ich sehr gern das Add on im Firefox - <a href="http://chrispederick.com/work/web-developer/features/">Web Developer</a> um diverse Inhalte einer Website zuzugreifen, sei es Cookies oder JavaScript auszuwerten, oder live CSS  zu schreiben. Die Vielfalt ist sehr mächtig und damit ist das Add on ein wunderbares Werkzeug. Einige Punkte überschneiden sich mit dem FireBug - hier muss man einfach sehen, was man lieber mag.</p>
<p>In diesem Zusammenhang gibt es einige wunderbare Erweiterungen für den Browser, die die Arbeit erleichtern und ebenso die Synchronisation verschiedener Clients übernehmen kann. Daher kommt mein Firefox nicht nur mit diesen beiden Add ons aus, sondern es gibt einige wenige mehr, die aber in diesem Zusammenhang keinen erhöhten Wert haben.</p>
<h4>Editor</h4>
<p>Ein weiteres wichtiges Werkzeug ist der Editor, wobei ich hier auf <a href="http://www.ultraedit.com/">UltraEdit</a> setze. Ein Editor der leider meinem Grundgedanken zu Open Source nicht entspricht, der mir aber über die vielen Jahre am Rechner ans Herz gewachsen ist. Hier schätze ich vorrangig die Geschwindigkeit des Editors und die wunderbare Erweiterbarkeit mit eigenen Tools. So nutze ich das Parsen von PHP und das validieren von HTML und CSS direkt im Editor. Für das Parsen von CSS kommt <a href="http://csstidy.sourceforge.net/">CSSTidy</a> zum Einsatz, auch online verfügbar. PHP parse ich via Webserver, der im Editor integriert ist und zusätzlich via <a href="http://www.icosaedro.it/phplint/">PHPLint</a>, auch in den zusätzlichen Werkzeugen des Editors integriert.</p>
<p>Unter Linux kann ich mich noch nicht ganz entscheiden und nutze dort <a href="http://www.geany.org/">Geany</a> und <a href="http://netbeans.org/">NetBeans</a>, wobei mir NetBeans eigentlich schon wieder zu träge ist und ich in Geany das eine oder andere vermisse. UE habe ich aktuell noch in der Test- und Betaphase und mal sehen, eventuell kann ich mich doch nicht von diesem Editor lösen.</p>
<h4>Webserver &#038; Tools</h4>
<p>In diesem Zusammenhang gibt es zwei weitere wichtige Tools, die im Rahmen der Webentwicklung einsetze. Ich setze zum Arbeiten auf der lokalen Umgebung unter Windows <a href="http://www.apachefriends.org/de/xampp.html">XAMPP</a> ein und unter Linux ist die lokale Webumgebung via Paketverwaltung installiert. Somit habe ich auf jedem Client eine Umgebung um mit PHP und mySQL zu arbeiten.</p>
<p>Wichtig bei der Entwicklung mit PHP ist für die Fehler- und Hinweisausgabe und das Debuggen. Unter PHP gibt es dabei diverse Ansätze und ich setze auf das Modul <a href="http://xdebug.org/">xDebug</a> und eine entsprechende Ausgabe der Fehler und Hinweise in PHP.<br />
Im weiteren schreibe ich in dem Zusammenhang die Errorlogs und werte diese aus. Als letztes Tool möchte ich auf <a href="http://code.google.com/p/webgrind/">Webgrind</a> hinweisen, was als Webanwendung genutzt wird. Alternativ gibt es auch Desktop-Tools, die diese Arbeit erledigen, bspw. <a href="http://sourceforge.net/projects/wincachegrind/">WinCacheGrind</a> unter Windows. Damit lässt sich hervorragend das Profiling von xDebug auswerten und der eigene Code optimieren. <a href="http://bueltge.de/php-debugging-und-profiling-leicht-gemacht/520/">Einen Beitrag zur Konfiguration</a> und diverse hinweise habe ich bereits in der Vergangenheit erstellt.</p>
<h4>FTP</h4>
<p>Um die Entwicklung auf den Server zu bekommen, bedarf es meist einem Tool, welches das FTP Protokoll beherrscht und möglichst eine Oberfläche für die Verwaltung der Accounts liefert. Hierbei setze ich unter Windows auf den <a href="http://www.ghisler.com/deutsch.htm">Total Commander</a>, den man hervorragend an seine Bedürfnisse anpassen kann und wo ich vorrangig schätze, dass ich Tabs verschiedene Verbindungen öffnen kann. Unter Linux nutze ich für die Übertragung via FTP das Add on für den Firefox <a href="http://fireftp.mozdev.org/">FireFTP</a>. Hier gibt es diverse Tools, allerdings habe ich noch nie die Zeit gefunden, um mir diverse andere Tools anzusehen.</p>
<p>Für die Verbindung von SSH kommt <a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/">PuTTY</a> als Hilfe zum Einsatz und <a href="http://developer.berlios.de/projects/sftp4tc/">damit</a> kann ich im Total Commander via SSH arbeiten. Unter Linux gibt es ebenso tolle Erweiterungen.</p>
<h4>WordPress</h4>
<p>Da ich vorrangig in und für WordPress entwickle, habe ich einige kleine Plugins in der Testumgebung aktiv, die mir die Sicht auf bestimmte Daten erleichtern, und die mir speziell für WordPress die Fehler speichern oder ausgeben. So teste ich beispielsweise auf nicht mehr aktuelle Funktionen von WordPress, um veraltetet Funktionen mit den neuen zu erkennen und zeitnah zu ersetzen. Eine kleine Liste mit kurzer Erläuterung von Plugins dazu, auch wenn ich nicht alle einsetze, so findet vielleicht der eine oder andere Gefallen.</p>
<ul>
<li><a href="http://bueltge.de/wordpress-27-offline-nutzen/710/">WP Offline</a> - da ich die ständigen Verbindungsversuche nicht brauche</li>
<li><a href="http://wordpress.org/extend/plugins/wp-developer-assistant/">WP Developer Assistant</a> - weil es einige Auswertungen und Hilfen hat, die so schnell zur Hand sind</li>
<li><a href="http://www.code-styling.de/english/development/wordpress-plugin-codestyling-localization-en">CodeStyling Localization</a> - weil jedes Plugin mehrsprachig erstellt wird und ich damit wunderbar neue Sprachfiles erstellen kann</li>
<li><a href="http://striderweb.com/nerdaphernalia/features/wp-log-deprecated-calls/">Log Deprecated Calls</a> - nicht immer dabei, kann aber nützlich sein</li>
<li><a href="http://www.mittineague.com/dev/er.php">Error Reporting</a> - für die, die nicht die Auswertung der Logs via Webungebung steuern</li>
<li><a href="http://bueltge.de/wordpress-performance-analysieren-plugin/558/">Debug Queries</a> - Analyse der Queries</li>
<li><a href="http://bueltge.de/debug-objects-wordpress-plugin/966/">Debug Objects</a> - Auswertung über sehr viele Werte</li>
<li><a href="http://www.adminer.org/en/">Adminer</a> - oft für den schnellen Zugriff auf einem Webspace oder als <a href="http://bueltge.de/adminer-fuer-wordpress/1014/">Plugin</a> direkt in WordPress</li>
<li><a href="http://www.firephp.org/">FirePHP</a> - als <a href="http://bueltge.de/firephp-und-wordpress/944/">Plugin</a> für WordPress um an diverse Inhalte zu kommen und nicht immer im Source zu wühlen</li>
<li><a href="http://wordpress.org/extend/plugins/core-control/">Core Control</a></li>
</ul>
<p>Damit genug, auch wenn es sicher noch mehr gibt. Entscheidend aus meiner Sicht sind aber nicht die Plugins, sondern die Umgebung mit xDebug und die Settings, die WordPress im Standard in diesem Zusammenhang bietet. Daher kann ich nur empfehlen, folgende Zeilen in der <code>wp-config.php</code> der Umgebung zu haben.</p>
<pre><code class="php">

/** Debugging WP */
define('WP_DEBUG', true); //enable the reporting of notices during development - E_ALL
define('WP_DEBUG_DISPLAY', true); //use the globally configured setting for display_errors and not force errors to be displayed
define('WP_DEBUG_LOG', true); //error logging to wp-content/debug.log
define('SCRIPT_DEBUG', true); //loads the development (non-minified) versions of all scripts and CSS and disables compression and concatenation,
define('E_DEPRECATED', false); //E_ALL &amp; ~E_DEPRECATED &amp; ~E_STRICT

define('AUTOSAVE_INTERVAL', '300');    // Autosave interval
define('SAVEQUERIES', true);    // Analyse queries
define('WP_POST_REVISIONS', false);
</code></pre>
<p>Diese Definitionen machen die Arbeit mit WordPress einfach und es gibt viele Hinweise von WP zu einem sauberen Code und aktuellen Funktionen. Den Autosave-Intervall ändere ich nur dann auf kleine Werte, wenn ich diesem Segment arbeite, wenn ich also möglichst schnell das Script brauche.</p>
<h4>Webzugriffe</h4>
<p>Im Web gibt es eine Vielzahl von Tools, die nützlich sind - ich möchte mal kurz einige vorstellen, die ich oft nutze und auch damit meinen Dank an die Leute sagen, die diese Dienste bereit stellen.</p>
<ul>
<li><a href="http://de2.php.net/">php.net</a> - weil man nie schnell genug an Infos kommt, daher habe ich auch im Firefox eine Erweiterung für das interne Suchfeld, was direkt in den Funktionen von php.net sucht (<a href="http://bueltge.de/test/searchplugins/phpnet.php">kann gern genutzt werden</a>, habe ich abgelegt)</li>
<li><a href="http://wpseek.com/">wpseek.com</a> - die Suche zu WordPress, auch eine Sucherweiterung für Firefox steht zur Verfügung (@Oliver: einzig und allein - ich wünschte mir mehr Übersicht, weniger Design <img src='http://bueltge.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  )</li>
<li><a href="http://xref.yoast.com/">PHP Cross Reference of WordPress Source</a> - weil ich manchmal so schneller bin als über den Editor</li>
<li><a href="http://bueltge.de">bueltge.de</a> - mein eigenes Blog <img src='http://bueltge.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  ist gestartet und meine Lösungen fest zu halten und zu teilen, ich nutze die Suche massiv und auch die gibt es als Browsererweiterung</li>
</ul>
<h4>Fazit</h4>
<p>Um UpToDate zu bleiben, nutze ich viele Anwendungen, die ich hier auch genannt habe, via SVN - dies gilt für WordPress ebenso wie für die genannten Tools, wenn es den seitens des Entwicklers angeboten wird. Ebenso ist die Arbeit mit SVN unumgänglich, wenn man <a href="http://wordpress.org/extend/plugins/profile/bueltge">Plugins auf dem Server</a> von WordPress ablegen will. Unter Windows (z.B. <a href="http://tortoisesvn.tigris.org/">Tortoise</a>) und Linux (z.B. <a href="http://rapidsvn.tigris.org/">RapidSVN</a>) ist die Arbeit mit einem SVN kein Problem und es stehen ausreichend gute Tools zur Verfügung.</p>
<p>Ein kleines Ausblick meiner aktuellen Tools und vielleicht findet einer von Euch Anregungen und hat ebenso Anregungen für mich.<br />
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://bueltge.de/meine-wordpress-entwickler-toolbox/1037/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/meine-wordpress-entwickler-toolbox/1037/feed/</wfw:commentRss>
		<slash:comments>30</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>Aktive Widget-Bereiche abfragen</title>
		<link>http://bueltge.de/aktive-widget-bereiche-abfragen/1050/</link>
		<comments>http://bueltge.de/aktive-widget-bereiche-abfragen/1050/#comments</comments>
		<pubDate>Mon, 07 Dec 2009 07:55:23 +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[Template]]></category>
		<category><![CDATA[Theme]]></category>
		<category><![CDATA[Webdeveloper]]></category>
		<category><![CDATA[Widget]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1050</guid>
		<description><![CDATA[Wer im Theme Widgets nutzt und dazu noch diverse Hirarchien unterbringt, der wird schnell merken, dass es eigentlich nur dann Sinn macht, das HTML zu dem jeweiligen Bereich auszugeben, wenn der Widget-Bereich auch vom User genutzt wird, wenn also Widgets im Bereich abgelegt sind.]]></description>
			<content:encoded><![CDATA[<p><img  class="alignright" src="http://bueltge.de/wp-content/images/wp/christmas/wp-christmas-07.jpg" alt="WP Adventskalender 07" /><br />
Wer im Theme Widgets nutzt und dazu noch diverse Hierarchien unterbringt, der wird schnell merken, dass es eigentlich nur dann Sinn macht, das HTML zu dem jeweiligen Bereich auszugeben, wenn der Widget-Bereich auch vom User genutzt wird, wenn also Widgets im Bereich abgelegt sind.<br />
<span id="more-1050"></span><br />
Diesem Thema haben sie die Entwickler des Theme-Framework <a href="http://code.google.com/p/thematic/">Thematic</a> schon seit langer Zeit angenommen und die Lösung ist ebenso interessant für Autoren, die ihr Theme ohne dieses Framework erstellen.<br />
Dazu genügt eine Funktion, die den bekannten <a href="http://codex.wordpress.org/Conditional_Tags">Conditional Tags</a> von WordPress gleich kommt. Diese Funktion wird in der <code>functions.php</code> des Themes abgelegt.</p>
<pre><code class="php">
function is_sidebar_active($index) {
	global $wp_registered_sidebars;

	$widgetcolums = wp_get_sidebars_widgets();

	if ($widgetcolums[$index])
		return true;

	return false;
}
</code></pre>
<p>Damit wird die Ausgabe des Widget-Bereiches nur genutzt, wenn es auch Inhalte gibt.<br />
Im Template könnte die Abfrage beispielsweise wie folgt aussehen.</p>
<pre><code class="php">
&lt;?php if ( function_exists('is_sidebar_active') &amp;&amp; is_sidebar_active('sidebar') ) { ?&gt;
	&lt;div id=&quot;sidebar&quot;&gt;
		&lt;ul&gt;
			&lt;?php dynamic_sidebar('sidebar'); ?&gt;
		&lt;/ul&gt;
	&lt;/div&gt;
&lt;?php } ?&gt;
</code></pre>
<p>Das obige Beispiel lädt den Inhalt nur, wenn der Widget-Bereich mit der ID <code>sidebar</code> Inhalte hat, also wenn Widgets in diesem Bereich genutzt werden.</p>
<p>Seit WordPress <strong>Version 2.8</strong> gibt es dazu auch eine Funktion im Core und man muss die obige Funktion nicht eigens hinzu bringen <code>is_active_sidebar()</code>. Damit geht die Prüfung ebenso einfach und sicher.</p>
<pre><code class="php">
&lt;?php if ( function_exists('is_active_sidebar') &amp;&amp; is_active_sidebar('sidebar') ) { ?&gt;
	&lt;div id=&quot;sidebar&quot;&gt;
		&lt;ul&gt;
			&lt;?php dynamic_sidebar('sidebar'); ?&gt;
		&lt;/ul&gt;
	&lt;/div&gt;
&lt;?php } ?&gt;
</code></pre>
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://bueltge.de/aktive-widget-bereiche-abfragen/1050/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/aktive-widget-bereiche-abfragen/1050/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/wp/christmas/wp-christmas-07.jpg" />
		<media:content url="http://bueltge.de/wp-content/images/wp/christmas/wp-christmas-07.jpg" medium="image">
			<media:title type="html">WP Adventskalender 07</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>Das schweizer Taschenmesser für Webworker</title>
		<link>http://bueltge.de/das-schweizer-taschenmesser-fuer-webworker/1042/</link>
		<comments>http://bueltge.de/das-schweizer-taschenmesser-fuer-webworker/1042/#comments</comments>
		<pubDate>Wed, 25 Nov 2009 12:37:15 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Buch]]></category>
		<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[Linktipp]]></category>
		<category><![CDATA[Literatur]]></category>
		<category><![CDATA[Webdeveloper]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1042</guid>
		<description><![CDATA[... gibt es wohl dann noch nicht, aber die erfahrenen Familiengründer und das Autoren-Team Vladimir Simovic &#038; Thordis Bonfranchi-Simovic haben es zumindest als Cover für ihr gerade neu erschienenes Buch „Werkzeuge fürs Web“ gewählt.

Aber hier handelt es sich nicht nur um ein wunderbares Cover, sondern um ein Buch für Leute, die schon immer einen handlichen Überblick im Rahmen von Tool-Empfehlungen haben wollten. ]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.amazon.de/gp/product/3898646432?ie=UTF8&amp;tag=buedebyltgde-21&amp;linkCode=as2&amp;camp=1638&amp;creative=6742&amp;creativeASIN=3898646432"><img class="alignright" src="https://images-na.ssl-images-amazon.com/images/I/41mHNsm7x%2BL._SL160_.jpg" alt="Werkzeuge fürs Web" /></a><br />
... gibt es wohl dann doch nicht, aber die <a href="http://www.perun.net/2009/11/22/warum-ist-es-hier-so-ruhig/">erfahrenen Familiengründer</a> und Autoren-Team Vladimir &amp; Thordis Bonfranchi-Simovic haben es zumindest als Cover für ihr gerade neu erschienenes Buch „<a href="http://www.webwork-tools.de/2009/10/webwork-tools-in-buchform/">Werkzeuge fürs Web</a>“ gewählt.</p>
<p>Aber hier handelt es sich nicht nur um ein wunderbares Cover, sondern um <a href="http://www.webwork-tools.de/2009/11/das-webwork-tools-buch-ist-da/">ein Buch</a> für Leute, die schon immer einen handlichen Überblick im Rahmen von Tool-Empfehlungen haben wollten. <span id="more-1042"></span><br />
Aktuell kann ich keine Rezension zum Buch abgeben - das Buch ist aber auf dem Weg zu mir und daher hole ich das sicher nach - denn ich habe ich einen kleinen Teil im Buch beigetragen. Ein wenig macht mich dieser Anteil stolz, denn die Autoren schreiben:</p>
<blockquote><p>Die Wahl der Interviewpartner war nicht willkürlich, sondern es handelt sich durchweg um erfahrene Kollegen, die seit vielen Jahren im und mit dem Web arbeiten. Die Interviews wurden nicht »persönlich« geführt, sondern bestanden in einer Art Fragebogen, den wir allen zugesendet hatten.<br />
Die Platzierung im Buch richtet sich nach der hauptsächlichen Webtätigkeit der Interviewpartner und erfolgt immer am Ende des thematisch passenden Abschnitts.</p></blockquote>
<p>Perun und Frau bezeichnen die Interviewpartner als erfahrene Kollegen. Da ich im großen Ganzen das Thema Webentwicklung als Hobby betreibe, auch wenn ich mein Wissen bei <a href="http://inpsyde.com/">Inpsyde</a> einbringen kann, und in der festen Anstellung im Alltag komplett anderen Themen nachgehe, freut es mich natürlich, wenn man mich in diesem Zusammenhang nennt und ich mich mit diesen großen Kollegen auf eine Stufe stellen darf. Als Autodidakt ist der Lernprozess nicht immer einfach, aber zielführend, zumindest in meinem Anspruch.</p>
<p>Besonders freue ich mich auf die Informationen zum Thema Linux, die direkt aus der Quelle <a href="http://www.peterkroener.de/">Peter Kröner</a> stammen. Peter ist bekannter Linux-Nutzer und als Webworker definitiv ein <a href="http://www.peterkroener.de/falls-ihr-wissen-wollt-wie-ich-es-den-ganzen-tag-mit-linux-aushalte/">Lesetipp</a>. Seit meinem Umstieg auf Linux mit einem Client, der maßgeblich das Thema Webentwicklung bedient, lerne ich wieder viel dazu und kann nur begrüßen: Lasst euch auf Linux ein - es lohnt.<br />
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://bueltge.de/das-schweizer-taschenmesser-fuer-webworker/1042/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/das-schweizer-taschenmesser-fuer-webworker/1042/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:thumbnail url="http://bueltge.de//images-na.ssl-images-amazon.com/images/I/41mHNsm7x%2BL._SL160_.jpg" />
		<media:content url="http://bueltge.de//images-na.ssl-images-amazon.com/images/I/41mHNsm7x%2BL._SL160_.jpg" medium="image">
			<media:title type="html">Werkzeuge fürs Web</media:title>
		</media:content>
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>WordPress Plugin Competition nutzen &amp; beachten</title>
		<link>http://bueltge.de/wordpress-plugin-competition-nutzen-beachten/969/</link>
		<comments>http://bueltge.de/wordpress-plugin-competition-nutzen-beachten/969/#comments</comments>
		<pubDate>Wed, 08 Jul 2009 10:27:38 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[Webdeveloper]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=969</guid>
		<description><![CDATA[Die <a href="http://wordpress.org/extend/plugins/">Pluginliste im offiziellen Verzeichnis</a> von WordPress wächst stetig und fast täglich. Viele Lösungen sind kleine Gimmicks, die man auch ohne Plugin realisieren könnte, aber so ist es für viele Nutzer ein einfaches die Lösung zu nutzen. Aber es gibt auch aufwendige, überlegt und sehr nützliche Lösungen.

Egal aus welchem Grund man Plugins entwickelt, ob Hobbycoder, Profi oder Agentur mit Auftragsarbeit, der Vielzahl der Plugins sorgt zumindest für das weitere Wachsen der WordPress Community. Trotzdem ist gerade ein Event im Jahr den Plugins für WordPress gewidmet  -der <a href="http://weblogtoolscollection.com/pluginblog/">Plugin Competition</a>. Hier kann man sein Plugin der Community vorstellen und Preise gewinnen.]]></description>
			<content:encoded><![CDATA[<p>Die <a href="http://wordpress.org/extend/plugins/">Pluginliste im offiziellen Verzeichnis</a> von WordPress wächst stetig und fast täglich. Viele Lösungen sind kleine Gimmicks, die man auch ohne Plugin realisieren könnte, aber so ist es für viele Nutzer ein einfaches die Lösung zu nutzen. Aber es gibt auch aufwendige, überlegte und sehr nützliche Lösungen.</p>
<p>Egal aus welchem Grund man Plugins entwickelt, ob Hobbycoder, Profi oder Agentur mit Auftragsarbeit, die Vielzahl der Plugins sorgt zumindest für das weitere Wachsen der WordPress Community. Trotzdem ist gerade ein Event im Jahr den Plugins für WordPress gewidmet - der <a href="http://weblogtoolscollection.com/pluginblog/">Plugin Competition</a>. Hier kann man sein Plugin der Community vorstellen und <a href="http://weblogtoolscollection.com/plugin-competition-prizes/">Preise</a> gewinnen.</p>
<p><img class="centered" src="http://bueltge.de/wp-content/images/wp/wltcpl09.png" alt="wltcpl09" /><br />
<span id="more-969"></span></p>
<h3>Wieso, weshalb, warum</h3>
<p>Aktuell läuft der diesjährige Wettbewerb noch bis Ende Juli und es sind gerade mal 13 Plugins eingetragen. Darunter sind einige tolle Ideen. Obwohl jeden Tag neue Plugins im <a href="http://wordpress.org/extend/plugins/">SVN</a> von WordPress erscheinen, sind dort so wenig gelistet. Entwickler - traut euch, stellt euch der Konkurrenz.  Dieser Event ist ein Mehrwert für Nutzer und Entwickler, beide Seiten können nur Vorteile davon gewinnen. Klar, einem Profi in PHP das Wasser reichen ist nicht leicht - aber auch im <a href="http://wordpress.org/extend/plugins/">SVN</a> steht euer Code der Öffentlichkeit zur Verfügung und kann daher immer eingelesen werden. Der <a href="http://weblogtoolscollection.com/pluginblog/">Plugin Competition</a> ist nur eine andere Plattform und sollte daher von Einsteigern und Profis genutzt werden.<br />
Er macht das Plugin nicht besser, aber es kann dazu kommen, dass man mehr Aufmerksamkeit zum Plugin bekommt, damit mehr Rückmeldungen und, so habe ich es im letzten Jahr erfahren, auch viele Ideen, Verbesserungen und direkte Lösungen zum Plugin. In diesem Jahr soll es zumindest die gleich Rückmeldung geben wie im letzen Jahr, wo Otz jedes Plugin bewertet hat, nach Idee und Umsetzung. Auch in diesem Jahr wird man wieder Feedback von Ozh erwarten können, siehe sein <a href="http://planetozh.com/blog/2009/07/lets-get-more-contestants-into-the-wordpress-plugin-competition/">Beitrag zum Plugin Competition</a>. Klar, die Meinung von Ozh ist nicht in jedem Interesse und sicher wird es die eine oder andere differenzierte Meinung geben, aber die Rückmeldung ist entscheidend. Damit hat nicht nur der Nutzer etwas davon, sondern als Entwickler habe ich dadurch viel gelernt, meine Kenntnisse erweitert und die Hinweise ergänzt.</p>
<p>Ebenso kann der Competition zeigen, wie engagiert Entwickler mit WordPress arbeiten, kann die Aufmerksamkeit auf WordPress erhöhen und Entwicklern, die eventuell Aufträge generieren wollen, eine Plattform bieten.</p>
<p>Der Wettbewerb ist kein Mehraufwand für euch Plugin-Schreiber. Euer Plugin bekommt nur eine zusätzliche Plattform und wird bewertet. Alles in allem also Vorteile. Zusätzlich könnt ihr noch diverse Preise abräumen. Daher - mitmachen!</p>
<h3>Sponsoring</h3>
<p>Ebenso ist der Wettbewerb eine wunderbare Plattform für Leute, die ihr Produkt für WordPress bewerben wollen. Daher gilt es für Theme &#038; Plugin-Autoren, Agenturen und Hostingservices, etc. - melden, Sponsore den Wettbewerb und hole dir die Aufmerksamkeit. Sicher auch eine gute Idee für WordPress Deutschland - aber dazu braucht WPD Sponsoren und Entwickler, die entweder ihre Arbeit, ihr Plugin oder ihre finanziellen Mittel einbringen.</p>
<h3>Aus deutscher Sicht</h3>
<p>Aktuell sind 2 Plugins von deutschen Entwicklern drin, das <a href="http://www.code-styling.de/deutsch/entwicklungen/wordpress-plugin-codestyling-localization">dritte Plugin</a> sollte hoffentlich bald folgen, denn es verdient mehr Aufmerksamkeit. In diesem Zusammenhang ein Aufruf an meine deutschen Leser - Votet für uns, zeigt das deutsche Entwickler im Bereich WordPress ein Wörtchen mitzureden haben, auch wenn wir sonst bei WordPress eine untergeordnete Rolle spielen, da unser Sprachraum für viele dort nicht existent zu sein scheint.</p>
<ul>
<li><a href="http://weblogtoolscollection.com/pluginblog/2009/06/30/changelogger/">Changelogger</a> von <a href="http://www.schloebe.de/">Oliver Schlöbe</a></li>
<li><a href="http://weblogtoolscollection.com/pluginblog/2009/06/30/debug-objects/">Debug Objects</a> von mir</li>
</ul>
<p>Die Entwickler von WordPress werden sicher den Plugin Competition verfolgen und lunsen, was es für Ideen gibt und wie man sie umsetzt. Nicht nur einmal ist bisher ein Plugin in den Core von WordPress gewandert und nicht nur einmal war die Lösung eines Pluginautors besser, als die Lösung im Core.<br />
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://bueltge.de/wordpress-plugin-competition-nutzen-beachten/969/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/wordpress-plugin-competition-nutzen-beachten/969/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/wp/wltcpl09.png" />
		<media:content url="http://bueltge.de/wp-content/images/wp/wltcpl09.png" medium="image">
			<media:title type="html">wltcpl09</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 Konstanten nutzen</title>
		<link>http://bueltge.de/wordpress-konstanten-nutzen/962/</link>
		<comments>http://bueltge.de/wordpress-konstanten-nutzen/962/#comments</comments>
		<pubDate>Fri, 19 Jun 2009 12:39:50 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Tipps]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Webdeveloper]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=962</guid>
		<description><![CDATA[WordPress verwaltet nur einen Teil seiner Möglichkeiten, die optional nutzbar sind in den Einstellungen des Backend. Damit sind nicht alle Funktionen so konfigurierbar, wie man sich das manchmal wünscht. Über dieses Thema lässt sich sicher vortrefflich diskutieren, soll hier aber kein Thema sein. Ich möchte nur mal auf eine Auswahl von Konstanten hinweisen, die in der <code>wp-config.php</code> hinterlegt und definiert bestimmte Auswirkungen haben.]]></description>
			<content:encoded><![CDATA[<p>WordPress verwaltet nur einen Teil seiner Möglichkeiten, die optional nutzbar sind in den Einstellungen des Backend. Damit sind nicht alle Funktionen so konfigurierbar, wie man sich das manchmal wünscht. Über dieses Thema lässt sich sicher vortrefflich diskutieren, soll hier aber kein Thema sein.<br />
Ich möchte nur mal auf eine Auswahl von Konstanten hinweisen, die in der <code>wp-config.php</code> hinterlegt und definiert bestimmte Auswirkungen haben.<br />
<span id="more-962"></span><br />
Dabei beschränke ich mich auf einen ausgewählten Teil der Konstanten, die immer wieder weiter wachsen. Eine Übersicht der Konstanten kann man sich im übrigen in einer <a href="http://bueltge.de/test/wp/wp-konstanten.html">kleinen Liste</a> von mir holen oder im Plugin <a href="http://bueltge.de/firephp-und-wordpress/944/">WP FirePHP</a> ausgeben lassen.</p>
<p>Die Erklärung ist dem einen oder anderen eventuell zu dürftig? Ich möchte aber auch nicht weit ausholen und erklären, da es auch nur dann angefasst werden sollte, wenn man einige Kenntnisse mit bringt. Einige Konstanten sind auch nur für Entwicklerplattformen relevant und sollten in einem Live-System nur mit besonderer Vorsicht genutzt werden.<br />
Alternativ kann die Suche im Core von WP helfen, da es öfter dokumentiert ist, als man denkt.</p>
<ul>
<li><code>WP_MEMORY_LIMIT</code> &#8212; WordPress Speicher Limit, <a href="http://bueltge.de/mehr-speicher-fuer-wordpress/957/">siehe Beitrag</a> (Wert)</li>
<li><code>AUTOSAVE_INTERVAL</code> &#8212; Intervall der automatischen Speicherung in Sekunden (<code>60</code> Wert in Sekunden)</li>
<li><code>WP_POST_REVISIONS</code> &#8212; Umfang der gespeicherten Versionen zum Beitrag, zur Seite bzw. mögl. Deaktivierung der Versionierung (<code>false</code> oder Wert)</li>
<li><code>SAVEQUERIES</code> &#8212; Mögl. Ausgabe der Queries, so dass eine Analyse statt finden kann, <a href="http://bueltge.de/wordpress-performance-analysieren-plugin/558/">siehe Beitrag</a> (<code>true</code>)</li>
<li><code>CONCATENATE_SCRIPTS</code> &#8212; Deaktiviere die Kombination und Kompression alle JavaScript-Dateien; ab 2.8 verfügbar (<code>false</code>)</li>
<li><code>COMPRESS_SCRIPTS</code> &#8212; Komprimiere JavaScript; ab 2.8 verfügbar (<code>true</code>)</li>
<li><code>COMPRESS_CSS</code> &#8212; Komprimiere CSS; ab 2.8 verfügbar (<code>true</code>)</li>
<li><code>ENFORCE_GZIP</code> &#8212; Erzwinge GZIP für die Kompression, erst ab 2.8 verfügbar (<code>true</code>)</li>
<li><code>FORCE_SSL_LOGIN</code> &#8212; verschlüsselte Übertragung im Bereich WP Admin (<code>true</code>)</li>
<li><code>WP_HOME</code> &#8212; WordPress Addresse (URL), Installationsverzeichnis, <a href="http://bueltge.de/wordpress-blog-neuen-domain/712/">siehe Beitrag</a></li>
<li><code>WP_SITEURL</code> &#8212; Blog Addresse (URL), <a href="http://bueltge.de/wordpress-blog-neuen-domain/712/">siehe Beitrag</a></li>
<li><code>WP_DEBUG</code> &#8212; Aktiviert die Ausgabe der Fehler und Hinweise auf Fehler (<code>true</code>)</li>
<li><code>SCRIPT_DEBUG</code> &#8212; Lade die Entwicklerversionen, unkomprimiert, der JavaScript-Dateien (<code>true</code>)</li>
</ul>
<p>Konstanten werden mit Hilfe der PHP_Funktion <code>define()</code> definiert, zum Beispiel:</p>
<pre><code class="php">
define('WP_HOME', 'http://example.org/wordpress');
define('WP_SITEURL', 'http://example.org');
define('AUTOSAVE_INTERVAL', '180') // in sekunden
define('WP_POST_REVISIONS', 3);
</code></pre>
<p>Aus meiner Sicht, sind das Konstanten, die man wissen kann; für Entwickler gelten noch einige mehr, die beim Schreiben von Plugins und Themes von Relevanz sein können und sollten. Die obige Liste soll aber in diesem Hinblick keine Relevanz haben und vernachlässigt daher die Konstanten.<br />
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://bueltge.de/wordpress-konstanten-nutzen/962/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/wordpress-konstanten-nutzen/962/feed/</wfw:commentRss>
		<slash:comments>13</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>WP Basis Theme</title>
		<link>http://bueltge.de/wp-basis-theme/953/</link>
		<comments>http://bueltge.de/wp-basis-theme/953/#comments</comments>
		<pubDate>Wed, 10 Jun 2009 09:53:31 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[CSS, xHTML, JS]]></category>
		<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[Themes]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Template]]></category>
		<category><![CDATA[Theme]]></category>
		<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[Webdeveloper]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=953</guid>
		<description><![CDATA[Fast seit dem ich mit WordPress beschäftige, irgendwann mit Version 0.71 war das, habe ich mir eine Theme-Layout geschaffen, was ich immer zum Neustart eines neuen Theme heran ziehe - <a href="http://wpbasis.de/">WP Basis</a>.
Fast genauso lange veröffentliche ich dieses Theme unter GPL und es wird wohl recht vielfach genutzt. Die Entwicklung am Theme habe ich weiter getrieben und das Theme ist mit jeder Version von WordPress gewachsen und passt sich den jeweiligen Änderungen an. Um diese Veränderungen besser Händeln zu können, habe ich das Theme seit geraumer Zeit im <a href="http://code.google.com/p/wp-basis-theme/">SVN von Google Code</a> abgelegt und konnte dadurch auch auf die Mitarbeit von <a href="http://andreas-isaak.de/">Andreas</a> und <a href="http://ocean90.de/">Dominik</a> zählen - vielen Dank an dieser Stelle nochmal!

Immer wieder kamen Fragen rein, ob das <a href="http://bueltge.de/basis-theme-fuer-wordpress/411/">alte Theme</a> aktualisiert wird und wann - daher hier nun die Info, ich habe einen Stand erreicht, der stabil ist und das Theme ist mit der aktuellen Version 2.7 und der kommenden Version 2.8 von WordPress kompatibel. Daher hier nun offiziell die <a href="http://wpbasis.de/">Freigabe zum Download und Nutzen</a>.]]></description>
			<content:encoded><![CDATA[<p><img class="alignrightob" src="http://wpbasis.de/images/wpbasis_logo.png" alt="WP Basis Theme Logo" /><br />
Fast seit dem ich mit WordPress beschäftige, irgendwann mit Version 0.71 war das, habe ich mir eine Theme-Layout geschaffen, was ich immer zum Neustart eines neuen Theme heran ziehe - <a href="http://wpbasis.de/">WP Basis</a>.<br />
Fast genauso lange veröffentliche ich dieses Theme unter GPL und es wird wohl recht vielfach genutzt. Die Entwicklung am Theme habe ich weiter getrieben und das Theme ist mit jeder Version von WordPress gewachsen und passt sich den jeweiligen Änderungen an. Um diese Veränderungen besser Händeln zu können, habe ich das Theme seit geraumer Zeit im <a href="http://code.google.com/p/wp-basis-theme/">SVN von Google Code</a> abgelegt und konnte dadurch auch auf die Mitarbeit von <a href="http://andreas-isaak.de/">Andreas</a> und <a href="http://ocean90.de/">Dominik</a> zählen - vielen Dank an dieser Stelle nochmal!</p>
<p>Immer wieder kamen Fragen rein, ob das <a href="http://bueltge.de/basis-theme-fuer-wordpress/411/">alte Theme</a> aktualisiert wird und wann - daher hier nun die Info, ich habe einen Stand erreicht, der stabil ist und das Theme ist mit der aktuellen Version 2.7 und der kommenden Version 2.8 von WordPress kompatibel. Ebenso ist es abwärtskompatibel, getestet bis Version 1.5 von WordPress. Daher hier nun offiziell die <a href="http://wpbasis.de/">Freigabe zum Download und Nutzen</a>.</p>
<ul>
<li><a href="http://wpbasis.de/">Projektsite</a></li>
<li><a href="http://code.google.com/p/wp-basis-theme/">SVN Repository mit Diskussionsplattform</a></li>
</ul>
<p><span id="more-953"></span><br />
Ein Hinweis, das Theme ist <strong>kein Framework</strong> es ist ein einfaches Theme, welches lediglich die Grundlagen eines Theme enthält und diverse Vorzüge aus meiner Arbeit mir WordPress vereint. Es dient also wirklich dazu, dass man ein Theme für Kunden oder sich selbst erstellt, angepasst auf die Anforderungen. Es bringt keinerlei überflüssiges Markup mit, was man dann nicht braucht und wie bei Frameworks zum Teil üblich, mitschleift. Es soll auch so bleiben, keine Child-Themes oder ähnliches, auch keine Hooks zum komfortablen erweitern mit Code. Ich mag diese Art der Arbeit, schlank und schnell, direkt auf die Aufgabe zugeschnitten und daher kann ich mich nicht sonderlich mit Frameworks im WordPress-Theme-Sektor anfreunden; heißt aber nicht, dass andere Entwickler das auch tun sollten!</p>
<p>Wenn euch diese Arbeit liegt und ihr ebenfalls das Theme in erster Linie selbst schreibt, dann steht euch damit eine Grundlage bereit. Durch die Verwaltung im SVN steht euch ebenso eine Möglichkeit zur Verfügung <a href="http://code.google.com/p/wp-basis-theme/issues/list">Fehler und Hinweise zu melden</a>, worüber ich mich sehr freuen würde.<br />
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://bueltge.de/wp-basis-theme/953/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/wp-basis-theme/953/feed/</wfw:commentRss>
		<slash:comments>31</slash:comments>
	
		<media:thumbnail url="http://wpbasis.de/images/wpbasis_logo.png" />
		<media:content url="http://wpbasis.de/images/wpbasis_logo.png" medium="image">
			<media:title type="html">WP Basis Theme Logo</media:title>
		</media:content>
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>FirePHP und WordPress</title>
		<link>http://bueltge.de/firephp-und-wordpress/944/</link>
		<comments>http://bueltge.de/firephp-und-wordpress/944/#comments</comments>
		<pubDate>Thu, 07 May 2009 20:14:39 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[Tipps]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Webdeveloper]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=944</guid>
		<description><![CDATA[Um die Arbeit in meinen Entwicklungen zu erleichtern und zu beschleunigen habe ich immer ein Plugin aktiv, mit dem ich mir diverse Inhalte ausgebe, direkt über die <a href="http://bueltge.de/firephp-verwenden-einfuehrung/720/">Ausgabe von FirePHP</a>. Dabei ist ein kleines Plugin entstanden, welches nun eine ganze Reihe von Konstanten und Variablen enthält, die ich auf Basis der kommenden Version 2.8 von WordPress realisiert habe. Da ich denke, dass das nützlich sein kann, hier der Download zum Plugin und die Inhalte, die ich ausgebe, falls jemand selbst eine Lösung hat und nur die Konstanten und Variablen benötigt.]]></description>
			<content:encoded><![CDATA[<p><em>If you want the information in english - please have a look on <a href="http://wordpress.org/extend/plugins/wp-firephp/">this page</a>.</em></p>
<p>WordPress benutzt eine ganze Reihe von <a href="http://bueltge.de/test/wp/wp-konstanten.html">Konstanten</a> und Variablen, die nützlich sein können. Um so besser, wenn man weis, was sich darin befindet. Eine saubere Ausgabe der Inhalte lässt sich hervorragend mit der Firefox-Erweiterung <a href="http://www.firephp.org/">FirePHP</a> für <a href="http://www.getfirebug.com/">Firebug</a> realisieren.</p>
<p>Um die Arbeit in meinen Entwicklungen zu erleichtern und zu beschleunigen habe ich immer ein Plugin aktiv, mit dem ich mir diverse Inhalte ausgebe, direkt über die <a href="http://bueltge.de/firephp-verwenden-einfuehrung/720/">Ausgabe von FirePHP</a>. Dabei ist ein kleines Plugin entstanden, welches nun eine ganze Reihe von Konstanten und Variablen enthält, die ich auf Basis der kommenden Version 2.8 von WordPress realisiert habe. Da ich denke, dass das nützlich sein kann, hier der Download zum Plugin und die Inhalte, die ich ausgebe, falls jemand selbst eine Lösung hat und nur die Konstanten und Variablen benötigt.</p>
<p><a href="http://bueltge.de/wp-content/images/firephp/wp-firephp2.png" title="Klick für Zoom"><img class="centered" src="http://bueltge.de/wp-content/images/firephp/wp-firephp2_thumb.png" alt="FirePHP und WordPress" /></a><br />
<span id="more-944"></span></p>
<h3>Plugin WP FirePHP</h3>
<p>Um einfach und schnell in WordPress mit FirePHP zu arbeiten kann das Plugin genutzt werden. Es setzt keine Einstellungen oder ähnliches in der Datenbank, der Code ist beispielhaft, so dass man einfach erweitern kann und Bereiche auskommentieren kann, die man nicht benötigt. Aktuell sind diverse Inhalte drin, die in WordPress nützlich sind, dazu gehören die Konstanten, globale Variablen und von PHP vordefinierte Variablen.</p>
<p>Das Plugin im SVN von WordPress geladen werden: <a href="http://wordpress.org/extend/plugins/wp-firephp/">WP FirePHP</a>. Die Installation ist wie gewohnt, ab in den Plugin-Ordner und im Backend der Umgebung aktivieren.</p>
<p>Das Plugin arbeitet mindestens mit WordPress Version 1.5, getestet bis 2.9-rare.</p>
<h3>Download:</h3>
<form class="spenden" action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="amount" id="eins" value="" />
<input type="hidden" name="cmd" value="_xclick" />
<input type="hidden" name="business" value="frank@bueltge.de" />
<input type="hidden" name="item_name" value="Spende bueltge.de" />
<input type="hidden" name="no_shipping" value="1" />
<input type="hidden" name="return" value="http://bueltge.de/" />
<input type="hidden" name="cancel_return" value="http://bueltge.de/" />
<input type="hidden" name="currency_code" value="EUR" />
<input type="hidden" name="tax" value="0" />
<input type="hidden" name="bn" value="PP-DonationsBF" />
<input type="image" src="http://bueltge.de/wp-content/images/donate.png" style="border:0" name="submit" alt="Zahlen Sie mit PayPal - schnell, kostenlos und sicher!" /></form>
<p><strong>Ist die Arbeit nicht 1 Euro wert?</strong><br />
Jede Spende wird dankbar angenommen und ermöglicht das weitere Arbeiten an freier Software.<br />
Möchtest du mehr oder anders spenden, so besuche meine <a href="http://bueltge.de/wunschliste/">Wunschliste</a>.</p>
<p>Download als zip-Datei:<br />
<a href="http://downloads.wordpress.org/plugin/wp-firephp.zip">downloads.wordpress.org/plugin/wp-firephp.zip</a> - ~80 kByte</p>
<h4>WordPress Konstanten und Variablen</h4>
<pre><code>
$wp_constants = array(
'ABSPATH'                            => ABSPATH,
'ADMIN_COOKIE_PATH'                  => ADMIN_COOKIE_PATH,
'APP_REQUEST'                        => APP_REQUEST,
'ARRAY_A'                            => ARRAY_A,
'ARRAY_N'                            => ARRAY_N,
'ATOM'                               => ATOM,
'AUTH_COOKIE'                        => AUTH_COOKIE,
'AUTH_KEY'                           => AUTH_KEY,
'AUTOSAVE_INTERVAL'                  => AUTOSAVE_INTERVAL,
'COMMENTS_TEMPLATE'                  => COMMENTS_TEMPLATE,
'COOKIEHASH'                         => COOKIEHASH,
'COOKIEPATH'                         => COOKIEPATH,
'COOKIE_DOMAIN'                      => COOKIE_DOMAIN,
'CRLF'                               => CRLF,
'CUSTOM_TAGS'                        => CUSTOM_TAGS,
'DB_CHARSET'                         => DB_CHARSET,
'DB_COLLATE'                         => DB_COLLATE,
'DB_HOST'                            => DB_HOST,
'DB_NAME'                            => DB_NAME,
'DB_PASSW'                           => DB_PASSW,
'DB_PASSWORD'                        => DB_PASSWORD,
'DB_USER'                            => DB_USER,
'DOING_AJAX'                         => DOING_AJAX,
'DOING_AUTOSAVE'                     => DOING_AUTOSAVE,
'DOING_CRON'                         => DOING_CRON,
'EP_ALL'                             => EP_ALL,
'EP_ATTACHMENT'                      => EP_ATTACHMENT,
'EP_AUTHORS'                         => EP_AUTHORS,
'EP_CATEGORIES'                      => EP_CATEGORIES,
'EP_COMMENTS'                        => EP_COMMENTS,
'EP_DATE'                            => EP_DATE,
'EP_DAY'                             => EP_DAY,
'EP_MONTH'                           => EP_MONTH,
'EP_NONE'                            => EP_NONE,
'EP_PAGES'                           => EP_PAGES,
'EP_PERMALINK'                       => EP_PERMALINK,
'EP_ROOT'                            => EP_ROOT,
'EP_SEARCH'                          => EP_SEARCH,
'EP_TAGS'                            => EP_TAGS,
'EP_YEAR'                            => EP_YEAR,
'EZSQL_VERSION'                      => EZSQL_VERSION,
'FORCE_SSL_ADMIN'                    => FORCE_SSL_ADMIN,
'FORCE_SSL_LOGIN'                    => FORCE_SSL_LOGIN,
'FTP_ASCII'                          => FTP_ASCII,
'FTP_AUTOASCII'                      => FTP_AUTOASCII,
'FTP_BINARY'                         => FTP_BINARY,
'FTP_FORCE'                          => FTP_FORCE,
'IS_PROFILE_PAGE'                    => IS_PROFILE_PAGE,
'JSON_BOOL'                          => JSON_BOOL,
'JSON_END_ARRAY'                     => JSON_END_ARRAY,
'JSON_END_OBJ'                       => JSON_END_OBJ,
'JSON_FLOAT'                         => JSON_FLOAT,
'JSON_INT'                           => JSON_INT,
'JSON_IN_ARRAY'                      => JSON_IN_ARRAY,
'JSON_IN_BETWEEN'                    => JSON_IN_BETWEEN,
'JSON_IN_OBJECT'                     => JSON_IN_OBJECT,
'JSON_KEY'                           => JSON_KEY,
'JSON_NULL'                          => JSON_NULL,
'JSON_SKIP'                          => JSON_SKIP,
'JSON_START_ARRAY'                   => JSON_START_ARRAY,
'JSON_START_OBJ'                     => JSON_START_OBJ,
'JSON_STR'                           => JSON_STR,
'LANGDIR'                            => LANGDIR,
'LOGGED_IN_COOKIE'                   => LOGGED_IN_COOKIE,
'LOGGED_IN_KEY'                      => LOGGED_IN_KEY,
'MAGPIE_CACHE_AGE'                   => MAGPIE_CACHE_AGE,
'MAGPIE_CACHE_DIR'                   => MAGPIE_CACHE_DIR,
'MAGPIE_CACHE_FRESH_ONLY'            => MAGPIE_CACHE_FRESH_ONLY,
'MAGPIE_CACHE_ON'                    => MAGPIE_CACHE_ON,
'MAGPIE_DEBUG'                       => MAGPIE_DEBUG,
'MAGPIE_FETCH_TIME_OUT'              => MAGPIE_FETCH_TIME_OUT,
'MAGPIE_INITALIZED'                  => MAGPIE_INITALIZED,
'MAGPIE_USER_AGENT'                  => MAGPIE_USER_AGENT,
'MAGPIE_USE_GZIP'                    => MAGPIE_USE_GZIP,
'MAX_EXECUTION_TIME'                 => MAX_EXECUTION_TIME,
'MAX_RESULTS'                        => MAX_RESULTS,
'MC_LOGGER_DEBUG'                    => MC_LOGGER_DEBUG,
'MC_LOGGER_ERROR'                    => MC_LOGGER_ERROR,
'MC_LOGGER_FATAL'                    => MC_LOGGER_FATAL,
'MC_LOGGER_INFO'                     => MC_LOGGER_INFO,
'MC_LOGGER_WARN'                     => MC_LOGGER_WARN,
'OBJECT'                             => OBJECT,
'OBJECT_K'                           => OBJECT_K,
'PASS_COOKIE'                        => PASS_COOKIE,
'PCLZIP_ATT_FILE_NAME'               => PCLZIP_ATT_FILE_NAME,
'PCLZIP_ATT_FILE_NEW_FULL_NAME'      => PCLZIP_ATT_FILE_NEW_FULL_NAME,
'PCLZIP_ATT_FILE_NEW_SHORT_NAME'     => PCLZIP_ATT_FILE_NEW_SHORT_NAME,
'PCLZIP_CB_POST_ADD'                 => PCLZIP_CB_POST_ADD,
'PCLZIP_CB_POST_DELETE'              => PCLZIP_CB_POST_DELETE,
'PCLZIP_CB_POST_EXTRACT'             => PCLZIP_CB_POST_EXTRACT,
'PCLZIP_CB_POST_LIST'                => PCLZIP_CB_POST_LIST,
'PCLZIP_CB_PRE_ADD'                  => PCLZIP_CB_PRE_ADD,
'PCLZIP_CB_PRE_DELETE'               => PCLZIP_CB_PRE_DELETE,
'PCLZIP_CB_PRE_EXTRACT'              => PCLZIP_CB_PRE_EXTRACT,
'PCLZIP_CB_PRE_LIST'                 => PCLZIP_CB_PRE_LIST,
'PCLZIP_ERROR_EXTERNAL'              => PCLZIP_ERROR_EXTERNAL,
'PCLZIP_ERR_ALREADY_A_DIRECTORY'     => PCLZIP_ERR_ALREADY_A_DIRECTORY,
'PCLZIP_ERR_BAD_CHECKSUM'            => PCLZIP_ERR_BAD_CHECKSUM,
'PCLZIP_ERR_BAD_EXTENSION'           => PCLZIP_ERR_BAD_EXTENSION,
'PCLZIP_ERR_BAD_EXTRACTED_FILE'      => PCLZIP_ERR_BAD_EXTRACTED_FILE,
'PCLZIP_ERR_BAD_FORMAT'              => PCLZIP_ERR_BAD_FORMAT,
'PCLZIP_ERR_DELETE_FILE_FAIL'        => PCLZIP_ERR_DELETE_FILE_FAIL,
'PCLZIP_ERR_DIRECTORY_RESTRICTION'   => PCLZIP_ERR_DIRECTORY_RESTRICTION,
'PCLZIP_ERR_DIR_CREATE_FAIL'         => PCLZIP_ERR_DIR_CREATE_FAIL,
'PCLZIP_ERR_FILENAME_TOO_LONG'       => PCLZIP_ERR_FILENAME_TOO_LONG,
'PCLZIP_ERR_INVALID_ARCHIVE_ZIP'     => PCLZIP_ERR_INVALID_ARCHIVE_ZIP,
'PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE' => PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE,
'PCLZIP_ERR_INVALID_OPTION_VALUE'    => PCLZIP_ERR_INVALID_OPTION_VALUE,
'PCLZIP_ERR_INVALID_PARAMETER'       => PCLZIP_ERR_INVALID_PARAMETER,
'PCLZIP_ERR_INVALID_ZIP'             => PCLZIP_ERR_INVALID_ZIP,
'PCLZIP_ERR_MISSING_FILE'            => PCLZIP_ERR_MISSING_FILE,
'PCLZIP_ERR_MISSING_OPTION_VALUE'    => PCLZIP_ERR_MISSING_OPTION_VALUE,
'PCLZIP_ERR_NO_ERROR'                => PCLZIP_ERR_NO_ERROR,
'PCLZIP_ERR_READ_OPEN_FAIL'          => PCLZIP_ERR_READ_OPEN_FAIL,
'PCLZIP_ERR_RENAME_FILE_FAIL'        => PCLZIP_ERR_RENAME_FILE_FAIL,
'PCLZIP_ERR_UNSUPPORTED_COMPRESSION' => PCLZIP_ERR_UNSUPPORTED_COMPRESSION,
'PCLZIP_ERR_UNSUPPORTED_ENCRYPTION'  => PCLZIP_ERR_UNSUPPORTED_ENCRYPTION,
'PCLZIP_ERR_USER_ABORTED'            => PCLZIP_ERR_USER_ABORTED,
'PCLZIP_ERR_WRITE_OPEN_FAIL'         => PCLZIP_ERR_WRITE_OPEN_FAIL,
'PCLZIP_OPT_ADD_COMMENT'             => PCLZIP_OPT_ADD_COMMENT,
'PCLZIP_OPT_ADD_PATH'                => PCLZIP_OPT_ADD_PATH,
'PCLZIP_OPT_BY_EREG'                 => PCLZIP_OPT_BY_EREG,
'PCLZIP_OPT_BY_INDEX'                => PCLZIP_OPT_BY_INDEX,
'PCLZIP_OPT_BY_NAME'                 => PCLZIP_OPT_BY_NAME,
'PCLZIP_OPT_BY_PREG'                 => PCLZIP_OPT_BY_PREG,
'PCLZIP_OPT_COMMENT'                 => PCLZIP_OPT_COMMENT,
'PCLZIP_OPT_EXTRACT_AS_STRING'       => PCLZIP_OPT_EXTRACT_AS_STRING,
'PCLZIP_OPT_EXTRACT_DIR_RESTRICTION' => PCLZIP_OPT_EXTRACT_DIR_RESTRICTION,
'PCLZIP_OPT_EXTRACT_IN_OUTPUT'       => PCLZIP_OPT_EXTRACT_IN_OUTPUT,
'PCLZIP_OPT_NO_COMPRESSION'          => PCLZIP_OPT_NO_COMPRESSION,
'PCLZIP_OPT_PATH'                    => PCLZIP_OPT_PATH,
'PCLZIP_OPT_PREPEND_COMMENT'         => PCLZIP_OPT_PREPEND_COMMENT,
'PCLZIP_OPT_REMOVE_ALL_PATH'         => PCLZIP_OPT_REMOVE_ALL_PATH,
'PCLZIP_OPT_REMOVE_PATH'             => PCLZIP_OPT_REMOVE_PATH,
'PCLZIP_OPT_REPLACE_NEWER'           => PCLZIP_OPT_REPLACE_NEWER,
'PCLZIP_OPT_SET_CHMOD'               => PCLZIP_OPT_SET_CHMOD,
'PCLZIP_OPT_STOP_ON_ERROR'           => PCLZIP_OPT_STOP_ON_ERROR,
'PCLZIP_READ_BLOCK_SIZE'             => PCLZIP_READ_BLOCK_SIZE,
'PCLZIP_SEPARATOR'                   => PCLZIP_SEPARATOR,
'PCLZIP_TEMPORARY_DIR'               => PCLZIP_TEMPORARY_DIR,
'PLUGINDIR'                          => PLUGINDIR,
'PLUGINS_COOKIE_PATH'                => PLUGINS_COOKIE_PATH,
'RSS'                                => RSS,
'SECURE_AUTH_COOKIE'                 => SECURE_AUTH_COOKIE,
'SECURE_AUTH_KEY'                    => SECURE_AUTH_KEY,
'SITECOOKIEPATH'                     => SITECOOKIEPATH,
'STATUS_INTERVAL'                    => STATUS_INTERVAL,
'STYLESHEETPATH'                     => STYLESHEETPATH,
'TEMPLATEPATH'                       => TEMPLATEPATH,
'TEST_COOKIE'                        => TEST_COOKIE,
'USER_COOKIE'                        => USER_COOKIE,
'WPINC'                              => WPINC,
'WPLANG'                             => WPLANG,
'WP_ADMIN'                           => WP_ADMIN,
'WP_CONTENT_DIR'                     => WP_CONTENT_DIR,
'WP_CONTENT_URL'                     => WP_CONTENT_URL,
'WP_IMPORTING'                       => WP_IMPORTING,
'WP_INSTALLING'                      => WP_INSTALLING,
'WP_LANG_DIR'                        => WP_LANG_DIR,
'WP_MEMORY_LIMIT'                    => WP_MEMORY_LIMIT,
'WP_PLUGIN_DIR'                      => WP_PLUGIN_DIR,
'WP_PLUGIN_URL'                      => WP_PLUGIN_URL,
'WP_USE_THEMES'                      => WP_USE_THEMES,
'WXR_VERSION'                        => WXR_VERSION,
'XMLRPC_REQUEST'                     => XMLRPC_REQUEST
);

$wp_globals_a_l = array(
'$admin_page_hooks'                  => $admin_page_hooks,
'$ajax_results'                      => $ajax_results,
'$all_links'                         => $all_links,
'$allowedposttags'                   => $allowedposttags,
'$allowedtags'                       => $allowedtags,
'$authordata'                        => $authordata,
'$bgcolor'                           => $bgcolor,
'$cache_categories'                  => $cache_categories,
'$cache_lastcommentmodified'         => $cache_lastcommentmodified,
'$cache_lastpostdate'                => $cache_lastpostdate,
'$cache_lastpostmodified'            => $cache_lastpostmodified,
'$cache_userdata'                    => $cache_userdata,
'$category_cache'                    => $category_cache,
'$class'                             => $class,
'$comment'                           => $comment,
'$comment_cache'                     => $comment_cache,
'$comment_count_cache'               => $comment_count_cache,
'$commentdata'                       => $commentdata,
'$current_user'                      => $current_user,
'$day'                               => $day,
'$debug'                             => $debug,
'$descriptions'                      => $descriptions,
'$error'                             => $error,
'$feeds'                             => $feeds,
'$id'                                => $id,
'$is_apache'                         => $is_apache,
'$is_IIS'                            => $is_IIS,
'$is_macIE'                          => $is_macIE,
'$is_winIE'                          => $is_winIE,
'$l10n'                              => $l10n,
'$locale'                            => $locale,
'$link'                              => $link
);
$wp_globals_m_r = array(
'$m'                                 => $m,
'$map'                               => $map,
'$max_num_pages'                     => $max_num_pages,
'$menu'                              => $menu,
'$mode'                              => $mode,
'$month'                             => $month,
'$month_abbrev'                      => $month_abbrev,
'$monthnum'                          => $monthnum,
'$more'                              => $more,
'$multipage'                         => $multipage,
'$names'                             => $names,
'$newday'                            => $newday,
'$numpages'                          => $numpages,
'$page'                              => $page,
'$page_cache'                        => $page_cache,
'$paged'                             => $paged,
'$pagenow'                           => $pagenow,
'$pages'                             => $pages,
'$parent_file'                       => $parent_file,
'$preview'                           => $preview,
'$previousday'                       => $previousday,
'$previousweekday'                   => $previousweekday,
'$plugin_page'                       => $plugin_page,
'$post'                              => $post,
'$post_cache'                        => $post_cache,
'$post_default_category'             => $post_default_category,
'$post_default_title'                => $post_default_title,
'$post_meta_cache'                   => $post_meta_cache,
'$postc'                             => $postc,
'$postdata'                          => $postdata,
'$posts'                             => $posts,
'$posts_per_page'                    => $posts_per_page,
'$previousday'                       => $previousday,
'$request'                           => $request,
'$result'                            => $result,
'$richedit'                          => $richedit
);
$wp_globals_s_v = array(
'$single'                            => $single,
'$submenu'                           => $submenu,
'$table_prefix'                      => $table_prefix,
'$targets'                           => $targets,
'$timedifference'                    => $timedifference,
'$timestart'                         => $timestart,
'$timeend'                           => $timeend,
'$updated_timestamp'                 => $updated_timestamp,
'$urls'                              => $urls,
'$user_ID'                           => $user_ID,
'$user_email'                        => $user_email,
'$user_identity'                     => $user_identity,
'$user_level'                        => $user_level,
'$user_login'                        => $user_login,
'$user_pass_md5'                     => $user_pass_md5,
'$user_url'                          => $user_url
);
$wp_globals_w = array(
'$weekday'                           => $weekday,
'$weekday_abbrev'                    => $weekday_abbrev,
'$weekday_initial'                   => $weekday_initial,
'$withcomments'                      => $withcomments,
'$wp'                                => $wp,
'$wp_broken_themes'                  => $wp_broken_themes,
'$wp_db_version'                     => $wp_db_version,
'$wp_did_header'                     => $wp_did_header,
'$wp_did_template_redirect'          => $wp_did_template_redirect,
'$wp_file_description'               => $wp_file_description,
'$wp_filter'                         => $wp_filter,
'$wp_importers'                      => $wp_importers,
'$wp_plugins'                        => $wp_plugins,
'$wp_themes'                         => $wp_themes,
'$wp_object_cache'                   => $wp_object_cache,
'$wp_query'                          => $wp_query,
'$wp_queries'                        => $wp_queries,
'$wp_rewrite'                        => $wp_rewrite,
'$wp_roles'                          => $wp_roles,
'$wp_similiesreplace'                => $wp_similiesreplace,
'$wp_smiliessearch'                  => $wp_smiliessearch,
'$wp_version'                        => $wp_version,
'$wpcommentspopupfile'               => $wpcommentspopupfile,
'$wpcommentsjavascript'              => $wpcommentsjavascript
);
</code></pre>
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://bueltge.de/firephp-und-wordpress/944/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/firephp-und-wordpress/944/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/firephp/wp-firephp2_thumb.png" />
		<media:content url="http://bueltge.de/wp-content/images/firephp/wp-firephp2_thumb.png" medium="image">
			<media:title type="html">FirePHP und 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 Design Tweaks</title>
		<link>http://bueltge.de/wordpress-design-tweaks/939/</link>
		<comments>http://bueltge.de/wordpress-design-tweaks/939/#comments</comments>
		<pubDate>Tue, 28 Apr 2009 07:27:08 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Plugin]]></category>
		<category><![CDATA[Tipps]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[StyleSheet]]></category>
		<category><![CDATA[Theme]]></category>
		<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[Webdeveloper]]></category>
		<category><![CDATA[WP]]></category>
		<category><![CDATA[WP2.8]]></category>

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

		<guid isPermaLink="false">http://bueltge.de/?p=934</guid>
		<description><![CDATA[Die Implementierung von Stylesheets kann man mit unterschiedlichen Anweisungen machen und ich bekomme immer wieder die Frage, warum ich mich für <code>&#60;link</code> entschieden habe und nicht via <code>@import</code> die Stylesheets einbinde.]]></description>
			<content:encoded><![CDATA[<p>Die Implementierung von Stylesheets kann man mit unterschiedlichen Anweisungen machen und ich bekomme immer wieder die Frage, warum ich mich für <code>&lt;link</code> entschieden habe und nicht via <code>@import</code> die Stylesheets einbinde.<br />
Gerade in meinem <a href="http://code.google.com/p/wp-basis-theme/">Basis-Theme für WordPress</a> scheint das aufzufallen und diverse Nutzer zu stören.</p>
<p>Der klare Umschwung ist bei mir nach dem Lesen des Buches &#8222;<a href="https://www.amazon.de/dp/389721850X?tag=buedebyltgde-21&#038;camp=1410&#038;creative=6378&#038;linkCode=as1&#038;creativeASIN=389721850X&#038;adid=1MMXCF2MX45MDJAGA3YM&#038;">High Performance Websites</a>&#8220; von Steve Souders, Chief Performance Yahoo! bei Yahoo!, gefallen und ich löse nun alles per <code>&lt;link</code>.<br />
Nun ist mir aber die öffentlich zugängliche Seite des Buchautors wieder unter gekommen und dort publiziert Steve einen Beitrag zum Thema. Diesen Link möchte ich damit einfach mal als Begründung, Rechtfertigung oder <a href="http://www.stevesouders.com/blog/2009/04/09/dont-use-import/">Lesetipp</a> hier präsentieren.</p>
<p><strong>Die klare Aussage:</strong> Kein <code>@import</code> nutzen.</p>
<p>Spannender Artikel, der sicher bei dem einen oder anderen Veränderungen hervorruft. Daher der Tipp, den Beitrag <a href="http://www.stevesouders.com/blog/2009/04/09/dont-use-import/">don’t use @import</a> zum Buch zu lesen.<br />
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://bueltge.de/link-vs-import/934/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/link-vs-import/934/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/favicon.ico" />
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>jQuery 1.3 CheatSheet</title>
		<link>http://bueltge.de/jquery-13-cheatsheet/932/</link>
		<comments>http://bueltge.de/jquery-13-cheatsheet/932/#comments</comments>
		<pubDate>Sun, 05 Apr 2009 10:12:36 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Webküche]]></category>
		<category><![CDATA[Cheat Sheet]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Webdeveloper]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=932</guid>
		<description><![CDATA[Im deutsche Umfeld scheint es, als ob <a href="http://jquery.com/">jQuery</a> das Lieblingsframework der Entwickler im Bereich JavaScript ist. Seit geraumer Zeit ist Version 1.3 von jQuery veröffentlicht und diverse Neuerungen, aber vor allem Performanceverbesserungen huldigen die neue Version. CheatSheet für jQuery]]></description>
			<content:encoded><![CDATA[<p>Im deutsche Umfeld scheint es, als ob <a href="http://jquery.com/">jQuery</a> das Lieblingsframework der Entwickler im Bereich JavaScript ist. Seit geraumer Zeit ist Version 1.3 von jQuery veröffentlicht und diverse Neuerungen, aber vor allem Performanceverbesserungen huldigen die neue Version.</p>
<p>Um so schöner, dass es auch für die neue Version (<a href="http://bueltge.de/jquery-cheat-sheet/543/">alte Version</a>) ein übersichtliches <a href="http://acodingfool.typepad.com/blog/jquery-13-cheat-sheet.html">CheatSheet</a> gibt, was beim Umgang ein leichten Zugriff erlaubt. Einfach mal drüber schauen.<br />
Alternativ kann man noch immer auf das <a href="http://www.kintek.com.au/web-design-blog/jquery-menu-firefox-extension/">Firefox Add-on</a> oder die <a href="http://api.jquery.com/">Air-Applikation</a> zurückgreifen.</p>
<p><cite>Aufgefallen bei <a href="http://technikwuerze.de/podcast/technikwuerze132/">Technikwürze 132</a></cite></p>
<p><strong>Update:</strong> <a href="http://labs.impulsestudios.ca/jquery-cheat-sheet">Cheat Sheet für jQuery Version 1.4</a> gibt es unter neuen Adresse<br />
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://bueltge.de/jquery-13-cheatsheet/932/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/jquery-13-cheatsheet/932/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>WordPress Funktionen außerhalb von WordPress nutzen</title>
		<link>http://bueltge.de/wordpress-funktionen-ausserhalb-von-wordpress-nutzen/922/</link>
		<comments>http://bueltge.de/wordpress-funktionen-ausserhalb-von-wordpress-nutzen/922/#comments</comments>
		<pubDate>Fri, 03 Apr 2009 05:09:23 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tipps]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Webdeveloper]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=922</guid>
		<description><![CDATA[Ab und zu benötigt man diverse Daten aus WordPress, die sich aber nicht im System abbilden sollen; außerhalb der Installation sind sie nötig. Damit ergeben sich im Grunde zwei Möglichkeiten. Content kann man recht einfach über den Feed abfassen und weiter verarbeiten oder man verschafft sich Zutritt zum System. Auch das ist im Grunde ganz einfach und soll hier kurz dargelegt werden.]]></description>
			<content:encoded><![CDATA[<p><img class="alignrightob" src="http://bueltge.de/wp-content/images/wordpress-logo.png" alt="WP Logo" /><br />
Ab und zu benötigt man diverse Daten aus WordPress, die sich aber nicht im System abbilden sollen; außerhalb der Installation sind sie nötig. Damit ergeben sich im Grunde zwei Möglichkeiten. Content kann man recht einfach über den Feed abfassen und weiter verarbeiten oder man verschafft sich Zutritt zum System. Auch das ist im Grunde ganz einfach und soll hier kurz dargelegt werden.<br />
<span id="more-922"></span><br />
In einem <a href="http://bueltge.de/google-news-quelle-mit-wordpress-werden/836/">Beitrag zu Google News</a> habe ich schon erklärt, wie man auf die Daten zugreift, auch wenn dort die Ausgabe noch im Root der WordPress Installation statt findet. Man kann aber im Grunde von überall auf die Daten zugreifen, in dem eine Datei einbindet. Seit WordPress 2.5 ist das die <code>wp-load.php</code>, alternativ und in älteren Versionen nutzt ihr einfach die <code>wp-config.php</code>. Im Übrigen wird die <code>wp-blog-header.php</code> noch früher gezogen und ist damit eventuell noch besser geeignet.</p>
<p>Das folgende kleine Bespiel bindet die Datei ein und gibt Markup und Design des aktiven Themes aus, somit nutz ich hier also den Zugriff auf die Inhalte und Einstellungen von WordPress, da ich die Funktionen von WordPress einbinde. Das wiederum geht nun, da die <code>wp-load.php</code> die Brücke zu allen anderen Funktionen in WordPress ist.</p>
<pre><code>
&lt;?php
require( '../my_wordpress_install_root/wp-load.php' );
get_header();

echo 'neuer Inhalt außerhalb von WordPress';

get_footer();
?&gt;
</code></pre>
<p>Je nach dem, wo man die Daten benötigt, kann es sein, das man den absoluten Pfad von WordPress benötigt. Diesen kann man ermitteln, in dem man eine php-Datei erstellt mit folgendem Inhalt, im Root der Installation ablegt und direkt aufruft. Die Ausgabe ist der Pfad zur Datei.</p>
<pre><code>
&lt;?php echo $_SERVER['DOCUMENT_ROOT']; ?&gt;
</code></pre>
<p>Diesen verwendet man dann in der <code>require</code>-Anweisung und kann nun wie gewohnt die Funktionen von WordPress nutzen.<br />
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://bueltge.de/wordpress-funktionen-ausserhalb-von-wordpress-nutzen/922/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/wordpress-funktionen-ausserhalb-von-wordpress-nutzen/922/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/wordpress-logo.png" />
		<media:content url="http://bueltge.de/wp-content/images/wordpress-logo.png" medium="image">
			<media:title type="html">WP Logo</media:title>
		</media:content>
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>XSS Scanner leicht gemacht</title>
		<link>http://bueltge.de/xss-scanner-leicht-gemacht/923/</link>
		<comments>http://bueltge.de/xss-scanner-leicht-gemacht/923/#comments</comments>
		<pubDate>Thu, 26 Mar 2009 13:00:47 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[Webdeveloper]]></category>
		<category><![CDATA[XSS]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=923</guid>
		<description><![CDATA[Ein XSS Scanner, der einfach als Bookmark genutzt werden kann &#8211; genau das ist <a href="http://www.thespanner.co.uk/2009/03/25/xss-rays/">XSS Rays</a>.
Das Tool ist ein Open-Source-Werkzeug, wurde in JavaScipt geschrieben und kann browserübergreifend XSS-Anfälligkeiten finden.

Im Entwicklungsprozess kann so schnell, einfach und unkompliziert die Sicherheit erhöht werden. Das Tool ist schnell als Lesezeichen im Browser abgelegt und scannt Links und Pfade. Alternativ kann man neue Angriffsvektoren hinzufügen. Definitiv ein Bookmark wert.]]></description>
			<content:encoded><![CDATA[<p>Ein XSS Scanner, der einfach als Bookmark genutzt werden kann &#8211; genau das ist <a href="http://www.thespanner.co.uk/2009/03/25/xss-rays/">XSS Rays</a>.<br />
Das Tool ist ein Open-Source-Werkzeug, wurde in JavaScipt geschrieben und kann browserübergreifend XSS-Anfälligkeiten finden.<br />
<span id="more-923"></span><br />
Zum Thema XSS habe ich bereits einiges an Infos veröffentlicht, was mir im Lernprozess geholfen hat, siehe Beitrag <a href="http://bueltge.de/cross-site-scripting-xss/477/">Cross Site Scripting (XSS)</a>. Bisher habe ich andere Tools eingesetzt, die mir ein wenig Sicherheit nach dem Coden geben. Mit diesem Tool bin ich daher sofort infiziert, infiziert von einer Idee, die es wirklich einfach macht, eine kleine weitere Prüfung beim Entwickeln aufzunehmen.</p>
<p>Im Entwicklungsprozess kann so schnell, einfach und unkompliziert die Sicherheit erhöht werden. Das Tool ist schnell als Lesezeichen im Browser abgelegt und scannt Links und Pfade. Alternativ kann man neue Angriffsvektoren hinzufügen. Definitiv ein Bookmark wert. Download und Anwendung finden sich auf der Webseite zum Tool <a href="http://www.thespanner.co.uk/2009/03/25/xss-rays/">XSS Rays</a>.<br />
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://bueltge.de/xss-scanner-leicht-gemacht/923/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/xss-scanner-leicht-gemacht/923/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>HTML Lorem ipsum Deutsch</title>
		<link>http://bueltge.de/html-lorem-ipsum-deutsch/911/</link>
		<comments>http://bueltge.de/html-lorem-ipsum-deutsch/911/#comments</comments>
		<pubDate>Thu, 12 Mar 2009 11:51:00 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[CSS, xHTML, JS]]></category>
		<category><![CDATA[Webküche]]></category>
		<category><![CDATA[Linktipp]]></category>
		<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[Webdeveloper]]></category>
		<category><![CDATA[xHTML]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=911</guid>
		<description><![CDATA[Blindtexte werden bei der Webentwicklung ebenso oft benötigt wie klassische HTML-Tags mit Inhalten. Zu diesem Zweck gibt es den einen oder anderen Generator oder andere Tools wo man sich diverse angefertigte Tags und Texte holen kann.
Zu diesem Zweck habe ich mir <a href="http://bueltge.de/test/html-ipsum.php">eine Seite</a> erstellt, die mir diverse Auswahlbereiche mit HTML-Tags und Blindtexten in deutscher Sprache zur Verfügung stellt.]]></description>
			<content:encoded><![CDATA[<p>Blindtexte werden bei der Webentwicklung ebenso oft benötigt wie klassische HTML-Tags mit Inhalten. Zu diesem Zweck gibt es den einen oder anderen Generator oder andere Tools wo man sich diverse angefertigte Tags und Texte holen kann.</p>
<p>Aus meiner Sicht ist die deutsche Sprache aber ein wenig komplexer und die bekannten Lorem ipsum-Texte bilden daher nicht immer alle eventuellen Probleme ab. Hintergründe und Infos zu diesem Thema werden sehr schön in dem Artikel &#8222;<a href="http://www.webkrauts.de/2008/12/06/blindtexte-als-chance/">Blindtexte als Chance</a>&#8220; der Webkrauts dargestellt.</p>
<p>Zu diesem Zweck habe ich mir <a href="http://bueltge.de/test/html-ipsum.php">eine Seite</a> erstellt, die mir diverse Auswahlbereiche mit HTML-Tags und Blindtexten in deutscher Sprache zur Verfügung stellt. Dabei habe ich die Idee des <a href="http://html-ipsum.com/">HTML-Impus</a> von Chris Coyier genutzt und einzelne Bereiche angelegt, die die Übersicht ein wenig wahren. Ebenso kann man via Klick auf den Titel einer Box den Inhalt in die Zwischenablage kopieren.<br />
<span id="more-911"></span><br />
<a href="http://bueltge.de/test/html-ipsum.php" title="zum Tool"><img class="centered" src="http://bueltge.de/wp-content/images/html_lorem_ipsum_screenshot.png" alt="Screenshot HTML Lorem ipsum Deutsch" /></a></p>
<p>Wer also ebenso ab und dann diverse Inhalte und Tags benötigt, gern kann es genutzt werden. Ebenso freue ich mich über Ideen zur Verbesserungen.<br />
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://bueltge.de/html-lorem-ipsum-deutsch/911/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/html-lorem-ipsum-deutsch/911/feed/</wfw:commentRss>
		<slash:comments>35</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/html_lorem_ipsum_screenshot.png" />
		<media:content url="http://bueltge.de/wp-content/images/html_lorem_ipsum_screenshot.png" medium="image">
			<media:title type="html">Screenshot HTML Lorem ipsum Deutsch</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>Einblick in HTML5</title>
		<link>http://bueltge.de/einblick-in-html5/910/</link>
		<comments>http://bueltge.de/einblick-in-html5/910/#comments</comments>
		<pubDate>Wed, 11 Mar 2009 21:46:19 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[Webküche]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[Webdeveloper]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=910</guid>
		<description><![CDATA[Ein schöner und verständlicher Einblick in HTML5 mit reichlich Code-Beispielen gibt uns Christopher Schmitt.]]></description>
			<content:encoded><![CDATA[<p>Ein schöner und verständlicher Einblick in HTML5 mit reichlich Code-Beispielen gibt uns <a href="http://www.christopherschmitt.com/2009/03/09/looking-into-html5/">Christopher Schmitt</a>...</p>
<p><object width="425" height="355" class="centered"><param name="movie" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=lookingintohtml5-pdf-090304212841-phpapp02&#038;stripped_title=looking-into-html5" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=lookingintohtml5-pdf-090304212841-phpapp02&#038;stripped_title=looking-into-html5" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object></p>
<p>... natürlich ist in dem Zusammenhang die <a href="http://www.peterkroener.de/html5-was-geht-heute-schon-was-geht-nicht-der-grosse-ueberblick/">Übersicht von Peter Kröner zu HTML5</a> nicht zu vergessen.<br />
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://bueltge.de/einblick-in-html5/910/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/einblick-in-html5/910/feed/</wfw:commentRss>
		<slash:comments>5</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>Keine Sub-Kategorien im Loop von WordPress</title>
		<link>http://bueltge.de/keine-sub-kategorien-im-loop-von-wordpress/901/</link>
		<comments>http://bueltge.de/keine-sub-kategorien-im-loop-von-wordpress/901/#comments</comments>
		<pubDate>Wed, 04 Mar 2009 01:07:28 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Tipps]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Hook]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Template]]></category>
		<category><![CDATA[Theme]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Webdeveloper]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=901</guid>
		<description><![CDATA[Nicht immer soll die Ausgabe des Loop innerhalb einer Kategorie die Unterkategorien enthalten. Um das zu bewerkstelligen kann man einen eigene  WP Query bauen und jeweils ein Template erstellen, siehe einige Tipps und Hinweis dazu in <a href="http://bueltge.de/wordpress-query-quick-tipps/717/" title="zum Beitrag WordPress Query Quick Tipps">einem anderen Beitrag</a> von mir. Alternativ kann man aber auch einen Hook nutzen und alle Unterkategorien zu filtern. Die folgende Syntax ablegen in der <code>functions.php</code> des Themes oder in ein Plugin auslagern und fertig.

Alternativ kann man diesen Hook aber auch zu anderen Sachen benutzen. Auch dazu möchte ich hier einige Worte verlieren.]]></description>
			<content:encoded><![CDATA[<p>Nicht immer soll die Ausgabe des Loop innerhalb einer Kategorie die Unterkategorien enthalten. Um das zu bewerkstelligen kann man einen eigene  WP Query bauen und jeweils ein Template erstellen, siehe einige Tipps und Hinweis dazu in <a href="http://bueltge.de/wordpress-query-quick-tipps/717/" title="zum Beitrag WordPress Query Quick Tipps">einem anderen Beitrag</a> von mir. Alternativ kann man aber auch einen Hook nutzen und alle Unterkategorien zu filtern. Die folgende Syntax ablegen in der <code>functions.php</code> des Themes oder in ein Plugin auslagern und fertig.</p>
<p>Alternativ kann man diesen Hook aber auch zu anderen Sachen benutzen. Auch dazu möchte ich hier einige Worte verlieren.<br />
<span id="more-901"></span><br />
Der Hook <code>posts_where</code> ist eine wichtige Möglichkeit um auf den Query von WordPress Einfluss zu nehmen und daher ein Bestandteil des Query: <code>$where = apply_filters('posts_where', $where);</code>. Er dient beispielsweise dazu, den Query von WordPress zu erweitern. Dabei wird immer ein Parameter übergeben. Dieser kann mit jede Art von SQL-Anweisungen befüllt werden.</p>
<p>Ein bekanntes Beispiel ist eventuell mein Artikel zum verspäteten Veröffentlichen von Feeds: &#8222;<a href="http://bueltge.de/wordpress-feed-zeitversetzt-befuellen/806/">WordPress Feed zeitversetzt befüllen</a>&#8220;.</p>
<p>Eine weitere Möglichkeit ist es, wie schon im Eingang angesprochen, dass bei der Ausgabe innerhalb von Kategorien die Unterkategorien nicht gelistet werden sollen. Die folgende Syntax tut genau dies.</p>
<pre><code>
if ( !function_exists('fb_filter_child_cats') ) {
	function fb_filter_child_cats( $cats= '' ) {
		global $wp_query, $wpdb;

		if ( is_category() ) {

			// get children ID's
			if ( $excludes = get_categories( "child_of=" . $wp_query->get('cat') ) ) {

				// set array with ID's
				foreach ( $excludes as $key => $value ) {
					$exclude[] = $value->cat_ID;
				}
			}

			// remove child cats
			if ( isset($exclude) &#038;& is_array($exclude) ) {
				$cats .= " AND " . $wpdb->prefix . "term_taxonomy.term_id NOT IN (" . implode(",", $exclude) . ") ";
			}
		}

		return $cats;
	}

	if ( !is_admin() ) {
		add_filter( 'posts_where', 'fb_filter_child_cats' );
	}
}
</code></pre>
<p>Um ein stabileres Ergebnis zu erzielen, sollte man möglichst SQL Selects umgehen und damit stabiler in WP zu bleiben. Daher hier eine weitere Lösung für die Filterung der Kinder-Kategorien:</p>
<pre><code>
function fb_filter_child_cats($query) {

	$cat = get_term_by('name', $query-&gt;query_vars['category_name'], 'category');
	$child_cats = (array) get_term_children( &amp;$cat-&gt;term_id, 'category' );

	if ( !$query-&gt;is_admin )
		$query-&gt;set( 'category__not_in', array_merge($child_cats) );

	return $query;
}
add_filter( 'pre_get_posts', 'fb_filter_child_cats' );
</code></pre>
<p>Ein weiteres Beispiel soll zeigen, wie man den Query erweitert. Dabei beziehe ich mich auf einige Fragen aus der WP Hacker Mailingliste, die eigentlich dort nicht hingehören, dazu ist das Forum da.<br />
In die Funktion habe ich mal drei Beispiele integriert.</p>
<ul>
<li>Beiträge der Zukunft im Loop</li>
<li>Seiten im Loop</li>
<li>Nur Beiträge im Loop, die älter als 5 Tage sind</li>
</ul>
<p>Ich hoffe, dass die Möglichkeiten damit recht gut dargestellt werden.</p>
<pre><code>
if ( !function_exists('fb_filter_where') ) {
	function fb_filter_where( $where = '' ) {
		global $wpdb;

		// allow future posts in loop
		$where .= " OR $wpdb->posts.post_status = 'future' ";

		// show pages in loop
		$where .= " OR $wpdb->posts.post_type = 'page' ";

		// only older (<) as 5 days
		$where .= " AND post_date < '" . date('Y-m-d', strtotime('-5 days')) . "'";

		return $where;
	}

	if ( !is_admin() ) {
		add_filter( 'posts_where', 'fb_filter_where' );
	}
}
</code></pre>
<p>Die Möglichkeiten sind sehr flexibel und im Grunde nur abhängig von den SQL-Abfragen. Damit sollte der Hook ein wenig verständlicher sein und seine vielseitigen Möglichkeiten lassen sich nur annähernd darstellen. Dieser Hook ist nur einer von vielen Hooks, die die Flexibilität von WordPress auszeichnen.<br />
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://bueltge.de/keine-sub-kategorien-im-loop-von-wordpress/901/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/keine-sub-kategorien-im-loop-von-wordpress/901/feed/</wfw:commentRss>
		<slash:comments>22</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>10 Punkte, die das Blog besser machen</title>
		<link>http://bueltge.de/10-punkte-die-das-blog-besser-machen/902/</link>
		<comments>http://bueltge.de/10-punkte-die-das-blog-besser-machen/902/#comments</comments>
		<pubDate>Mon, 02 Mar 2009 12:26:42 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Webküche]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Suche]]></category>
		<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[Webdeveloper]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=902</guid>
		<description><![CDATA[Es gibt hinreichend Artikel und Diskussionen zu dem Thema, was das Blog besser macht. Ebenso gibt es viele Artikel, über die man sicher streiten kann und die vor allem nicht auf jedes Blog passen. In erster Linie ist das Blog ein Spiegel des Inhalts und des/der Autor(s)en. Trotzdem, meine ich, gibt es einige Punkte die sich etabliert haben und die man bei der Entwicklung und Verbesserung eines Blog beachten sollte. 

Das Thema spricht mich gerade wieder an, denn diverse Kundenanfragen zeigen, wie wenig man sich mit diesen Themen beschäftigt und man sich eher um die Farbe des Logos streitet. Der Leser des Blog wird viel zu oft nicht oder erst am Ende beachtet. Da in der Regel das Blog aber für Leser gemacht ist, sollte es auch auf ihn zugeschnitten sein. Beachtet daher die Wünsche der Nutzer lasst sie mitreden und hört nie auf, das Blog in Frage zu stellen.
Ein weiterer Punkt, der mich zu diesem Artikel bewegte, ist der Beitrag &#8222;<a href="http://sixrevisions.com/web_design/10-features-that-will-make-twitter-better/" title="Zum Artikel. 10 Features That Will Make Twitter Better">10 Features That Will Make Twitter Better</a>&#8220; von  Jacob Gube, der einschlägige Punkte zeigt, die Twitter besser machen würden. Auch wenn man Twitter nicht direkt mit einem Blog vergleichen kann, so gibt es doch hinreichende Parallelen und die Punkte sprechen für sich und gehören in den Wissensstand eines jedes Nutzers, der sich mit Themen rund um Blogs und Usability beschäftigt.
Aus diesem Zusammenhang hier mal meine Liste von Punkten, die ich für relevant halte, ohne Wertung in der Priorität und sicher nicht vollständig. Aber dazu steht die Kommentarfunktion weit offen und ich danke schon jetzt für jede sinnvolle Erweiterung und konstruktive Kritik.]]></description>
			<content:encoded><![CDATA[<p>Es gibt hinreichend Artikel und Diskussionen zu dem Thema, was das Blog besser macht. Ebenso gibt es viele Artikel, über die man sicher streiten kann und die vor allem nicht auf jedes Blog passen. In erster Linie ist das Blog ein Spiegel des Inhalts und des/der Autor(s)en. Trotzdem, meine ich, gibt es einige Punkte die sich etabliert haben und die man bei der Entwicklung und Verbesserung eines Blog beachten sollte. </p>
<p>Das Thema spricht mich gerade wieder an, denn diverse Kundenanfragen zeigen, wie wenig man sich mit diesen Themen beschäftigt und man sich eher um die Farbe des Logos streitet. Der Leser des Blog wird viel zu oft nicht oder erst am Ende beachtet. Da in der Regel das Blog aber für Leser gemacht ist, sollte es auch auf ihn zugeschnitten sein. Beachtet daher die Wünsche der Nutzer, lasst sie mitreden und hört nie auf, das Blog in Frage zu stellen.<br />
Ein weiterer Punkt, der mich zu diesem Artikel bewegte, ist der Beitrag &#8222;<a href="http://sixrevisions.com/web_design/10-features-that-will-make-twitter-better/" title="Zum Artikel. 10 Features That Will Make Twitter Better">10 Features That Will Make Twitter Better</a>&#8220; von  Jacob Gube, der einschlägige Punkte zeigt, die Twitter besser machen würden. Auch wenn man Twitter nicht direkt mit einem Blog vergleichen kann, so gibt es doch hinreichende Parallelen und die Punkte sprechen für sich und gehören in den Wissensstand eines jedes Nutzers, der sich mit Themen rund um Blogs und Usability beschäftigt.<br />
Aus diesem Zusammenhang hier mal meine Liste von Punkten, die ich für relevant halte, ohne Wertung in der Priorität und sicher nicht vollständig. Aber dazu steht die Kommentarfunktion weit offen und ich danke schon jetzt für jede sinnvolle Erweiterung und konstruktive Kritik.<br />
<span id="more-902"></span></p>
<ul>
<li>
<h4>Besucher stehen im Mittelpunkt</h4>
<p>Verliere niemals den Leser des Blog aus den Augen. Die Website wird nur besser, wenn man Veränderung zulässt, Ziele definiert und kontrolliert. Das Thema ist vielschichtig und sollte daher nicht unterschätzt werden.</li>
<li>
<h4>Text Links im Artikel</h4>
<p>Links sollten ein Aussage treffen und nicht nur unter versteckten Silben zu finden sein. Ebenso gehören Links sichtbar gekennzeichnet. Das Suchen mit der Mouse nach Veränderung ist nicht der Sinn von Links. Das title-Attribut kann einen erhöhten Mehrwert darstellen und sollte nicht vergessen werden.</li>
<li>
<h4>Kommentar Threading</h4>
<p>Die Baumansicht der Kommentare kann die Zusammenhänge der Diskussion besser darstellen, sie kann aber auch den Lesefluss nehmen und die Lust am Kommentieren vernichten. Hier gilt es den Spagat zu finden und dem Leser eine nützliche und überschaubare Lösung zu präsentieren. Das Thema ist für mich auch unter dem Gesichtspunkt der Zielgruppe zu beachten.
</li>
<li>
<h4>Kommentare nutzerfreundlich gestalten</h4>
<p>Kommentieren im Blog ist in der Regel erwünscht &#8211; daher ist es wichtig, dass die Barriere so klein wie möglich ist. Unnütze Registrierung ohne Mehrwert und Captchas sind dafür nicht geeignet. Je einfaches es ist, seine Meinung in den Kommentaren abzugeben, um so mehr wird es geben. Auch das Weglassen von Pflichtfeldern kann dazu beitragen, so wie es schon <a href="http://www.basicthinking.de/blog/2008/11/24/kleine-aenderung-am-kommentarsystem/" title="Link zum Beitrag 'kleine Änderung am Kommentarsystem' auf Basic Thinking">Robert getan</a> hat, nach dem wir es besprochen hatten. Die Pflichtfelder sind kein Spam-Schutz, sie haben andere Vorzüge. So nutze ich sie beispielsweise, um mit den Lesern über Mail ab und dann zu kommunizieren. So komme ich an sie und nutze sie. Aber auch hier ist der Block auf die Zielgruppe wichtig, techn. aversierte Nutzer sind da offen, kenne das Spiel mit den Pflichtfeldern.
</li>
<li>
<h4>Wiedererkennung des Kommentierenden</h4>
<p>Sind Kommentare eindeutig der Person zuzuordnen, dann fühlen sich viele Kommentierende wohler. Nutze diesen Aspekt und gib einen gewissen Wiedererkennungswert zurück, sei es in Form der Avatare als auch spezifischen Content für den bekannten User zurück zu geben. Je nach Leserkreis kann das unterschiedlich ausfallen und sehr verschieden im Mehrwert sein.
</li>
<li>
<h4>Sidebar für mehr Information nutzen</h4>
<p>Der Sidebar ist ein Element des Blog, welches sich durchgesetzt hat und übergreifend anerkannt ist. Darum nutzt den Sidebar um Mehrwert für den Leser zu generieren, sei es statisch oder dynamisch. Je besser der Inhalt auf den Besucher zugeschnitten ist, desto länger wird er bleiben und sich wohl fühlen. Beispiele dafür gibt es viel im Netz, die bekannteste Plattform und die, bei der man es am deutlichsten sieht ist sicher <a href="http://www.amazon.de/" title="Amazon besuchen">Amazon</a>. Allerdings kommt hier wieder der Spagat zum Tragen - Registrierung, Speicherung von Nutzerdaten. Aber auch ohne diese Hürde kann man etwas tun - ich denke nur an die Übergabe der Suchbegriffe und die damit verbunden <a href="http://bueltge.de/wp-landingsites-de-plugin/181/" title="zum Artikel und Plugin für WordPress">Landing Page</a> (<a href="http://bueltge.de/wp-landingsites-de-plugin/181/" title="zum Artikel und Plugin für WordPress">mehr zum Thema in Verbindung mit WordPress</a>) für Besucher, die von Suchmaschinen kommen.
</li>
<li>
<h4>Hervorheben des Autors</h4>
<p>Autoren eines Artikels sollten auch in der Diskussion zum Artikel hervorgehoben sein &#8211; dies kann den Lesefluss bestärken und eindeutig signalisieren, wer hier für Freischaltung und Beitrag verantwortlich ist. Eine kleine Spielerei im Stylesheet, die einen hohen Mehrwert haben kann. Gerade bei Bezug auf den Artikel und damit den Autor kann diese Möglichkeit viel Übersicht schaffen
</li>
<li>
<h4>Suche nicht vergessen</h4>
<p>Für mich sind Sitemaps noch immer nicht aus dem Alltag weg zu denken, trotzdem ist die Suche immer mehr das elementare Werkzeug um explizit auf das Blog etwas zu finden. Daher gehört sie zum Umfang eines jedes Blog. Je nach Anforderung und Können kann diese Suche verschieden mächtig ausfallen. Unterstütze die Leser beim Suchen, helfe mit Ergebnissen, die sinnvoll sind und halte trotzdem das Suchen recht einfach. Hier ist Google Vorzeigeobjekt und man kann viele Bereiche auf das eigene Blog beziehen.
</li>
<li>
<h4>Text/Raum</h4>
<p>Blogs sind für Leser &#8211; daher unterstützt das Lesen auch. Lesen heißt Arbeit für die Augen, Arbeit für den Geist und den Willen. Alle Punkte sollten optimiert für den Leser sein und schon liest der eine oder andere mehr und bis zum Ende. Inhalt ist immer noch der König einer Website für mich, egal ob es sich um techn. Tutorials, spannende Alltagsgeschichten, Videos oder Photos handelt. Daher sollte die Site für die jeweilige Zielgruppe optimiert sein. Viel Text braucht Raum &#8211; Whitespaces ist hier das Schlagwort in der Scene. Gib dem Leser die Möglichkeit das Lesen zu genießen.
</li>
<li>
<h4>Druckoptimierung</h4>
<p>Leider noch immer kein Standard &#8211; was mir unverständlich ist. Nicht immer will man am Rechner lesen und der Druck ist ein Prozess den man nur dem Besucher überlassen sollte. Die Unterstützung eines sauberen Druck ist für mich daher elementar und gehört zu jedem guten Design eines Webprojektes. Auch wenn es nicht tagtäglich im Vordergrund ersichtlich ist, gehört es zum Erarbeiten eines Design. In den Artikeln &#8222;<a href="http://bueltge.de/design-fuer-den-druck-mit-css/681/">Design für den Druck mit CSS</a>&#8220; und &#8222;<a href="http://bueltge.de/wp-druckversion/40/">WordPress Druckversion</a>&#8220; habe ich mich dazu umfassend geäußert und stelle Lösungen zur Vergütung, die das Erstellen eines Print-Stylesheets vereinfache. Durchdachte CSS-Frameworks stellen ebenso eine Vorlage dazu bereit, in <a href="http://www.yaml.de/de/dokumentation/css-bausteine/das-drucklayout.html" title="zur Doku des Druck-Stylesheets in YAML">YAML</a> beispielsweise ist es elementar und ist dabei um genutzt zu werden.
</li>
</ul>
<p>Wie sicher erkennbar ist, habe ich zu jedem Punkt nur eine kurze Ausführung gegeben. Dies ist Absicht und zu jedem einzelnen Punkt könnte man Artikel schreiben und Diskussionen anzetteln. Ich möchte, dass man als Betreiber des Blog über seinen Blog nachdenkt, ihn vergleicht und die Nutzer im Bezug auf das Blog beachtet. Ebenso sind hier nur 10 Punkte zum Tragen gekommen, aber eventuell nimmt der eine oder andere Leser das Thema auf und vervollständigt es. Die Vernetzung von Blogs kann dann ihr übriges tun und weitere Artikel zum Thema können nur Bewusstsein schaffen. In einem anderen <a href="http://bueltge.de/short-feeds-es-stinkt-mir/896/" title="zum Artikel. Short Feeds: Es stinkt mir">Artikel, in dem ich die Betreiber von Websites zu FullFeed bitte</a>, war nicht so angelegt, zeigt aber schön, wie ein Thema die Runde machen kann, was für ein Benefit die Kommentarfunktion hat und wie ein Thema aus der Vielzahl von Themen heraus stechen kann.</p>
<p>Zu fast allen Themen und oft im Bezug mit WordPress gibt es hier im Blog Artikel, nutzt die Suche und nutzt das Wissen, was ich in den Artikeln zur Verfügung stelle. Viele Artikel aus diesem Themenspektrum sind schon älter, was aber nicht heißt, dass sie nicht mehr nutzbar sind. Schaut euch um, nutzt das Suchfeld im oberen Drittel des Blog oder nutzt die <a href="http://bueltge.de/erweiterte-suche/">erweiterte Suche</a>. Alternativ könnt ihr euch die Suche in den Browser holen, was ich mit <a href="http://bueltge.de/opensearch-suchfeld-fuer-mozilla-und-internet-explorer-mit-wordpress-anbieten/410/" title="Open Search in WordPress einbinden">Open Search</a> realisiert habe.<br />
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://bueltge.de/10-punkte-die-das-blog-besser-machen/902/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/10-punkte-die-das-blog-besser-machen/902/feed/</wfw:commentRss>
		<slash:comments>41</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>Top WordPress Plugin Bereiche</title>
		<link>http://bueltge.de/top-wordpress-plugin-bereiche/888/</link>
		<comments>http://bueltge.de/top-wordpress-plugin-bereiche/888/#comments</comments>
		<pubDate>Thu, 12 Feb 2009 12:51:37 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[Webküche]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[Statistik]]></category>
		<category><![CDATA[Webdeveloper]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=888</guid>
		<description><![CDATA[<a href="http://w-shadow.com/blog/2009/02/11/top-wordpress-plugin-niches/">Janis Elsts</a> fragt sich in seinem Blog, was ein Plugin beliebt macht, warum bekommen einige Plugins hunderte Kommentare und Bewertungen und warum warum werden andere sehr gute Lösungen kaum wahr genommen?
Die Auswertung dazu ist interessant, nicht nur für Entwickler. Ich habe den Ansatz mal verfolgt und das Schema nochmal detaillierter dargestellt. Will man Plugins für den kommerziellen Bereich entwickeln und damit Umsatz generieren, dann ist es sicher noch weit interessanter, wie die Ergebnisse aussehen. Aber auch als Coder für diverse Anforderungen, so wie ich es beispielsweise mache, ist die Statistik einen Blick wert.]]></description>
			<content:encoded><![CDATA[<p><a href="http://w-shadow.com/blog/2009/02/11/top-wordpress-plugin-niches/">Janis Elsts</a> fragt sich in seinem Blog, was ein Plugin beliebt macht, warum bekommen einige Plugins hunderte Kommentare und Bewertungen und warum warum werden andere sehr gute Lösungen kaum wahr genommen?<br />
Die Auswertung dazu ist interessant, nicht nur für Entwickler. Ich habe den Ansatz mal verfolgt und das Schema nochmal detaillierter dargestellt. Will man Plugins für den kommerziellen Bereich entwickeln und damit Umsatz generieren, dann ist es sicher noch weit interessanter, wie die Ergebnisse aussehen. Aber auch als Coder für diverse Anforderungen, so wie ich es beispielsweise mache, ist die Statistik einen Blick wert.<br />
<span id="more-888"></span></p>
<p><img class="centeredob" src="http://bueltge.de/wp-content/images/wp/wp-plugin-stats.png" alt="WP Plugin Bereiche in der Nutzung" /></p>
<p>Mein Umsetzungen, wo ich einen Teil <a href="http://bueltge.de/wordpress-plugins/">hier im Blog</a> als Plugin veröffentliche oder auch nur Teillösungen als Beitrag zur Diskussion stelle basieren immer auf Anforderungen aus meinem Kopf oder aus den Ideen und Wünschen von Kontakten. Um aber in eine Nische zu stoßen und Plugins zu einem Einkommen zu deklarieren, gehört mehr Überlegung. So spielt nicht nur das Nichtvorhandensein von Konkurrenz eine Rolle, sondern auch die Planung von WordPress im Core, denn kommt diese Funktionalität in den Standard, dann kann eine Quelle schnell versiegen.</p>
<p>Aber ebenso lässt sich die Statistik nutzen um das Interesse der Nutzer zu analysieren. SEO und Statistik sind hier führend, was schnell nahe legt, dass es sich bei den meisten Nutzern im Interessenten handelt, die ihre Blogs weit nach oben in den Ergebnissen der Suchmaschinen katapultieren wollen, ob Businessinteresse oder rein privat sei erst mal dahin gestellt. Zum Glück können auch Plugins nicht alles und noch immer ist Content der Schlüssel zum Erfolg, was mich als Consumer der Suchergebnisse sehr freut. Bisher komme ich allen Installationen ohne SEO Plugin aus und auch Statistiken überlasse ich den Inhabern.</p>
<p>Dahingehend zeigt mir diese Statistik wieder, dass man auch in diesem Bereich auf seinen Bauch hören sollte und Spaß am Entwickeln haben muss. Was nützt mir die beste Nische, wenn ich keinen Spaß am Coden habe - oft sind die absurdesten Anforderungen die spannendsten und meist haben die das größte Feedback, die, die dem Nutzer Vorteile verschaffen.</p>
<p>In diesem Sinne wünsche ich mir weiterhin, dass die Community weiterhin so freiwillig gibt und dazu lernt und nicht mit dem Ziel eines kommerziellen Erfolges die Entwicklung eines Plugins startet.<br />
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://bueltge.de/top-wordpress-plugin-bereiche/888/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/top-wordpress-plugin-bereiche/888/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/wp/wp-plugin-stats.png" />
		<media:content url="http://bueltge.de/wp-content/images/wp/wp-plugin-stats.png" medium="image">
			<media:title type="html">WP Plugin Bereiche in der Nutzung</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 Theme in Abhängigkeit wechseln</title>
		<link>http://bueltge.de/wordpress-theme-abhaengigkeit-wechseln/886/</link>
		<comments>http://bueltge.de/wordpress-theme-abhaengigkeit-wechseln/886/#comments</comments>
		<pubDate>Tue, 10 Feb 2009 12:30:13 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Tipps]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Template]]></category>
		<category><![CDATA[Theme]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[Webdeveloper]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=886</guid>
		<description><![CDATA[WordPress wird mitunter nicht nur als Blogplattform eingesetzt; denken wir an die Anwendung CMS oder Präsentation von Fotos, so sind das nur einige wenige aus der großen Auswahl. Nicht selten will man dabei für die unterschiedlichsten Abhängigkeiten ein anderes Design laden. So hat meist der Photoblog ein anderes Design als der Weblog.

Im Grunde kann man das recht einfach machen und nicht immer muss man dazu eine umfangreiche Abfrage in die Templates bauen oder gar verschieden Installation von WordPress einrichten. Ebenso kann man sich mit der folgenden gezeigten Lösung mehr Übersicht der getrennten Themes erarbeiten. Im Zuge eines individuellen Designs, wie es beispielsweise bei <a href="http://codecandies.de/2009/02/03/designtrend/">Nico</a> oder <a href="http://praegnanz.de/weblog/individuelle-seiten-vs-standard-templates">Gerrit</a> diskutiert wird, hat man so recht viele Möglichkeiten.]]></description>
			<content:encoded><![CDATA[<p>WordPress wird mitunter nicht nur als Blogplattform eingesetzt; denken wir an die Anwendung CMS oder Präsentation von Fotos, so sind das nur einige wenige aus der großen Auswahl. Nicht selten will man dabei für die unterschiedlichsten Abhängigkeiten ein anderes Design laden. So hat meist der Photoblog ein anderes Design als der Weblog.</p>
<p>Im Grunde kann man das recht einfach machen und nicht immer muss man dazu eine umfangreiche Abfrage in die Templates bauen oder gar verschieden Installation von WordPress einrichten. Ebenso kann man sich mit der folgenden gezeigten Lösung mehr Übersicht der getrennten Themes erarbeiten. Im Zuge eines individuellen Designs, wie es beispielsweise bei <a href="http://codecandies.de/2009/02/03/designtrend/">Nico</a> oder <a href="http://praegnanz.de/weblog/individuelle-seiten-vs-standard-templates">Gerrit</a> diskutiert wird, hat man so recht viele Möglichkeiten.<br />
<span id="more-886"></span></p>
<h3>Mit WordPress 2.8</h3>
<p>Mit der kommenden Version von WordPress wird es dazu einen Template Tag geben - <code>body_class()</code>, der diverse Klassen dem <code>body</code>-Tag zuordnet, damit wird die Induvidialität gefördert, oder auch die Syntaxmenge. Hintergründe hat <a href="http://dynamicinternet.eu/blog/2009-02-10/wordpress-28-body_class-automatic_feed_links/">Michael</a> berichtet, inklusive aller möglichen Klassen. Alternativ kann man bei <a href="http://www.wp-fun.co.uk/2009/02/09/what-a-body/">Andrew</a> nachlesen, der die neue Funktion auch schon analysiert hat.</p>
<pre><code>
&lt;body &lt;?php body_class(); ?&gt;&gt;
</code></pre>
<p>Die Ausgabe könnte dann beispielsweise wie folgt aussehen.</p>
<pre><code>
&lt;body class="page-template page-template-tutorial-php logged-in"&gt;
</code></pre>
<h3>Alles anders</h3>
<p>Aber auch ohne das Warten auf WordPress 2.8 und das Suchen der Klassen gibt es eine schöne und saubere Lösung, wie ich finde. Ich trenne dazu die entsprechenden Themes, wenn es sich um extreme Unterschiede handelt, so zum Beispiel zwischen Weblog und Photoblog. In diesem Fall frage ich die Kategorie ab, die nur für Bilder da ist und aktiviere dann ein anderes Theme für die Ausgabe im Frontend.</p>
<p>Mit dieser Grundidee kann man recht viel anstellen und so habe ich mal einige Beispiele aus meinen bisherigen Anwendungen gelistet, wählt selbst, welche Möglichkeiten ihr nutzen möchtet.</p>
<p>Um die Möglichkeit zu nutzen, lagert ihr die Funktion entweder in die <code>functions.php</code> des Themes aus, <em>welches im Backend von WordPress auf Aktiv gesetzt ist</em>, <strong>oder</strong> ihr speichert es als <em>Plugin</em>. Auch dafür habe ich ein wenig vorbereitet und so findet ihr mein kleines Plugins, welches nur via Code zu ändern ist, also keine Options-Oberfläche mitbringt, auf der entsprechenden Seite zum Plugin &#8222;<a href="http://bueltge.de/wordpress-theme-in-abhaengigkeit-der-benuzter-id-oder-remote-adresse/530/">User Theme</a>&#8220;.</p>
<pre><code>
function fb_user_theme( $template = '' ) {

	// de_DE: Leerzeichen im Namen des Themes muessen mit _ (underline) ersetzt werden!

	// when Profil-ID
	if ( get_profile('ID') == 123 ) {
		$template = 'default';
	}

	// when IP
	if ( $_SERVER['REMOTE_ADDR'] == '127.0.0815.1' ) {
		$template = 'classic';
	}

	// when User_Level
	// @see http://codex.wordpress.org/Roles_and_Capabilities#Roles
	if ( current_user_can('level_10') ) {
		$template = 'classic';
	}

	elseif ( current_user_can('level_5') ) {
		$template = 'classic';
	}

	elseif ( current_user_can('level_2') ) {
		$template = 'default';
	}

	// when category with ID
	if ( in_category('1') ) {
		$template = 'default';
	}

	return $template;
}

add_filter('template', 'fb_user_theme');
add_filter('stylesheet', 'fb_user_theme');
</code></pre>
<p>Im Grunde ist es ganz einfach: wenn eine entsprechende Bedingung wahr ist, wie zum Beispiel Kategorie mit der ID 1, dann wird das default-Theme geladen, ansonsten wird immer das Theme geladen, welches im Backend aktiv ist.<br />
In der Funktion wird als der Name des Themes an die Variable <code>$template</code> übergeben und mit Hilfe der beiden Filter wird das Template und das Stylesheet des übergebenen Theme-Namen aktiviert.</p>
<p>Der übergeben Name des Themes kann in der Beschreibung Leerzeichen enthalten, die hier in der Funktion mit <code>_</code> (underline) ersetzt werden, bitte daran denken, sonst erkennt WordPress das Theme nicht.</p>
<p>Mit diesen kleinen und einfachen Möglichkeit kann man viele Umwege sparen, Installationen von WordPress zusammenfassen und behält trotzdem eine saubere Trennung der Themes. In der Funktion können natürlich alle Arten von Conditional Tags (Hinweise dazu: <a href="http://bueltge.de/wp-tutorial-wir-schreiben-ein-wordpress-theme-teil-3/527/">hier</a> und <a href="http://bueltge.de/wordpress-theme-debuggen/536/">hier</a>) genutzt werden und so ist auch denkbar, dass statische Seiten oder Beiträge mit bestimmten Tags ein anderes Design erhalten.<br />
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://bueltge.de/wordpress-theme-abhaengigkeit-wechseln/886/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/wordpress-theme-abhaengigkeit-wechseln/886/feed/</wfw:commentRss>
		<slash:comments>28</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>Core Plugins - Fluch oder Segen</title>
		<link>http://bueltge.de/core-plugins-fluch-oder-segen/883/</link>
		<comments>http://bueltge.de/core-plugins-fluch-oder-segen/883/#comments</comments>
		<pubDate>Thu, 05 Feb 2009 12:50:42 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[Webdeveloper]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=883</guid>
		<description><![CDATA[Die WP Hacker Mailing Liste ist immer für eine Diskussion gut und bisher habe ich dort gern mitdiskutiert, trotz meines sehr schlechten Englisch und der Scheu vor Diskussionen, die nicht in der Muttersprache verlaufen. Einige Punkte konnten dort schon aus meiner Sicht und der Sicht der deutschen Anwender erreicht werden - was ich bemerkens- und lobenswert finde.
Aktuell gibt es eine neue Diskussion, die die Entwicklung zu Core Plugins zum Thema hat. <a href="http://www.wp-fun.co.uk/">Andrew</a>, versierter und interessierter Entwickler, hat das Thema in einem <a href="http://www.wptavern.com/core-plugins-never-gonna-happen">Gastbeitrag der WP Tavern</a> aufgenommen und bringt einige wichtige Punkte zum tragen.

Auch ich möchte <strong>meine Sicht</strong> der Dinge ein wenig darlegen und rufe zur Diskussion auf. WordPress ist aus meiner Sicht eine Applikation die Spaß macht und das Potential in sich trägt, weiterhin nutzbar und zukunftsträchtig zu sein. Diese kurze und einfache Form meiner Meinung meine ich aus der Sicht eines Anwenders und ebenso eines Entwicklers. Ich will nur kurz und bündig Möglichkeiten zeigen, die ich mir in dem Punkt wünsche und wie ich mir ein WordPress der Zukunft vorstellen könnte, ohne den jetzigen Pfad zu verlassen und die Nutzung parallel zu gewährleisten - quasi ohne einen Start bei Null.]]></description>
			<content:encoded><![CDATA[<p>Die WP Hacker Mailing Liste ist immer für eine Diskussion gut und bisher habe ich dort gern mitdiskutiert, trotz meines sehr schlechten Englisch und der Scheu vor Diskussionen, die nicht in der Muttersprache verlaufen. Einige Punkte konnten dort schon aus meiner Sicht und der Sicht der deutschen Anwender erreicht werden - was ich bemerkens- und lobenswert finde.<br />
Aktuell gibt es eine neue Diskussion, die die Entwicklung zu Core Plugins zum Thema hat. <a href="http://www.wp-fun.co.uk/">Andrew</a>, versierter und interessierter Entwickler, hat das Thema in einem <a href="http://www.wptavern.com/core-plugins-never-gonna-happen">Gastbeitrag der WP Tavern</a> aufgenommen und bringt einige wichtige Punkte zum tragen.</p>
<p>Auch ich möchte <strong>meine Sicht</strong> der Dinge ein wenig darlegen und rufe zur Diskussion auf. WordPress ist aus meiner Sicht eine Applikation die Spaß macht und das Potential in sich trägt, weiterhin nutzbar und zukunftsträchtig zu sein. Diese kurze und einfache Form meiner Meinung meine ich aus der Sicht eines Anwenders und ebenso eines Entwicklers. Ich will nur kurz und bündig Möglichkeiten zeigen, die ich mir in dem Punkt wünsche und wie ich mir ein WordPress der Zukunft vorstellen könnte, ohne den jetzigen Pfad zu verlassen und die Nutzung parallel zu gewährleisten - quasi ohne einen Start bei Null.<br />
<span id="more-883"></span></p>
<h4>Core Plugins</h4>
<p>Core Plugins erlauben es, dass der eigentliche Core von WordPress schlank bleibt und man sich die notwendigen Erweiterungen mit Hilfe der Core Plugins holt. Damit schaltet man nur Funktion zu, die man auch wirklich benötigt bzw. die von anderen Erweiterungen, zum Beispiel Plugins aus der Community, gebraucht werden.</p>
<h4>Fahrplan</h4>
<p>Bisher ist die Philosophie von WordPress: wachse, erweitere mehr und mehr; wie ich das auch in den <a href="http://blog.wordpress-deutschland.org/2009/01/06/wordpress-ein-ausblick-fuer-2009.html">Gedanken zu 2009</a> schon veröffentlicht habe. Dies liegt aus meiner Sicht sicher daran, dass der Großteil der Benutzer immer mehr Funktionen möchte, was auch schon an der <a href="http://wordpress.org/extend/ideas/">Wunschliste von WordPress</a> zu sehen ist.</p>
<h4>Pro &#038; Kontra</h4>
<p>Das Entwicklerteam um WordPress tut sich schwer mit Entscheidungen, was kommt in den Core und was nicht. Zum Teil werden ewige Diskussionen geführt, bis man es umsetzt. WordPress ist bekannt für ein schnelles Wachstum und Funktionsvielfalt. Aus diesem Aspekt heraus ist es sicher schwer, zu sagen, wir nehmen bestimmte Bereiche heraus und stellen sie als Plugin zur Verfügung. Dies bedeutet aber eine angekoppelte Entwicklung, was mehr Zeit kostet und die scheint WordPress nie zu haben. Ich stimme zu - damit wird die Entwicklung träger, der Aufwand des Testens höher und die Vielfalt hat keinen gemeinsamen Standard. Aber ist es nicht ein Mehrwert, wenn man ein schlankes stabiles System hat, welches man mit den den entsprechenden Plugins um die benötigten Funktionen erweitert?</p>
<p>Aus meinem Umfeld der <a href="http://bueltge.de/wordpress-themes/">eigenen</a> <a href="http://bueltge.de/wordpress-plugins/">Entwicklungen</a>, veröffentlicht oder nicht, rund um und mit WordPress weiß ich, wie viel Aufwand es bedeuten kann, Plugins aktuell zu halten und entsprechend zu testen. Ich kann verstehen, wenn man sich gegen Core Plugins ausspricht. Aus dem Blick der unterschiedlichen Anwendungen und Lösungen, die ich mit WordPress umgesetzt habe, kann ich aber die Entwicklung in die Richtung Core Plugin nur unterstreichen.</p>
<h4>Core Plugin oder klassisches Plugin?</h4>
<p>In diesem Zusammenhang stellt sich aber dann auch unwiderruflich die Frage, warum Core Plugins, warum nicht die klassischen Modelle der Plugins im wordpress.org Plugin Repository? In diesem Verzeichnis zeigt sich besonders stark, wie aktiv die Community um WordPress ist und die Vielfalt der Plugins ist unüberschaubar, eine Prüfung des Code ist für die einzelnen Plugins nicht zu gewährleisten (was ich im Grunde auch unterstützte, so lange sie GPL sind; aber das ist eine andere Diskussion). Die Möglichkeit der Core Plugins sehe ich da anders, denn sie könnten diese Sicherheit geben und den gleichen Standard wie der Core selbst haben.</p>
<h4>Versionsaufwand</h4>
<p>Durch die vielen Versionen von WordPress, die auch nicht wenig im Umlauf sind, ist es schwer Plugins an alle Versionen anzupassen. Seit Version 2.7 ist die Bereitstellung von Schnittstellen und Möglichkeiten für Entwickler viel konsistenter und übergreifender geworden. Ich selbst tue mich schwer auf Systeme mit niedrigeren Versionen zu portieren und ich kenne diese Meinung auch von anderen Entwicklern, die viel mehr von Code verstehen als ich - es macht einfach keinen Spaß ist mein Grund. Aber es ist nicht der einzige, es sind auch die Möglichkeiten und die saubere Implementierung, die seit 2.7 übergreifender und durchgängiger umgesetzt wurde.<br />
Ähnlich ist die Diskussion zu PHP5, die ich auch hier nicht anschneiden will - schauen wir, was WordPress 2.8 bringt oder <a href="http://wordcamp.de/agenda/">Matt am 14.Februar in Jena</a> dazu sagt. Die WP Hacker Mailing Liste hat auch dazu eine umfangreiche Diskussion.</p>
<h4>Nochmal Core Plugin</h4>
<p>Mit Hilfe der Core Plugins, um wieder zum Thema zurück zu finden, sehe ich Chancen für stabilen Code mit mehr Aufwand aber ebenso großen Feedback. Plugins können sich darauf beziehen, können diese abfragen und die Performance könnte davon profitieren. Die Vielfalt der Möglichkeiten, die WordPress jetzt schon bietet, wäre noch größer und leichter zu begründen. Jedes Core Plugin ist einzelnen erhältlich oder komfortabel über einen Builder für eine Komplettversion zu bekommen.</p>
<h4>Ein Beispiel</h4>
<p>Um das ganze ein wenig plakativer zu gestalten, soll ein Beispiel dienen, welches in der Vergangenheit zu viel Ärger und Diskussionen geführt hat, nicht nur bei Entwicklern - die Revision in WordPress seit Version 2.5.<br />
Diese Funktion ist für die Nutzung als CMS und mit unterschiedlichen Autoren in WordPress unumgänglich. Sie stellt aus dieser Sicht einen Mehrwert her - gibt aber gleichzeitig sehr viele Datenmengen in die Datenbank. Dies ist vor allem dann unnötig, wenn man das Blog allein betreibt und auf diese Bereicherung im CMS-Sektor verzichten kann. Aus meiner Sicht stellt gerade die Revision in WP ein typisches Produkt für ein Core Plugin dar. Wer es benötigt, der aktiviert es und fertig. Ich kenne so viele WordPress-Nutzer, die diese Funktion noch nicht mal kennen, sich nur über das Feld im Backend wundern und die großen Datenmengen beim Backup bestaunen. Im Standard gibt es keine Möglichkeit diese Funktion einzuschränken oder zu deaktivieren - dazu ist ein Eingriff in die Konfigurationsdatei notwendig oder das Nutzen eines Plugins. Dank der großen und freien Community wird so was kommuniziert - erreichen kann man damit trotzdem nie alle und Dienstleister bereinigen dann die Daten, wenn der Kunde es wünscht.</p>
<h4>Fazit</h4>
<p>Daher stimme ich für Core Plugins, parallel entwickelt mit und für den Core, gern in Abhängigkeit der Version des Core. Ebenso bin ich für die eigenständige Form der Core Plugins und die Freiheit für Entwickler in den bekannten Plugins aus dem wp.org Plugin Repository.</p>
<h4>Geschafft</h4>
<p>Wunderbar, du hast es bis hier gelesen? Schon dafür danke ich und sage Entschuldigung: Nun sind es doch einige Zeichen mehr geworden, gesagt habe ich trotzdem nicht alles und vielleicht bin ich auch komplett auf dem Holzweg, aber es ist eine Meinung und Open Source ist aus meiner Sicht eben mehr als Nehmen und Geben von Source Code, es ist auch die Freiheit mitzumachen, mitzudenken und zu diskutieren - ja geradezu Anregen zum Diskutieren.<br />
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://bueltge.de/core-plugins-fluch-oder-segen/883/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/core-plugins-fluch-oder-segen/883/feed/</wfw:commentRss>
		<slash:comments>21</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>jQuery Funktionen im Griff</title>
		<link>http://bueltge.de/jquery-funktionen-im-griff/851/</link>
		<comments>http://bueltge.de/jquery-funktionen-im-griff/851/#comments</comments>
		<pubDate>Fri, 12 Dec 2008 09:18:41 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[CSS, xHTML, JS]]></category>
		<category><![CDATA[Webküche]]></category>
		<category><![CDATA[Editor]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Webdeveloper]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=851</guid>
		<description><![CDATA[In der Vergangenheit habe ich die <a href="http://bueltge.de/cssdoc-leicht-gemacht/559/">Tags für CSSDOC</a> in meinem Lieblingseditor <a href="http://www.ultraedit.com/">UltraEdit</a> bereit gestellt. Durch einen netten Kontakt mit <a href="http://jendryschik.de/">Michael</a> ist mir aufgefallen, dass ich auch die Tags von jQuery im Editor nutze und warum nicht auch die bereit stellen.
Daher liegen nun hier die Tags zur jQuery Version 1.2.6. Damit wird der Zugriff sehr einfach möglich. Die Tags kann man sicher auch in anderen Editoren nutzen, man muss sie nur an das entsprechende Format anpassen.]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" src="http://bueltge.de/wp-content/images/jquery_logo.gif" alt="jQuery Logo" /><br />
In der Vergangenheit habe ich die <a href="http://bueltge.de/cssdoc-leicht-gemacht/559/">Tags für CSSDOC</a> in meinem Lieblingseditor <a href="http://www.ultraedit.com/">UltraEdit</a> bereit gestellt. Durch einen netten Kontakt mit <a href="http://jendryschik.de/">Michael</a> ist mir aufgefallen, dass ich auch die Tags von jQuery im Editor nutze und warum nicht auch die bereit stellen.<br />
Daher liegen nun hier die Tags zur jQuery Version 1.2.6. Damit wird der Zugriff sehr einfach möglich. Die Tags kann man sicher auch in anderen Editoren nutzen, man muss sie nur an das entsprechende Format anpassen.<br />
<span id="more-851"></span><br />
Die Tags sind nach den unterschiedlichen Bereichen (wie in der Doku) gesplittet, zusätzlich gibt es alle Funktionen von jQuery in einer Liste. Dadurch kann man recht schnell arbeiten. Wer viel mit jQuery umsetzt, der wird die Unterteilung eventuell lästig finden und daher ist der Zugriff auf alle Tags in einer Liste sehr viel einfacher und schneller.</p>
<p>Um die Tags in seine Liste zu bekommen, muss man die folgenden Einträge in die taglist.txt einfügen. Wo diese sich befindet, dass erfährt man durch das Kontextmenu auf der Liste im Editor - also rechte Mousetaste auf die Tagliste und <em>Tags anpassen</em> wählen.</p>
<p>Sind die einzelnen Tags dann in der Liste gespeichert, so gilt es diese auch UltraEdit mitzuteilen. Dazu muss die &#8222;Group List&#8220; erweitert werden. Das könnte wie folgt aussehen.</p>
<pre><code>
[Group List]
0=CSSDoc
1=HTML - Special Characters
2=HTML - Tags
3=jQuery 1.2.6
4=jQuery 1.2.6 Ajax
5=jQuery 1.2.6 Attributes
6=jQuery 1.2.6 Core
7=jQuery 1.2.6 CSS
8=jQuery 1.2.6 Effects
9=jQuery 1.2.6 Events
10=jQuery 1.2.6 Internals
11=jQuery 1.2.6 Manipulation
12=jQuery 1.2.6 Traversing
13=jQuery 1.2.6 Utilities
14=UE/UES Macro Commands
15=UE/UES Script Commands
16=
</code></pre>
<p>Im Anschluss nochmal das Kontextmenu aufrufen und die neue Liste wird aktualisiert.</p>
<p>Bevor es nun nur noch die Syntax gibt, ein kleiner Tipp ab Rande zu jQuery. Besonders schön und schnell ist der Zugriff auf die Dokumentation mit Hilfe des Add on für den Firefox <a href="http://www.kintek.com.au/jquery-menu-firefox-extension.html">jQuery Menu</a>.</p>
<h4>Aufgeteilte Liste</h4>
<pre><code>
[Tag Group - jQuery 1.2.6 Core]
0="jQuery(expression, context)"
1="jQuery(html)"
2="jQuery(elements)"
3="jQuery(callback)"
4=".each(callback)"
5=".eq(position)"
6=".get()"
7=".get(index)"
8=".index(subject)"
9=".data(name)"
10=".data(name, value)"
11=".removeData(name)"
12="jQuery.fn.extend(object)"
13="jQuery.extend(object)"
14="jQuery.noConflict()"
15="jQuery.noConflict(extreme)"
16=

[Tag Group - jQuery 1.2.6 Attributes]
0=".attr(name)"
1=".attr(properties)"
2=".attr(key, value)"
3=".attr(key, fn)"
4=".removeAttr(name)"
5=".addClass(class)"
6=".hasClass(class)"
7=".removeClass(class)"
8=".toggleClass(class)"
9=".html()"
10=".html(val)"
11=".text()"
12=".text(val)"
13=".val()"
14=".val(val)"
15=".val(val)"
16=

[Tag Group - jQuery 1.2.6 Traversing]
0=".eq(index)"
1=".hasClass(class)"
2=".filter(expr)"
3=".filter(fn)"
4=".is(expr)"
5=".map(callback)"
6=".not(expr)"
7=".slice(start, end)"
8=".add(expr)"
9=".children(expr)"
10=".contents()"
11=".find(expr)"
12=".next(expr)"
13=".nextAll(expr)"
14=".parent(expr)"
15=".parents(expr)"
16=".prev(expr)"
17=".prevAll(expr)"
18=".siblings(expr)"
19=".andSelf()"
20=".end()"
21=".html()"
22=".html(val)"
23=".text()"
24=".text(val)"
25=

[Tag Group - jQuery 1.2.6 Manipulation]
0=".append(content)"
1=".appendTo(content)"
2=".prepend(content)"
3=".prependTo(content)"
4=".after(content)"
5=".before(content)"
6=".insertAfter(content)"
7=".insertBefore(content)"
8=".wrap(html)"
9=".wrap(elem)"
10=".wrapAll(html)"
11=".wrapAll(elem)"
12=".wrapInner(html)"
13=".wrapInner(elem)"
14=".replaceWith(content)"
15=".replaceAll(selector)"
16=".empty()"
17=".remove(expr)"
18=".clone()"
19=".clone(true)"
20=

[Tag Group - jQuery 1.2.6 CSS]
0=".css(name)"
1=".css(properties)"
2=".css(name, value)"
3=".offset()"
4=".height()"
5=".height(val)"
6=".width()"
7=".width(val)"
8=

[Tag Group - jQuery 1.2.6 Events]
0=".ready(fn)"
1=".bind(type, data, fn)"
2=".one(type, data, fn)"
3=".trigger(type , data )"
4=".triggerHandler(type , data )"
5=".unbind(type , data )"
6=".hover(over, out)"
7=".toggle(fn, fn1)"
8=".blur()"
9=".blur(fn)"
10=".change()"
11=".change(fn)"
12=".click()"
13=".click(fn)"
14=".dblclick()"
15=".dblclick(fn)"
16=".error()"
17=".error(fn)"
18=".focus()"
19=".focus(fn)"
20=".keydown()"
21=".keydown(fn)"
22=".keypress()"
23=".keypress(fn)"
24=".keyup()"
25=".keyup(fn)"
26=".load (fn)"
27=".mousedown (fn)"
28=".mousemove(fn)"
29=".mouseout(fn)"
30=".mouseover(fn)"
31=".mouseup(fn)"
32=".resize(fn)"
33=".scroll(fn)"
34=".select()"
35=".select(fn)"
36=".submit()"
37=".submit(fn)"
38=".unload(fn)"
39=

[Tag Group - jQuery 1.2.6 Effects]
0=".show()"
1=".show(speed, callback)"
2=".hide()"
3=".hide(speed, callback)"
4=".toggle()"
5=".slideDown(speed, callback)"
6=".slideUp(speed, callback)"
7=".slideToggle(speed, callback)"
8=".fadeIn(speed, callback)"
9=".fadeOut(speed, callback)"
10=".fadeTo(speed, opacity, callback)"
11=".animate(params, duration, easing, callback)"
12=".animate(params, options)"
13=".stop()"
14=".queue()"
15=".queue(callback)"
16=".queue(queue)"
17=".dequeue()"
18=

[Tag Group - jQuery 1.2.6 Ajax]
0="jQuery.ajax(options)"
1=".load(url, data, callback)"
2="jQuery.get(url, data, callback)"
3="jQuery.getJSON(url, data, callback)"
4="jQuery.getScript(url, callback)"
5="jQuery.post(url, data, callback, type)"
6=".ajaxComplete(callback)"
7=".ajaxError(callback)"
8=".ajaxSend(callback)"
9=".ajaxStart(callback)"
10=".ajaxStop(callback)"
11=".ajaxSuccess(callback)"
12="jQuery.ajaxSetup(options)"
13=".serialize()"
14=".serializeArray()"
15=

[Tag Group - jQuery 1.2.6 Utilities]
0="jQuery.each(object, callback)"
1="jQuery.extend(target, object1, objectN)"
2="jQuery.grep(array, callback, invert)"
3="jQuery.makeArray(obj)"
4="jQuery.map(array, callback)"
5="jQuery.inArray(value, array)"
6="jQuery.unique(array)"
7="jQuery.isFunction(obj)"
8="jQuery.trim(str)"
9=

[Tag Group - jQuery 1.2.6 Internals]
0="jQuery.data(elem)"
1="jQuery.data(elem, name)"
2="jQuery.data(elem, name, value)"
3="jQuery.removeData(elem)"
4="jQuery.removeData(elem, name)"
5="jQuery.param(obj)"
6=
</code></pre>
<h4>Komplett in einer Liste</h4>
<pre><code>
[Tag Group - jQuery 1.2.6]
0=".add(expr)"
1=".addClass(class)"
2=".after(content)"
3=".ajaxComplete(callback)"
4=".ajaxError(callback)"
5=".ajaxSend(callback)"
6=".ajaxStart(callback)"
7=".ajaxStop(callback)"
8=".ajaxSuccess(callback)"
9=".andSelf()"
10=".animate(params, duration, easing, callback)"
11=".animate(params, options)"
12=".append(content)"
13=".appendTo(content)"
14=".attr(key, fn)"
15=".attr(key, value)"
16=".attr(name)"
17=".attr(properties)"
18=".before(content)"
19=".bind(type, data, fn)"
20=".blur()"
21=".blur(fn)"
22=".change()"
23=".change(fn)"
24=".children(expr)"
25=".click()"
26=".click(fn)"
27=".clone()"
28=".clone(true)"
29=".contents()"
30=".css(name)"
31=".css(name, value)"
32=".css(properties)"
33=".data(name)"
34=".data(name, value)"
35=".dblclick()"
36=".dblclick(fn)"
37=".dequeue()"
38=".each(callback)"
39=".empty()"
40=".end()"
41=".eq(index)"
42=".eq(position)"
43=".error()"
44=".error(fn)"
45=".fadeIn(speed, callback)"
46=".fadeOut(speed, callback)"
47=".fadeTo(speed, opacity, callback)"
48=".filter(expr)"
49=".filter(fn)"
50=".find(expr)"
51=".focus()"
52=".focus(fn)"
53=".get()"
54=".get(index)"
55=".hasClass(class)"
56=".hasClass(class)"
57=".height()"
58=".height(val)"
59=".hide()"
60=".hide(speed, callback)"
61=".hover(over, out)"
62=".html()"
63=".html()"
64=".html(val)"
65=".html(val)"
66=".index(subject)"
67=".insertAfter(content)"
68=".insertBefore(content)"
69=".is(expr)"
70=".keydown()"
71=".keydown(fn)"
72=".keypress()"
73=".keypress(fn)"
74=".keyup()"
75=".keyup(fn)"
76=".load (fn)"
77=".load(url, data, callback)"
78=".map(callback)"
79=".mousedown (fn)"
80=".mousemove(fn)"
81=".mouseout(fn)"
82=".mouseover(fn)"
83=".mouseup(fn)"
84=".next(expr)"
85=".nextAll(expr)"
86=".not(expr)"
87=".offset()"
88=".one(type, data, fn)"
89=".parent(expr)"
90=".parents(expr)"
91=".prepend(content)"
92=".prependTo(content)"
93=".prev(expr)"
94=".prevAll(expr)"
95=".queue()"
96=".queue(callback)"
97=".queue(queue)"
98=".ready(fn)"
99=".remove(expr)"
100=".removeAttr(name)"
101=".removeClass(class)"
102=".removeData(name)"
103=".replaceAll(selector)"
104=".replaceWith(content)"
105=".resize(fn)"
106=".scroll(fn)"
107=".select()"
108=".select(fn)"
109=".serialize()"
110=".serializeArray()"
111=".show()"
112=".show(speed, callback)"
113=".siblings(expr)"
114=".slice(start, end)"
115=".slideDown(speed, callback)"
116=".slideToggle(speed, callback)"
117=".slideUp(speed, callback)"
118=".stop()"
119=".submit()"
120=".submit(fn)"
121=".text()"
122=".text()"
123=".text(val)"
124=".text(val)"
125=".toggle()"
126=".toggle(fn, fn1)"
127=".toggleClass(class)"
128=".trigger(type , data )"
129=".triggerHandler(type , data )"
130=".unbind(type , data )"
131=".unload(fn)"
132=".val()"
133=".val(val)"
134=".val(val)"
135=".width()"
136=".width(val)"
137=".wrap(elem)"
138=".wrap(html)"
139=".wrapAll(elem)"
140=".wrapAll(html)"
141=".wrapInner(elem)"
142=".wrapInner(html)"
143="jQuery(callback)"
144="jQuery(elements)"
145="jQuery(expression, context)"
146="jQuery(html)"
147="jQuery.ajax(options)"
148="jQuery.ajaxSetup(options)"
149="jQuery.data(elem)"
150="jQuery.data(elem, name)"
151="jQuery.data(elem, name, value)"
152="jQuery.each(object, callback)"
153="jQuery.extend(object)"
154="jQuery.extend(target, object1, objectN)"
155="jQuery.fn.extend(object)"
156="jQuery.get(url, data, callback)"
157="jQuery.getJSON(url, data, callback)"
158="jQuery.getScript(url, callback)"
159="jQuery.grep(array, callback, invert)"
160="jQuery.inArray(value, array)"
161="jQuery.isFunction(obj)"
162="jQuery.makeArray(obj)"
163="jQuery.map(array, callback)"
164="jQuery.noConflict()"
165="jQuery.noConflict(extreme)"
166="jQuery.param(obj)"
167="jQuery.post(url, data, callback, type)"
168="jQuery.removeData(elem)"
169="jQuery.removeData(elem, name)"
170="jQuery.trim(str)"
171="jQuery.unique(array)"
172=
</code></pre>
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://bueltge.de/jquery-funktionen-im-griff/851/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/jquery-funktionen-im-griff/851/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/jquery_logo.gif" />
		<media:content url="http://bueltge.de/wp-content/images/jquery_logo.gif" medium="image">
			<media:title type="html">jQuery Logo</media:title>
		</media:content>
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>FirePHP verwenden, eine Einführung</title>
		<link>http://bueltge.de/firephp-verwenden-einfuehrung/720/</link>
		<comments>http://bueltge.de/firephp-verwenden-einfuehrung/720/#comments</comments>
		<pubDate>Fri, 15 Aug 2008 10:02:26 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Webküche]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Firebug]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Tool]]></category>
		<category><![CDATA[Webdeveloper]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=720</guid>
		<description><![CDATA[Das Firefox Add on Firebug kann mittels weiterer Add ons erweitert werden, ein seht nützlich für PHP-Entwickler und Nutzer kann Firebug sein. Allerdings muss man dazu einiges an Anpassungen vornehmen und da es in diesem Zusammenhang wohl Bedarf gibt, hier eine kurze Einführung, wie man Firebug verwendet und wo die Werte dann zu finden sind. [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignrightob" src="http://bueltge.de/wp-content/images/firephp/logo.png" alt="FirePHP Logo" /><br />
Das Firefox Add on <a href="http://www.getfirebug.com/">Firebug</a> kann mittels weiterer Add ons erweitert werden, ein seht nützlich für PHP-Entwickler und Nutzer kann <a href="http://www.firephp.org/">Firebug</a> sein. Allerdings muss man dazu einiges an Anpassungen vornehmen und da es in diesem Zusammenhang wohl Bedarf gibt, hier eine kurze Einführung, wie man Firebug verwendet und wo die Werte dann zu finden sind.</p>
<p>Mit PHP gibt es eine ganze Reihe von Möglichkeiten um die Ausgabe von Variablen während des Entwickeln zu gestalten, <code>print_r()</code> und <code>var_dump()</code> sind sicher die meist genutzten. Diese Möglichkeiten geben die Inhalte als HTML aus, direkt and er Stelle, wo sie eingebunden sind. Das hat den Nachteil, dass das Layout eventuell zerstört ist, dass die Ausgabe unübersichtlich wird und wenn man in einem Livebetrieb diese Möglichkeiten nutzt, dann is tdas nur schwer vor den anderen Usern zu verbergen. Mit dem Add on FirePHP bekommt der Entwickler ein Werkzeug, ohne Entwicklungsumgebung, welches diese Arbeit erleichtern kann und direkt im Browser verfügbar ist.<br />
Nun aber in wenigen Schritten, wie man zur Integration des Firebug und der Ausgabe der Werte kommt.<br />
<span id="more-720"></span></p>
<h3>Installation</h3>
<p>Das Add  on benötigt ein weiters Add on und ist nur im Browser Firefox verfügbar. Wer also nicht mit diesem Browser unterwegs ist, darum kommt man beim Entwickeln aktuell nicht dran vorbei, auch wenn sich andere Hersteller redlich bemühen. Installiert also den Browser <a href="http://www.mozilla.com/en-US/firefox/all-rc.html">Firefox</a> und das Add on <a href="http://www.getfirebug.com/">Firebug</a>. Wer Firebug noch nicht kennt - damit kann man im Standard HTML, CSS und JavaScritp debuggen, analysieren und live editieren. Ist das abgeschlossen, so kann die Erweiterung <a href="http://www.firephp.org/">FirePHP</a> installiert werden. Die einzelnen Links führen euch zu den Installationen, welche einfach und schnell erledigt sind.</p>
<p><strong>Ein Hinweis</strong>, FirePHP und dessen Library funktioniert nur mit PHP 5.</p>
<p>Nach dem alles installiert ist, findet man die Tools in der Systemleiste des Browser (zu erkennen am kleinen Käfer), per Klick oder <strong>F12</strong> kann der Firebug aufgerufen werden. Nun kann schon mit den Standard-Tools gearbeitet werden; für die Verwendung von FirePHP muss man noch das PEAR-Paket bereit stellen. Die wenigsten Nutzer werden wohl einen eigenen Server haben, so dass die Umgebung für das Entwickeln von PHP-Anwendungen eher ein lokaler Server sein wird. Daher erkläre ich mal am Beispiel <a href="http://www.apachefriends.org/de/xampp.html">XAMPP</a>, wie man FirePHP zum reden bringt.</p>
<ol>
<li>Als erstes muss die Code-Libarary herunter geladen werden, zu finden auf der <a href="http://www.firephp.org/">Webseite von FirePHP</a>.</li>
<li>In diesem Download-Paket gibt es einen Ordner <em>FirePHPCore</em>, den man nach <code>…\xampp\php\PEAR</code> kopiert.</li>
<li>Hat man dies erledigt, dann muss man lediglich den Server starten bzw. neu starten, falls er schon lief.</li>
</ol>
<h3>Vorbereitung der Ausgabe</h3>
<p>Nach dem nun die Bibliothek beriet steht, können wir sie in das Projekt implementieren. Dazu inkludet man die Datei und schon steht die wichtigste Funktion <code>fb()</code> bereit.</p>
<pre><code>
require('FirePHPCore/fb.php');
</code></pre>
<p>Nun empfiehlt sich noch das Puffern der Ausgabe und dann kann es schon los gehen. Aktuell steht also im Projekt die folgenden Zeilen.</p>
<pre><code>
&lt;?php
require('FirePHPCore/fb.php');
ob_start();
?&gt;
</code></pre>
<h3>Die erste Ausgabe &#8222;Hello World&#8220;</h3>
<p>Als erstes soll das gewohnte Neuland betreten werden, in dem wir &#8222;Hello World&#8220; im FireBug ausgeben. Dazu erweitert man die obigen Zeilen um ein einfache Ausgabe mit der Funktion <code>fb()</code> von FirePHP.</p>
<pre><code>
&lt;?php
require('FirePHPCore/fb.php');
ob_start();
fb('Hello World');
?&gt;
</code></pre>
<p>Mit <strong>F12</strong> den Firebug aktivieren und die Seite neu laden, dann sollte es ähnlich dem folgendem Screenshot bei euch aussehen.<br />
<a href="http://bueltge.de/wp-content/images/firephp/firebug_hello_world.png" title="Klick für Zoom"><img class="centered" src="http://bueltge.de/wp-content/images/firephp/firebug_hello_world.thumb.png" alt="FirePHP Hello World" /></a></p>
<h3>Log Meldungen gestalten</h3>
<p>Firebug kann aber mehr als pur die Meldungen ausgeben; dabei gibt es verschiedene Design-Möglichkeiten, die das Lesen der Ausgabe von Meldungen erleichtern und so verschiedene Typen für unterschiedliche Ausgaben zulassen.<br />
Dazu den Code wieder ein wenig erweitern:</p>
<pre><code>
&lt;?php
require('FirePHPCore/fb.php');
ob_start();
fb('Hello World');

fb('Log Mitteilung', FirePHP::LOG);
fb('Info Mitteilung', FirePHP::INFO);
fb('Warn Mitteilung', FirePHP::WARN);
fb('Error Mitteilung', FirePHP::ERROR);
?&gt;
</code></pre>
<p><img class="centered" src="http://bueltge.de/wp-content/images/firephp/firebug_message.png" alt="FirePHP Log Message" /></p>
<h3>Array ausgaben</h3>
<p>Nun aber weg von den kleinen Spielereien, zu einem sehr mächtigen Werkzeug, die Ausgabe von Arrays. Die Ausgabe soll an einer bekannten Variable gezeigt werden - $_SERVER.</p>
<blockquote><p>$_SERVER ist ein Array, das Informationen wie Header, Pfade und die verschiedenen Wege, das Skript anzusprechen. Die Einträge in diesem Array werden vom Webserver erstellt.</p></blockquote>
<p>Diese Variable wird nun mittels der Funktion <code>fb()</code> in FirePHP geloggt und kann daher inhaltlich gelesen werden. Bisher wurde die Funktion lediglich mit Text gefüttert und dieser wurde dann ausgeben, dass ändert sich nur soweit, dass man anstatt Text nun die Variable übergibt.<br />
Der Syntax wird wieder erweitet:</p>
<pre><code>
&lt;?php
require('FirePHPCore/fb.php');
ob_start();

fb($_SERVER, FirePHP::LOG);
?&gt;
</code></pre>
<p>Nun wird im Firebug ein Array angezeigt, mit dem Wert 36. Ein MouseOver zeigt die Inhalte des Array in einem Extra Fenster, ein Klick stellt das Fenster permanent dar.<br />
<a href="http://bueltge.de/wp-content/images/firephp/firebug_array.png" title="Klick für Zoom"><img class="centered" src="http://bueltge.de/wp-content/images/firephp/firebug_array.thumb.png" alt="FirePHP Array Ausgabe" /></a></p>
<p>Erstellt man später mehrere Ausgaben, so ist es sinnvoll, wenn man eine Zuordnung hat. Daher lässt die Funktion <code>fb()</code> auch dafür einen Parameter zu.</p>
<pre><code>
fb($_SERVER, 'Server Variables', FirePHP::LOG);
</code></pre>
<p><img class="centered" src="http://bueltge.de/wp-content/images/firephp/firebug_array2.png" alt="FirePHP Array Ausgabe mit Zuordnung" /></p>
<h3>Trace loggen</h3>
<p>Als nächstes soll ein Trace erfolgen, so dass man alle Verbindungen sehen kann. Die WordPress-Nutzer sehen spätestens jetzt, dass ich für das Beispiel in einem WordPress-Theme debugge, was eigentlich schön zeigt, wie gut sich FirePHP integrieren lässt.</p>
<p>Dafür die folgende Erweiterung in den Code übernehmen.</p>
<pre><code>
&lt;?php
require('FirePHPCore/fb.php');
ob_start();

fb('Backtrace to here', FirePHP::TRACE);
?&gt;
</code></pre>
<p><a href="http://bueltge.de/wp-content/images/firephp/firephp_trace.png" title="Klick für Zoom"><img class="centered" src="http://bueltge.de/wp-content/images/firephp/firephp_trace.thumb.png" alt="FirePHP Tracing" /></a></p>
<p>Sehr schön kann man nun die Verbindungen sehen, die tabellarische Sicht gibt sehr schnell Auskunft und macht die Analyse zum Kinderspiel.</p>
<h3>Fazit</h3>
<p>Dieser kleine Einstieg zeigt die für mich wichtigsten Funktionen. FirePHP kann mehr und informiert darüber ausführlich auf der zugehörigen <a href="http://www.firephp.org/">Website</a>.<br />
Ebenso lohnend ist das Tutorial von  Dirk Henn &#8222;<a href="http://alldev.de/64-php-mit-firebug-debuggen/">PHP mit Firebug debuggen</a>&#8220;.<br />
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://bueltge.de/firephp-verwenden-einfuehrung/720/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/firephp-verwenden-einfuehrung/720/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/firephp/logo.png" />
		<media:content url="http://bueltge.de/wp-content/images/firephp/logo.png" medium="image">
			<media:title type="html">FirePHP Logo</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/images/firephp/firebug_hello_world.thumb.png" medium="image">
			<media:title type="html">FirePHP Hello World</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/images/firephp/firebug_message.png" medium="image">
			<media:title type="html">FirePHP Log Message</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/images/firephp/firebug_array.thumb.png" medium="image">
			<media:title type="html">FirePHP Array Ausgabe</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/images/firephp/firebug_array2.png" medium="image">
			<media:title type="html">FirePHP Array Ausgabe mit Zuordnung</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/images/firephp/firephp_trace.thumb.png" medium="image">
			<media:title type="html">FirePHP Tracing</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>

