<?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/"
	>

<channel>
	<title>kulturbanause blog &#187; PHP</title>
	<atom:link href="http://kulturbanause.de/tag/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://kulturbanause.de</link>
	<description>Artikel, Tutorials, Downloads, Tipps, Hacks, Snippets und aktuelle Szene-News rund um Webdesign, Social Media und digitale Bildbearbeitung</description>
	<lastBuildDate>Sat, 04 Feb 2012 11:03:45 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>WordPress: Anzahl der Kommentare und Trackbacks getrennt darstellen</title>
		<link>http://kulturbanause.de/2011/12/wordpress-anzahl-der-kommentare-und-trackbacks-getrennt-darstellen/</link>
		<comments>http://kulturbanause.de/2011/12/wordpress-anzahl-der-kommentare-und-trackbacks-getrennt-darstellen/#comments</comments>
		<pubDate>Thu, 22 Dec 2011 15:45:23 +0000</pubDate>
		<dc:creator>Jonas Hellwig</dc:creator>
				<category><![CDATA[Tipps, Hacks, Snippets]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://kulturbanause.de/?p=6913</guid>
		<description><![CDATA[<div><img width="140" height="140" src="http://kulturbanause.de/wp-content/uploads/2011/12/comments-trackbacks.png" class="attachment-post-thumbnail wp-post-image" alt="comments-trackbacks" title="comments-trackbacks" /></div>In WordPress ist es mit Bordmitteln, etwa einem Template Tag, leider nicht möglich die Anzahl der Kommentare und die der Trackbacks getrennt von einander darzustellen. In der Datenbank unterscheidet WordPress hingegen beide Typen, und markiert echte Kommentare in einem zusätzlichen Feld. Mit einer entsprechenden Funktion kann geprüft werden ob das Feld ausgefüllt ist, wodurch sich … </p><p><a href="http://kulturbanause.de/2011/12/wordpress-anzahl-der-kommentare-und-trackbacks-getrennt-darstellen/" class="more-link">Diesen Beitrag zu Ende lesen</a><h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></description>
			<content:encoded><![CDATA[<div><img width="140" height="140" src="http://kulturbanause.de/wp-content/uploads/2011/12/comments-trackbacks.png" class="attachment-post-thumbnail wp-post-image" alt="comments-trackbacks" title="comments-trackbacks" /></div><p><strong>In WordPress ist es mit Bordmitteln, etwa einem Template Tag, leider nicht möglich die Anzahl der Kommentare und die der Trackbacks getrennt von einander darzustellen. </strong>In der Datenbank unterscheidet WordPress hingegen beide Typen, und markiert echte Kommentare in einem zusätzlichen Feld. Mit einer entsprechenden Funktion kann geprüft werden ob das Feld ausgefüllt ist, wodurch sich beide Arten von Kommentaren einzeln anzeigen lassen. </p>
<p><span id="more-6913"></span></p>
<h3>Anzahl an Kommentaren darstellen</h3>
<p>Der folgende Code gehört üblicherweise in die <code>functions.php</code>. Er kann jedoch auch im gleichen Template eingesetzt werden.<br />
Die Funktion prüft ob Kommentare vorhanden sind und gibt (sofern das Ergebnis nicht Null ist) die Anzahl aus. </p>
<pre class="brush: php; title: ; notranslate">
function comment_count() { global $post; $thePostID = $post-&gt;ID; global $wpdb;
$count = &quot;SELECT COUNT(*) FROM $wpdb-&gt;comments WHERE comment_type = ' '
AND comment_post_ID = $thePostID&quot;; $co_number = $wpdb-&gt;get_var($count);
if ($co_number == 0) {} else {echo $co_number;}
}
</pre>
<p>Mit folgenden Snippet wird die Anzahl der Kommentare an einer beliebigen Stelle des Themens dargestellt. </p>
<pre class="brush: php; title: ; notranslate">
&lt;?php comment_count(); ?&gt;
</pre>
<h3>Anzahl der Trackbacks darstellen</h3>
<p>Der Code für die Darstellung der Trackbacks funktioniert auf die gleiche Art und Weise. Folgendes Snippet gehört in die <code>functions.php</code>.</p>
<pre class="brush: php; title: ; notranslate">
function trackback_count()
{ global $post;
$thePostID = $post-&gt;ID; global $wpdb; $count = &quot;SELECT COUNT(*) FROM $wpdb-&gt;comments
WHERE comment_type != ' '
AND comment_post_ID = $thePostID&quot;; $tb_number = $wpdb-&gt;get_var($count);
if ($tb_number == 0) {} else {echo $tb_number;} }
</pre>
<p>Mit diesem Snippet wird die Anzahl der Trackbacks ausgegeben. </p>
<pre class="brush: php; title: ; notranslate">
&lt;?php trackback_count(); ?&gt;
</pre>
<h3>Credits</h3>
<p>Dieses Snippet habe ich auf  denkvirtuose.de gefunden und unverändert übernommen. Es funktioniert einwandfrei und ist auch auf diesem Blog im Einsatz. Vielen Dank dafür! </p>
<ul>
<li><a target="_blank "href="http://denkvirtuose.de/wordpress/die-anzahl-der-kommentare-und-trackbacks-getrennt-anzeigen.html">denkvirtuose.de/wordpress/die-anzahl-der-kommentare-und-trackbacks-getrennt-anzeigen.html</a></li>
</ul>
<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></content:encoded>
			<wfw:commentRss>http://kulturbanause.de/2011/12/wordpress-anzahl-der-kommentare-und-trackbacks-getrennt-darstellen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Daten per Link/URL an Zielseite übergeben</title>
		<link>http://kulturbanause.de/2011/12/daten-per-linkurl-an-zielseite-ubergeben/</link>
		<comments>http://kulturbanause.de/2011/12/daten-per-linkurl-an-zielseite-ubergeben/#comments</comments>
		<pubDate>Thu, 15 Dec 2011 11:06:28 +0000</pubDate>
		<dc:creator>Jonas Hellwig</dc:creator>
				<category><![CDATA[Tipps, Hacks, Snippets]]></category>
		<category><![CDATA[Navigation]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://kulturbanause.de/?p=6871</guid>
		<description><![CDATA[<div><img width="140" height="140" src="http://kulturbanause.de/wp-content/uploads/2011/12/daten-uebertragen-per-link-parameter-url.png" class="attachment-post-thumbnail wp-post-image" alt="daten-uebertragen-per-link-parameter-url" title="daten-uebertragen-per-link-parameter-url" /></div>Wenn ihr Daten von einer Quellseite an eine Zielseite übergeben wollt, stehen euch verschiedene Möglichkeiten offen. Die Variante, auf die ich in diesem Beitrag kurz eingehen möchte überträgt die Daten mit Hilfe der URL an eine Zielseite. Dazu werden dem Link verschiedene Parameter mitgegeben und auf der Zielseite mit dem PHP-Befehl GET wieder ausgelesen. Grundsätzliche … </p><p><a href="http://kulturbanause.de/2011/12/daten-per-linkurl-an-zielseite-ubergeben/" class="more-link">Diesen Beitrag zu Ende lesen</a><h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></description>
			<content:encoded><![CDATA[<div><img width="140" height="140" src="http://kulturbanause.de/wp-content/uploads/2011/12/daten-uebertragen-per-link-parameter-url.png" class="attachment-post-thumbnail wp-post-image" alt="daten-uebertragen-per-link-parameter-url" title="daten-uebertragen-per-link-parameter-url" /></div><p><strong>Wenn ihr Daten von einer Quellseite an eine Zielseite übergeben wollt, stehen euch verschiedene Möglichkeiten offen.</strong> Die Variante, auf die ich in diesem Beitrag kurz eingehen möchte überträgt die Daten mit Hilfe der URL an eine Zielseite. Dazu werden dem Link verschiedene Parameter mitgegeben und auf der Zielseite mit dem PHP-Befehl GET wieder ausgelesen. </p>
<p><span id="more-6871"></span></p>
<h3>Grundsätzliche Funktionsweise</h3>
<p>Das Prinzip ist denkbar einfach. Ihr setzt einen ganz gewöhnlichen Link auf eine andere Seite und erweitert diesen lediglich um verschiedene Parameter/Werte-Paare. Verschiedene Parameter werden mit „&#038;“ von einander getrennt. </p>
<h5>Beispiel für einen Link mit zwei Parametern:</h5>
<pre class="brush: xml; title: ; notranslate">
&lt;a href=&quot;ziel.php&amp;parameter=wert&amp;parameter2=wert2&quot;&gt;Link&lt;/a&gt;
</pre>
<p>Auf der Zielseite wird anschließend der Wert zu einem bestimmten Parameter wieder ausgelesen. Das funktioniert mit folgendem Snippet: </p>
<pre class="brush: php; title: ; notranslate">
&lt;?php echo $_GET[&quot;parameter&quot;]; ?&gt;
&lt;?php echo $_GET[&quot;parameter2&quot;]; ?&gt;
</pre>
<p class="info clear">Beachtet bitte, dass die Parameter in der URL sichtbar sind und daher leicht manipuliert werden können. <strong>Für sensible Daten ist diese Art der Übertragung daher absolut nicht geeignet!</strong>  </p>
<h3>Beispielseite</h3>
<p>Ich habe ein Beispiel zu diesem Thema erstellt, das ihr hier live testen und herunterladen könnt. Es geht darum eine Farbe auszuwählen und die Eigenschaften dieser Farbe zu erfahren. Je nach Wahl werden unterschiedliche Paramenter mit dem Namen der Farbe, dem Hexadezimalcode und den Eigenschaften an die Zielseite übertragen und dort entsprechend zusammengesetzt. </p>
<h5>Live-Demo (Probiert es aus!):</h5>
<p><iframe src="http://kulturbanause.de/wp-content/uploads/2011/12/daten-uebertragen/start.php" frameborder="0" width="550" height="200"></iframe></p>
<p><a class="button demo" href="http://kulturbanause.de/wp-content/uploads/2011/12/daten-uebertragen/start.php" target="_blank">Live-Demo in neuem Fenster öffnen</a></p>
<h5 class="clear">HTML/PHP-Code der Ausgangsseite (start.php)</h5>
<pre class="brush: php; title: ; notranslate">
[...]

&lt;body&gt;
&lt;h1&gt;Welche Farbe gefällt dir am besten?&lt;/h1&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;ziel.php?Farbe=Rot&amp;Code=ff0000&amp;Eigenschaften=selbstbewusst, Liebe, Leidenschaft, Aufregung, Glück, glühend, dramatisch, kräftig, Lust, Kampf&quot;&gt;Rot&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;ziel.php?Farbe=Orange&amp;Code=ff9000&amp;Eigenschaften=ausgelassen, Vergnügen, süß, Kreativität, Genuss, energiegeladen, ungezwungen, inspirierend, ehrgeizig, spritzig&quot;&gt;Orange&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;ziel.php?Farbe=Gelb&amp;Code=fff000&amp;Eigenschaften=Gold, lustig, Hitze, strahlend, Glanz, Lebensfreude, aktiv, Fröhlichkeit, Energie, Sonne&quot;&gt;Gelb&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;ziel.php?Farbe=Grün&amp;Code=29c100&amp;Eigenschaften=Natur, Harmonie, Ruhe, Frische, Neid, beruhigend, Hoffnung, gesund, Leben, Erneuerung&quot;&gt;Grün&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;ziel.php?Farbe=Blau&amp;Code=0072c1&amp;Eigenschaften=zuverlässig, sympathisch, vertrauenswürdig, sicher, vernünftig, mutig, Offenheit, Intelligenz, Ferne, Autorität&quot;&gt;Blau&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;ziel.php?Farbe=Violett&amp;Code=7600c1&amp;Eigenschaften=kreativ, mächtig, extravagant, modisch, weiblich, unseriös, magisch, eitel, künstlich, sensibel, geheimnisvoll&quot;&gt;Violett&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/body&gt;

[...]
</pre>
<h5>HTML/PHP-Code der Zielseite (ziel.php)</h5>
<pre class="brush: php; title: ; notranslate">
[...]

&lt;body&gt;
&lt;h1 style=&quot;color:#&lt;?php echo $_GET[&quot;Code&quot;]; ?&gt;&quot;&gt; Du hast &lt;?php echo $_GET[&quot;Farbe&quot;]; ?&gt; gewählt. Eine schöne Farbe! &lt;/h1&gt;
&lt;p&gt;Wusstest du schon, dass mit &lt;?php echo $_GET[&quot;Farbe&quot;]; ?&gt; folgende Eigenschaften, Wirkungen und Assiziationen verbunden werden?&lt;/p&gt;
&lt;p&gt;&lt;?php echo $_GET[&quot;Eigenschaften&quot;]; ?&gt;&lt;/p&gt;

&lt;a href=&quot;start.php&quot;&gt;← Zurück zur Farbauswahl&lt;/a&gt;
&lt;/body&gt;

[...]
</pre>
<p>Ihr könnt alle Dateien des Beispiels auch herunterladen. </p>
<p><a href="http://kulturbanause.de/wp-content/uploads/2011/12/daten-per-url.zip" target="_blank" class="download button">Beispieldateien herunterladen </a></p>
<p class="small clear"><a href="http://daswebdesignblog.de/farbwirkungen-und-farbverwendung/393.html">Die Farbwirkungen für das Beispiel habe ich mir vom Webdesign Blog ausgeliehen. Vielen Dank dafür! </a></p>
<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></content:encoded>
			<wfw:commentRss>http://kulturbanause.de/2011/12/daten-per-linkurl-an-zielseite-ubergeben/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>WordPress Post-Thumbnails aus RSS-Feed auslesen. preg_match und Regular Expressions</title>
		<link>http://kulturbanause.de/2011/12/wordpress-post-thumbnails-aus-rss-feed-auslesen-preg_match-und-regular-expressions/</link>
		<comments>http://kulturbanause.de/2011/12/wordpress-post-thumbnails-aus-rss-feed-auslesen-preg_match-und-regular-expressions/#comments</comments>
		<pubDate>Tue, 13 Dec 2011 08:09:04 +0000</pubDate>
		<dc:creator>Jonas Hellwig</dc:creator>
				<category><![CDATA[Tipps, Hacks, Snippets]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[RSS]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://kulturbanause.de/?p=6943</guid>
		<description><![CDATA[<div><img width="140" height="140" src="http://kulturbanause.de/wp-content/uploads/2011/12/wordpress-rss-feed.png" class="attachment-post-thumbnail wp-post-image" alt="wordpress-rss-feed" title="wordpress-rss-feed" /></div>Ab und zu möchte man den RSS-Feed seines WordPress Blogs auf einer anderen Seite einbinden, um dort beispielsweise die neuesten fünf Beiträge zu bewerben. Der RSS-Feed ist schnell ausgelesen, ein Problem sind häufig die Post-Thumbnails der Artikel. Die Artikelbilder werden von WordPress nicht in den Feed übertragen. Um die Post-Thumbnails dennoch im Feed anzuzeigen, wird … </p><p><a href="http://kulturbanause.de/2011/12/wordpress-post-thumbnails-aus-rss-feed-auslesen-preg_match-und-regular-expressions/" class="more-link">Diesen Beitrag zu Ende lesen</a><h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></description>
			<content:encoded><![CDATA[<div><img width="140" height="140" src="http://kulturbanause.de/wp-content/uploads/2011/12/wordpress-rss-feed.png" class="attachment-post-thumbnail wp-post-image" alt="wordpress-rss-feed" title="wordpress-rss-feed" /></div><p><strong>Ab und zu möchte man den RSS-Feed seines WordPress Blogs auf einer anderen Seite einbinden, um dort beispielsweise die neuesten fünf Beiträge zu bewerben.</strong> <a href="http://kulturbanause.de/2011/01/rss-feed-von-wordpress-auslesen/" title="RSS-Feed von WordPress auslesen">Der RSS-Feed ist schnell ausgelesen</a>,  ein Problem sind häufig die Post-Thumbnails der Artikel.<br />
Die Artikelbilder werden von WordPress nicht in den Feed übertragen. Um die Post-Thumbnails dennoch im Feed anzuzeigen, wird häufig in der <code>functions.php</code> <a href="http://www.wpbeginner.com/wp-tutorials/how-to-add-post-thumbnail-to-your-wordpress-rss-feeds/" target="_blank">ein Snippet</a> eingefügt das die Bilder in den Inhaltsbereich des Feeds lädt. Da sich die Bilder dann allerdings zusammen mit dem Text und anderen Bildern in einem Feed-Element befinden, ist schwierig sie gezielt auszulesen.</p>
<p><span id="more-6943"></span></p>
<h3>Element mit PHP preg_match identifizieren</h3>
<p>Das Artikelbild wird im Feed als <code>img</code> direkt vor dem eigentlichen Inhalt des Beitrags eingebunden. Semantisch betrachtet befindet es sich aber ebenso wie der Beitrag selbst innerhalb des Elements "<code>&lt;description&gt;</code>". Mit <code>preg_match</code> lasst sich das Artikelbild über die Dateiendung identifizieren und in einem Array speichern. Anschließend zeigen wir immer nur das erste Bild des Array. </p>
<p>Alles was ihr benötigt, ist eine Variabel bzw. ein Array in der ihr den Feed-Inhalt (<code>description</code>) verfügbar habt. Sollte das nicht der Fall sein, schaut euch bitte noch einmal diesen Artikel an: <a href="http://kulturbanause.de/2011/01/rss-feed-von-wordpress-auslesen/" title="RSS-Feed von WordPress auslesen" target="_blank">RSS-Feed von WordPress auslesen</a>. </p>
<p>Im folgenden Beispiel-Code wird <code>$quelle</code> nach Bildern durchsucht, und diese der Reihe nach in <code>$ziel</code> abgespeichert. </p>
<pre class="brush: php; title: ; notranslate">
preg_match(&quot;/src=[\&quot;\']?([^\&quot;\']?.*(png|jpg|gif))[\&quot;\']?/i&quot;, $quelle, $ziel); // Bilder werden aus $quelle ausgelesen und in $ziel gespeichert.
</pre>
<p>Anschließend könnt ihr mit folgendem Code das erste Elemente des Array auslesen und in einem <code>img</code>-Tag einbinden.</p>
<pre class="brush: php; title: ; notranslate">
&lt;img &lt;?php print_r($ziel[0]); ?&gt; height=&quot;100&quot; width=&quot;100&quot; alt=&quot;&quot;/&gt;
</pre>
<p>Mit diesem "regulären Ausdruck" ist es möglich die Post-Thumbnails von WordPress aus dem Feed zu extrahieren und in Kombination mit anderen ausgelesenen Feed-Elementen auf einer externen Website darzustellen. </p>
<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></content:encoded>
			<wfw:commentRss>http://kulturbanause.de/2011/12/wordpress-post-thumbnails-aus-rss-feed-auslesen-preg_match-und-regular-expressions/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Theme Options Page für WordPress erstellen</title>
		<link>http://kulturbanause.de/2011/11/theme-options-page-fur-wordpress-erstellen/</link>
		<comments>http://kulturbanause.de/2011/11/theme-options-page-fur-wordpress-erstellen/#comments</comments>
		<pubDate>Mon, 14 Nov 2011 07:00:06 +0000</pubDate>
		<dc:creator>Jonas Hellwig</dc:creator>
				<category><![CDATA[Tipps, Hacks, Snippets]]></category>
		<category><![CDATA[Dashboard]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://kulturbanause.de/?p=6607</guid>
		<description><![CDATA[<div><img width="140" height="140" src="http://kulturbanause.de/wp-content/uploads/2011/11/wordpress-theme-options-page.png" class="attachment-post-thumbnail wp-post-image" alt="wordpress-theme-options-page" title="wordpress-theme-options-page" /></div>Komplexe und hochwertige WordPress-Themes verfügen in der Regel über eine so genannte "Theme Options Page" - eine zusätzliche Seite im Dashboard anhand der ein Benutzer das Theme über die normalen Möglichkeiten hinaus anpassen kann. Das TwentyEleven-Theme von WordPress wird beispielsweise mit einer solchen Options-Page ausgeliefert. Hier könnt ihr u.a. auswählen ob das Theme schwarz oder … </p><p><a href="http://kulturbanause.de/2011/11/theme-options-page-fur-wordpress-erstellen/" class="more-link">Diesen Beitrag zu Ende lesen</a><h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></description>
			<content:encoded><![CDATA[<div><img width="140" height="140" src="http://kulturbanause.de/wp-content/uploads/2011/11/wordpress-theme-options-page.png" class="attachment-post-thumbnail wp-post-image" alt="wordpress-theme-options-page" title="wordpress-theme-options-page" /></div><p><strong>Komplexe und hochwertige WordPress-Themes verfügen in der Regel über eine so genannte "Theme Options Page" - eine zusätzliche Seite im Dashboard anhand der ein Benutzer das Theme über die normalen Möglichkeiten hinaus anpassen kann.</strong> Das TwentyEleven-Theme von WordPress wird beispielsweise mit einer solchen Options-Page ausgeliefert. Hier könnt ihr u.a. auswählen ob das Theme schwarz oder weiß sein soll, in welcher Farbe Verlinkungen auf der Website dargestellt werden und ob ihr eine Sidebar anzeigen möchtet.<br />
In diesem Beitrag möchte ich euch zeigen wie ihr selbst eine Theme-Options-Page erstellt. Anhand eines leicht verständlichen Beispiels werdet ihr das Prinzip sicher schnell auf eure eigenen Projekte übertragen können. </p>
<p><span id="more-6607"></span></p>
<h3>WordPress Theme-Options-Pages</h3>
<p>Ich möchte einmal kurz zusammenfassen was wir jetzt vorhaben. Wir erstellen eine Theme Options Page für ein beliebiges WordPress-Theme auf der wir zwei Eingabefelder platzieren. Das erste Eingabefeld dient dazu das Copyright-Datum im Footer des Themes anzupassen, in das zweite Feld kann der Benutzer seinen Google Analytics Tracking Code eintragen. Beide Anpassungen sind normalerweise nur möglich indem der Code der Website bearbeitet und anschließend hochgeladen wird. </p>
<figure>
<img src="http://kulturbanause.de/wp-content/uploads/2011/11/theme-options-page-wordpress-2011.png" alt="Theme Options-Page in WordPress-TwentyEleven" title="theme-options-page-wordpress-2011" width="550" height="400" class="alignnone size-full wp-image-6713" /></p>
<figcaption>Theme-Options-Page im 2011-Theme von WordPress</figcaption>
</figure>
<p>Wir arbeiten mit der functions.php des Themes, mit dem WordPress-Dashboard und mit der footer.php. Zunächst erstellen wir über die functions.php die Options-Seite mit allen Inhalten. Über das Dashboard können dann die Daten eingetragen werden. Die Eingabewerte werden in der Options-Tabelle der Datenbank abgelegt. Im letzten Schritt lesen wir die eingetragenen Werte in der footer.php des Themes wieder aus.</p>
<p>Das klingt kompliziert? Ist es aber nicht. 2x Copy &#038; Paste und alles läuft. </p>
<h3>functions.php - Theme Options Page anlegen</h3>
<p>Der folgende Code gehört in die functions.php eures Themes. Ich habe euch die einzelnen Bereiche der Datei im Code kommentiert. </p>
<pre class="brush: php; title: ; notranslate">

/* ------------------ */
/* theme options page */
/* ------------------ */

add_action( 'admin_init', 'theme_options_init' );
add_action( 'admin_menu', 'theme_options_add_page' );

// Einstellungen registrieren (http://codex.wordpress.org/Function_Reference/register_setting)
function theme_options_init(){
	register_setting( 'kb_options', 'kb_theme_options', 'kb_validate_options' );
}

// Seite in der Dashboard-Navigation erstellen
function theme_options_add_page() {
	add_theme_page('Optionen', 'Optionen', 'edit_theme_options', 'theme-optionen', 'kb_theme_options_page' ); // Seitentitel, Titel in der Navi, Berechtigung zum Editieren (http://codex.wordpress.org/Roles_and_Capabilities) , Slug, Funktion
}

// Optionen-Seite erstellen
function kb_theme_options_page() {
global $select_options, $radio_options;
if ( ! isset( $_REQUEST['settings-updated'] ) )
	$_REQUEST['settings-updated'] = false; ?&gt;

&lt;div class=&quot;wrap&quot;&gt;
&lt;?php screen_icon(); ?&gt;&lt;h2&gt;Theme-Optionen für &lt;?php bloginfo('name'); ?&gt;&lt;/h2&gt; 

&lt;?php if ( false !== $_REQUEST['settings-updated'] ) : ?&gt;
&lt;div class=&quot;updated fade&quot;&gt;
	&lt;p&gt;&lt;strong&gt;Einstellungen gespeichert!&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;?php endif; ?&gt;

  &lt;form method=&quot;post&quot; action=&quot;options.php&quot;&gt;
	&lt;?php settings_fields( 'kb_options' ); ?&gt;
    &lt;?php $options = get_option( 'kb_theme_options' ); ?&gt;

    &lt;table class=&quot;form-table&quot;&gt;
      &lt;tr valign=&quot;top&quot;&gt;
        &lt;th scope=&quot;row&quot;&gt;Copyright&lt;/th&gt;
        &lt;td&gt;&lt;input id=&quot;kb_theme_options[copyright]&quot; class=&quot;regular-text&quot; type=&quot;text&quot; name=&quot;kb_theme_options[copyright]&quot; value=&quot;&lt;?php esc_attr_e( $options['copyright'] ); ?&gt;&quot; /&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr valign=&quot;top&quot;&gt;
        &lt;th scope=&quot;row&quot;&gt;Google Analytics&lt;/th&gt;
        &lt;td&gt;&lt;textarea id=&quot;kb_theme_options[analytics]&quot; class=&quot;large-text&quot; cols=&quot;50&quot; rows=&quot;10&quot; name=&quot;kb_theme_options[analytics]&quot;&gt;&lt;?php echo esc_textarea( $options['analytics'] ); ?&gt;&lt;/textarea&gt;&lt;/td&gt;
      &lt;/tr&gt;
    &lt;/table&gt;

    &lt;!-- submit --&gt;
    &lt;p class=&quot;submit&quot;&gt;&lt;input type=&quot;submit&quot; class=&quot;button-primary&quot; value=&quot;Einstellungen speichern&quot; /&gt;&lt;/p&gt;
  &lt;/form&gt;
&lt;/div&gt;
&lt;?php }

// Strip HTML-Code:
// Hier kann definiert werden, ob HTML-Code in einem Eingabefeld
// automatisch entfernt werden soll. Soll beispielsweise im
// Copyright-Feld KEIN HTML-Code erlaubt werden, kommentiert die Zeile
// unten wieder ein. http://codex.wordpress.org/Function_Reference/wp_filter_nohtml_kses
function kb_validate_options( $input ) {
	// $input['copyright'] = wp_filter_nohtml_kses( $input['copyright'] );
	return $input;
}
</pre>
<p>Es besteht natürlich auch die Möglichkeit die Theme-Options-Page in einer eigenen Datei anzulegen und diese dann in die functions.php zu laden. Das macht vor allem dann Sinn, wenn die Options-Seite sehr umfangreich ist. Mit diesem Snippet ladet ihr eine externe Datei in die functions.php. Die Datei muss im gleichen Verzeichnis wie die functions.php abgelegt werden.   </p>
<pre class="brush: php; title: ; notranslate">
require_once ( get_stylesheet_directory() . '/theme-options-page.php' );
</pre>
<h3>Theme-Options-Page im Dashboard</h3>
<p>Im WordPress-Backend findet ihr die Theme-Options-Page nun im Bereich "Design". </p>
<figure>
<img src="http://kulturbanause.de/wp-content/uploads/2011/11/wordpress-theme-options-page1.png" alt="" title="wordpress-theme-options-page" width="550" height="210" class="alignnone size-full wp-image-6733" /><br />
</figure>
<p>Tragt in beide Felder nun einen Testinhalt ein und speichert die Änderung. Im letzten Schritt übertragen wir die Eingabe in das entsprechende Template.  </p>
<h3>footer.php - Eingaben im Template anzeigen</h3>
<p>Alles was noch fehlt ist das Snippet um die gespeicherten Daten im Theme auszugeben. Für dieses Beispiel benutzt ihr dazu die footer.php.</p>
<p>Zunächst ruft ihr mit <code>get_options</code> (<a href="http://codex.wordpress.org/Function_Reference/get_option" target="_blank">codex.wordpress.org/Function_Reference/get_option</a>) die entsprechenden Werte aus der Datenbank ab. Anschließend stellt ihr die Inhalte über <code>echo</code> dar.</p>
<p>Das folgende Snippet gibt beide Inhalte direkt untereinander aus. </p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
 $options = get_option('kb_theme_options');
 echo $options['copyright'];
 echo $options['analytics'];
?&gt;
</pre>
<p>Das wars auch schon. </p>
<h3>Weitere Links zum Thema</h3>
<p>Wenn ihr euch eingehender mit der Erstellung von Theme-Options-Pages befassen wollt, schaut euch auch folgende empfehlenswerte Artikel und Tutorials an. </p>
<ul>
<li><a href="http://net.tutsplus.com/tutorials/wordpress/how-to-create-a-better-wordpress-options-panel/" target="_blank">net.tutsplus.com/tutorials/wordpress/how-to-create-a-better-wordpress-options-panel</a></li>
<li><a href="http://wpshout.com/create-an-advanced-options-page-in-wordpress/" target="_blank">wpshout.com/create-an-advanced-options-page-in-wordpress</a></li>
<li><a href="http://smashingwall.com/wordpress/theme-options-page-resources/" target="_blank">smashingwall.com/wordpress/theme-options-page-resources</a></li>
</ul>
<p>Außerordentlich lohnenswert ist auch diese Basis-Theme-Options-Page. Hier sind alle Arten von Eingabefeldern (Input, Select, Radio, Checkbox etc.) enthalten. </p>
<ul>
<li><a href="http://themeshaper.com/2010/06/03/sample-theme-options/" target="_blank">themeshaper.com/2010/06/03/sample-theme-options/</a></li>
</ul>
<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></content:encoded>
			<wfw:commentRss>http://kulturbanause.de/2011/11/theme-options-page-fur-wordpress-erstellen/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>WordPress-Dashboard mit dem eigenen Logo versehen</title>
		<link>http://kulturbanause.de/2011/10/wordpress-dashboard-mit-dem-eigenen-logo-versehen/</link>
		<comments>http://kulturbanause.de/2011/10/wordpress-dashboard-mit-dem-eigenen-logo-versehen/#comments</comments>
		<pubDate>Fri, 14 Oct 2011 05:49:32 +0000</pubDate>
		<dc:creator>Jonas Hellwig</dc:creator>
				<category><![CDATA[Tipps, Hacks, Snippets]]></category>
		<category><![CDATA[Dashboard]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://kulturbanause.de/?p=6470</guid>
		<description><![CDATA[<div><img width="140" height="140" src="http://kulturbanause.de/wp-content/uploads/2011/10/wordpress-dashboard-logo.png" class="attachment-post-thumbnail wp-post-image" alt="WordPress Dashboard-Logo austauschen" title="wordpress-dashboard-logo" /></div>Ich habe im vorausgegangenen Beitrag das Snippet zum Austausch des Login-Screen-Logos vorgestellt, nun möchte ich euch zeigen wie ihr das Logo innerhalb des WordPress-Dashboards ersetzen könnt. Diese kleine Anpassung kann ebenfalls dazu beitragen, dass sich ein Kunde in WordPress wohler fühlt und das Gesamtprojekt (noch) positiver wahrnimmt. Auch dieses Snippet ist daher fester Bestandteil meines … </p><p><a href="http://kulturbanause.de/2011/10/wordpress-dashboard-mit-dem-eigenen-logo-versehen/" class="more-link">Diesen Beitrag zu Ende lesen</a><h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></description>
			<content:encoded><![CDATA[<div><img width="140" height="140" src="http://kulturbanause.de/wp-content/uploads/2011/10/wordpress-dashboard-logo.png" class="attachment-post-thumbnail wp-post-image" alt="WordPress Dashboard-Logo austauschen" title="wordpress-dashboard-logo" /></div><p><strong>Ich habe im vorausgegangenen Beitrag das <a href="http://kulturbanause.de/2011/10/wordpress-login-screen-individualisieren/" title="WordPress Login-Screen individualisieren">Snippet zum Austausch des Login-Screen-Logos</a> vorgestellt, nun möchte ich euch zeigen wie ihr das Logo innerhalb des WordPress-Dashboards ersetzen könnt.</strong><br />
Diese kleine Anpassung kann ebenfalls dazu beitragen, dass sich ein Kunde in WordPress wohler fühlt und das Gesamtprojekt (noch) positiver wahrnimmt. Auch dieses Snippet ist daher fester Bestandteil meines Basis-Themes das ich für alle WordPress-Projekte als technische Grundlage nutze und ständig weiterentwickle. </p>
<p><span id="more-6470"></span></p>
<h3>Logografik</h3>
<p>Das Icon im WordPress-Dashboard hat die Abmessungen 16 x 16 Pixel. Erstellt also ein eigenes Logo mit diesen Abmessungen und speichert es im Theme-Ordner <code>(../wp-content/themes/name-des-themes/img/logo-dashboard.png)</code> ab. Ihr könnt auch einen anderen Speicherort wählen, das folgende Snippet sucht jedoch im oben genannten Ordner nach der Grafik. </p>
<figure>
<img src="http://kulturbanause.de/wp-content/uploads/2011/10/wordpress-dashboard-logo-austauschen.png" alt="WordPress Dashboard-Logo austauschen" title="wordpress-dashboard-logo-austauschen" width="550" height="171" class="alignnone size-full wp-image-6508" /><br />
</figure>
<h3>functions.php</h3>
<p>Kopiert folgendes Snippet in die <code>functions.php</code> eures Themes und passt ggf. den Pfad zum Bild an. </p>
<pre class="brush: php; title: ; notranslate">
// replace dashboard logo
function kb_dashboard_logo() {
	echo '&lt;style type=&quot;text/css&quot;&gt;#header-logo { background-image: url('.get_bloginfo('template_directory').'/img/logo-dashboard.png) !important; }&lt;/style&gt;';
}

add_action('admin_head', 'kb_dashboard_logo');
</pre>
<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></content:encoded>
			<wfw:commentRss>http://kulturbanause.de/2011/10/wordpress-dashboard-mit-dem-eigenen-logo-versehen/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>WordPress Login-Screen individualisieren</title>
		<link>http://kulturbanause.de/2011/10/wordpress-login-screen-individualisieren/</link>
		<comments>http://kulturbanause.de/2011/10/wordpress-login-screen-individualisieren/#comments</comments>
		<pubDate>Wed, 12 Oct 2011 04:47:31 +0000</pubDate>
		<dc:creator>Jonas Hellwig</dc:creator>
				<category><![CDATA[Tipps, Hacks, Snippets]]></category>
		<category><![CDATA[Dashboard]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://kulturbanause.de/?p=6462</guid>
		<description><![CDATA[<div><img width="140" height="140" src="http://kulturbanause.de/wp-content/uploads/2011/10/wordpress-logo-login.png" class="attachment-post-thumbnail wp-post-image" alt="wordpress-logo-login" title="wordpress-logo-login" /></div>Wenn ihr WordPress für Kundenprojekte einsetzt, macht es Sinn den Administrationsbereich optisch an das bestehende Corporate Design des Kunden anzupassen. Dieser sieht nämlich in der Regel das eigene Logo lieber als das von WordPress, und eine individualisierte Installation wirkt natürlich auch technisch hochwertiger. Der erste Kontaktpunkt zwischen Anwender und WordPress-Backend ist der Login-Bereich. Mit wenigen … </p><p><a href="http://kulturbanause.de/2011/10/wordpress-login-screen-individualisieren/" class="more-link">Diesen Beitrag zu Ende lesen</a><h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></description>
			<content:encoded><![CDATA[<div><img width="140" height="140" src="http://kulturbanause.de/wp-content/uploads/2011/10/wordpress-logo-login.png" class="attachment-post-thumbnail wp-post-image" alt="wordpress-logo-login" title="wordpress-logo-login" /></div><p><strong>Wenn ihr WordPress für Kundenprojekte einsetzt, macht es Sinn den Administrationsbereich optisch an das bestehende Corporate Design des Kunden anzupassen. </strong> Dieser sieht nämlich in der Regel das eigene Logo lieber als das von WordPress, und eine individualisierte Installation wirkt natürlich auch technisch hochwertiger.<br />
Der erste Kontaktpunkt zwischen Anwender und WordPress-Backend ist der Login-Bereich. Mit wenigen Zeilen Code tauscht ihr hier das WordPress-Logo gegen das des Kunden aus. Ein Snippet das unbedingt in die Theme-Vorlage wandern sollte. </p>
<p><span id="more-6462"></span></p>
<h3>Logografik erstellen</h3>
<p>Das Standard-WordPress-Logo hat die Abmessungen 326 x 67 Pixel. Am einfachsten ist es daher, wenn ihr euer Logo ebenfalls im Rahmen dieser Abmessungen anlegt.<br />
Das nachfolgende Snippet sucht innerhalb des Theme-Ordners <code>(../wp-content/themes/name-des-themes/img/logo-login.png)</code> nach der Grafik. Achtet also darauf, dass ihr das Bild auch an der richtigen Stelle ablegt. </p>
<figure><img src="http://kulturbanause.de/wp-content/uploads/2011/10/wordpress-login-screen-brading.png" alt="wordpress-login-screen-brading" title="wordpress-login-screen-brading" width="550" height="419" class="alignnone size-full wp-image-6478" /></figure>
<h3>functions.php</h3>
<p>Kopiert folgenden Code in die <code>functions.php</code> des Themes. Es werden drei Elemente des Login-Screens verändert.<br />
Zunächst wird das Logo gegen die von euch erstellte Grafik ausgetauscht. Anschließend wird die Verlinkung des Logos von wordpress.com auf die Startseite eurer Website umgeschrieben <code>bloginfo('url')</code> und der Titel durch den Namen eures Blogs <code>get_option('blogname')</code> ersetzt. </p>
<pre class="brush: php; title: ; notranslate">
/* ----------------------- */
/* customized login-screen */
/* ----------------------- */

// logo
function kb_login_logo() {
  echo '&lt;style type=&quot;text/css&quot;&gt; h1 a {background-image:url('.get_bloginfo('template_directory').'/img/logo-login.png)  !important;} &lt;/style&gt;';
}

add_action('login_head',  'kb_login_logo');

// link
function kb_login_link() {
  echo bloginfo('url');
}

add_filter('login_headerurl', 'kb_login_link'); 

// link-title
function kb_login_linktitle() {
  echo get_option('blogname');
}

add_filter('login_headertitle', 'kb_login_linktitle');
</pre>
<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></content:encoded>
			<wfw:commentRss>http://kulturbanause.de/2011/10/wordpress-login-screen-individualisieren/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Die meist kommentierten WordPress-Beiträge der letzten 30 Tage anzeigen</title>
		<link>http://kulturbanause.de/2011/10/die-meist-kommentierten-wordpress-beitrage-der-letzten-30-tage-anzeigen/</link>
		<comments>http://kulturbanause.de/2011/10/die-meist-kommentierten-wordpress-beitrage-der-letzten-30-tage-anzeigen/#comments</comments>
		<pubDate>Sun, 02 Oct 2011 15:44:16 +0000</pubDate>
		<dc:creator>Jonas Hellwig</dc:creator>
				<category><![CDATA[Tipps, Hacks, Snippets]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://kulturbanause.de/?p=6423</guid>
		<description><![CDATA[<div><img width="140" height="140" src="http://kulturbanause.de/wp-content/uploads/2011/09/wordpress-comment.png" class="attachment-post-thumbnail wp-post-image" alt="wordpress-comment" title="wordpress-comment" /></div>Um möglichst viele Besucher auf heiß diskutierte Beiträge des Blogs aufmerksam zu machen, lohnt es sich einen Bereich mit "beliebten Artikeln" einzubinden. Mit den Custom Queries von WordPress ist es möglich Beiträge nach der Anzahl der abgegebenen Kommentare zu sortieren und in ihrer Anzahl zu begrenzen. Mit dieser Technik werden jedoch auch veraltete, aber viel … </p><p><a href="http://kulturbanause.de/2011/10/die-meist-kommentierten-wordpress-beitrage-der-letzten-30-tage-anzeigen/" class="more-link">Diesen Beitrag zu Ende lesen</a><h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></description>
			<content:encoded><![CDATA[<div><img width="140" height="140" src="http://kulturbanause.de/wp-content/uploads/2011/09/wordpress-comment.png" class="attachment-post-thumbnail wp-post-image" alt="wordpress-comment" title="wordpress-comment" /></div><p><strong>Um möglichst viele Besucher auf heiß diskutierte Beiträge des Blogs aufmerksam zu machen, lohnt es sich einen Bereich mit "beliebten Artikeln" einzubinden.</strong> Mit den Custom Queries von WordPress ist es möglich Beiträge nach der Anzahl der abgegebenen Kommentare zu sortieren und in ihrer Anzahl zu begrenzen. Mit dieser Technik werden jedoch auch veraltete, aber viel kommentierte Artikel berücksichtigt. Um nur aktuelle Trends abzubilden muss daher ein Zeitfenster definiert werden. </p>
<p><span id="more-6423"></span></p>
<h3>Code-Snippet</h3>
<p>Mit dem folgenden Code-Snippet ist es möglich zunächst nur die Beiträge der letzten 30 Tage auszulesen und anschließend nach der Anzahl der abgegebenen Kommentare zu sortieren. Die Anzahl der dargestellten Beiträge wird auf 5 beschränkt.<br />
Im letzten Schritt wird der WordPress-Loop gestartet und die Beiträge inkl. Beitragsbild, Titel und Verlinkung innerhalb einer ungeordneten Liste ausgegeben. </p>
<pre class="brush: php; title: ; notranslate">
&lt;ul&gt;
&lt;?php
function filter_where($where = '') {
    $where .= &quot; AND post_date &gt; '&quot; . date('Y-m-d', strtotime('-30 days')) . &quot;'&quot;; // Zeitfenster auf 30 Tage begrenzen
    return $where;
}

add_filter('posts_where', 'filter_where');

// WordPress Query
	$args = array(
		'posts_per_page' =&gt; 5,
		'order'    =&gt; 'DESC',
		'orderby' =&gt; 'comment_count'
	);
	query_posts( $args );

// WordPress-Loop
while (have_posts()): the_post(); ?&gt;

&lt;li&gt;
	&lt;a href=&quot;&lt;?php the_permalink(); ?&gt;&quot; title=&quot;&lt;?php the_title(); ?&gt;&quot;&gt;&lt;?php the_post_thumbnail( 'thumbnail' ); ?&gt;&lt;?php the_title (); ?&gt;&lt;/a&gt;
&lt;/li&gt;

&lt;?php endwhile;
	wp_reset_query();
?&gt;
&lt;/ul&gt;
</pre>
<p>Das Snippet ist bei mir im Einsatz und zeigt in der Sidebar die aktuellen Trends an. </p>
<p><a class="small" href="http://wpmu.org/daily-tip-display-your-most-popular-posts-in-the-last-30-days-without-a-plugin/" target="_blank">Der Code in diesem Artikel basiert auf einem Beitrag von wpmu.org</a></p>
<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></content:encoded>
			<wfw:commentRss>http://kulturbanause.de/2011/10/die-meist-kommentierten-wordpress-beitrage-der-letzten-30-tage-anzeigen/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>WordPress: Titel übergeordneter Seiten auslesen (direkter und oberster Vorfahre)</title>
		<link>http://kulturbanause.de/2011/09/wordpress-titel-ubergeordneter-seiten-auslesen-direkter-und-oberster-vorfahre/</link>
		<comments>http://kulturbanause.de/2011/09/wordpress-titel-ubergeordneter-seiten-auslesen-direkter-und-oberster-vorfahre/#comments</comments>
		<pubDate>Fri, 23 Sep 2011 10:42:40 +0000</pubDate>
		<dc:creator>Jonas Hellwig</dc:creator>
				<category><![CDATA[Tipps, Hacks, Snippets]]></category>
		<category><![CDATA[Navigation]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://kulturbanause.de/?p=6386</guid>
		<description><![CDATA[<div><img width="140" height="140" src="http://kulturbanause.de/wp-content/uploads/2011/09/wordpress-page-title.png" class="attachment-post-thumbnail wp-post-image" alt="wordpress-page-title" title="wordpress-page-title" /></div>Bei der Erstellung eines WordPress-Themes kommt es häufiger vor, dass man nur den Titel einer übergeordneten Seite anzeigen möchte. Zum Beispiel um für eine Metanavigation in der Sidebar eine Überschrift auszugeben. Besonders interessant ist in diesem Zusammenhang der Titel einer Eltern-Seite auf oberster Verschachtelungsebene. Bei einer Verschachtelungstiefe ab zwei, besteht ein Unterschied zwischen dem direkten … </p><p><a href="http://kulturbanause.de/2011/09/wordpress-titel-ubergeordneter-seiten-auslesen-direkter-und-oberster-vorfahre/" class="more-link">Diesen Beitrag zu Ende lesen</a><h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></description>
			<content:encoded><![CDATA[<div><img width="140" height="140" src="http://kulturbanause.de/wp-content/uploads/2011/09/wordpress-page-title.png" class="attachment-post-thumbnail wp-post-image" alt="wordpress-page-title" title="wordpress-page-title" /></div><p><strong>Bei der Erstellung eines WordPress-Themes kommt es häufiger vor, dass man nur den Titel einer übergeordneten Seite anzeigen möchte. </strong>Zum Beispiel um für eine Metanavigation in der Sidebar eine Überschrift auszugeben.<br />
Besonders interessant ist in diesem Zusammenhang der Titel einer Eltern-Seite auf oberster Verschachtelungsebene. </p>
<p><span id="more-6386"></span></p>
<p>Bei einer Verschachtelungstiefe ab zwei, besteht ein Unterschied zwischen dem direkten Vorfahren einer Seite und dem Vorfahren auf oberster Ebene. Das folgende Beispiel zeigt eine Beispiel-Verschachtelung: </p>
<ul>
<li>Geografie
<ul>
<li style="color:black;">Städte
<ul>
<li style="color:black;">Berlin</li>
<li style="color:black;">Köln</li>
</ul>
</li>
<li style="color:black;">Flüsse
<ul>
<li style="color:black;">Spree</li>
<li style="color:black;">Rhein</li>
</ul>
</li>
</ul>
</li>
</ul>
<h3>Übergeordnete Seite auf oberster Ebene ausgeben</h3>
<p>Nehmen wir nun an wir befinden uns auf der Seite "Berlin". Mit dem folgenden Snippet geben wir den Vorfahren auf oberster Ebene aus. In unsererm Beispiel also "Geografie". </p>
<p>Dieses Snippet gehört entweder global in die <code>functions.php</code> oder ebenfalls in die Template-Datei. </p>
<pre class="brush: php; title: ; notranslate">
&lt;?php

function get_top_level_parent_title() {

global $post;
  if ( empty($post-&gt;post_parent) )
	{ the_title(); }
  else {
	$ancestors = get_post_ancestors($post-&gt;ID);
	end($ancestors);
	  echo get_the_title(end($ancestors));
  }
}

?&gt;
</pre>
<p>Um den Titel im Theme auszugeben verwendet ihr folgendes Snippet: </p>
<pre class="brush: php; title: ; notranslate">
&lt;?php get_top_level_parent_title() ?&gt;
</pre>
<h3>Direkten Vorfahren ausgeben</h3>
<p>Wenn wir nun auf Basis des gleichen Beispiels den direkten Vorfahren (Städte) auslesen wollten, muss das Snippet leicht modifiziert werden. </p>
<p>Code für die <code>functions.php</code>.</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php

function get_ancestor_title() {

global $post;
  if ( empty($post-&gt;post_parent) )
	{ the_title(); }
  else {
	$ancestors = get_post_ancestors($post-&gt;ID);
	end($ancestors);
	  echo get_the_title($ancestors[0]);
  }
}

?&gt;
</pre>
<p>Um den Titel im Theme auszugeben verwendet ihr  folgendes Snippet: </p>
<pre class="brush: php; title: ; notranslate">
&lt;?php get_ancestor_title() ?&gt;
</pre>
<p><a href="http://www.jonathan.vc/top-level-parent-page-wordpress.html" target="_blank">via</a></p>
<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></content:encoded>
			<wfw:commentRss>http://kulturbanause.de/2011/09/wordpress-titel-ubergeordneter-seiten-auslesen-direkter-und-oberster-vorfahre/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>WordPress: Untergeordnete Seiten gezielt ausgeben</title>
		<link>http://kulturbanause.de/2011/09/wordpress-untergeordnete-seiten-gezielt-ausgeben/</link>
		<comments>http://kulturbanause.de/2011/09/wordpress-untergeordnete-seiten-gezielt-ausgeben/#comments</comments>
		<pubDate>Fri, 23 Sep 2011 09:43:03 +0000</pubDate>
		<dc:creator>Jonas Hellwig</dc:creator>
				<category><![CDATA[Tipps, Hacks, Snippets]]></category>
		<category><![CDATA[Navigation]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://kulturbanause.de/?p=6399</guid>
		<description><![CDATA[<div><img width="140" height="140" src="http://kulturbanause.de/wp-content/uploads/2011/09/wordpress-page-strcture.png" class="attachment-post-thumbnail wp-post-image" alt="wordpress-page-strcture" title="wordpress-page-strcture" /></div>In einem WordPress-Themes müssen häufig untergeordnete Seiten ausgegeben werden. Ich benötige diese Funktion regelmäßig um in der Sidebar die themenverwandten Seiten zur aktuell aufgerufenen Seite aufzulisten. In Kombination mit dem Snippet für den Titel der Eltern-Seite lässt sich hier sehr schnell eine individuelle Navigation erstellen. Mit Standard-Funktionen von WordPress können alle, oder nur ausgewählte Seiten … </p><p><a href="http://kulturbanause.de/2011/09/wordpress-untergeordnete-seiten-gezielt-ausgeben/" class="more-link">Diesen Beitrag zu Ende lesen</a><h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></description>
			<content:encoded><![CDATA[<div><img width="140" height="140" src="http://kulturbanause.de/wp-content/uploads/2011/09/wordpress-page-strcture.png" class="attachment-post-thumbnail wp-post-image" alt="wordpress-page-strcture" title="wordpress-page-strcture" /></div><p><strong>In einem WordPress-Themes müssen häufig untergeordnete Seiten ausgegeben werden. </strong>Ich benötige diese Funktion regelmäßig um in der Sidebar die themenverwandten Seiten zur aktuell aufgerufenen Seite aufzulisten. In Kombination mit dem <a href="http://kulturbanause.de/2011/09/wordpress-titel-ubergeordneter-seiten-auslesen-direkter-und-oberster-vorfahre/">Snippet für den Titel der Eltern-Seite</a> lässt sich hier sehr schnell eine individuelle Navigation erstellen.<br />
Mit Standard-Funktionen von WordPress können alle, oder nur ausgewählte Seiten eingeblendet werden. </p>
<p><span id="more-6399"></span></p>
<h3>Alle untergeordneten Seiten ausgeben</h3>
<p>Der folgende Code zeigt immer alle untergeordneten Seiten zur aktuell aufgerufenen Seite an. Auch Kinder von Kindern etc. </p>
<pre class="brush: php; title: ; notranslate">
&lt;ul&gt;
  &lt;?php wp_list_pages(&quot;title_li=&amp;child_of=&quot;.$post-&gt;ID); ?&gt;
&lt;/ul&gt;
</pre>
<h3>Verschachtelungstiefe begrenzen</h3>
<p>Wenn ihr die Tiefe beschränken wollt, erreicht ihr das mit dem Parameter "depth".<br />
"0" Entspricht hierbei allen Seiten. Mit "1", "2", "3" etc. legt ihr die Tiefe fest. Sollen also nur die direkten Nachkommen angezeigt werden - so benutzt folgenden Code: </p>
<pre class="brush: php; title: ; notranslate">
&lt;ul&gt;
  &lt;?php wp_list_pages(&quot;depth=1&amp;title_li=&amp;child_of=&quot;.$post-&gt;ID); ?&gt;
&lt;/ul&gt;
</pre>
<p>Bei der hier beschriebenen Technik handelt es sich um eine WordPress-Standard-Funktion. Mehr dazu findet ihr hier: <a href="http://codex.wordpress.org/Function_Reference/wp_list_pages" target="_blank">codex.wordpress.org/Function_Reference/wp_list_pages</a></p>
<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></content:encoded>
			<wfw:commentRss>http://kulturbanause.de/2011/09/wordpress-untergeordnete-seiten-gezielt-ausgeben/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress: Widgetized Sidebars mit Beschreibung</title>
		<link>http://kulturbanause.de/2011/09/wordpress-widgetized-sidebars-mit-beschreibung/</link>
		<comments>http://kulturbanause.de/2011/09/wordpress-widgetized-sidebars-mit-beschreibung/#comments</comments>
		<pubDate>Tue, 06 Sep 2011 06:28:37 +0000</pubDate>
		<dc:creator>Jonas Hellwig</dc:creator>
				<category><![CDATA[Tipps, Hacks, Snippets]]></category>
		<category><![CDATA[Dashboard]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Widgets]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://kulturbanause.de/?p=6241</guid>
		<description><![CDATA[<div><img width="140" height="140" src="http://kulturbanause.de/wp-content/uploads/2011/09/wordpress-sidebar-beschreibung.png" class="attachment-post-thumbnail wp-post-image" alt="wordpress-sidebar-beschreibung" title="wordpress-sidebar-beschreibung" /></div>Um in WordPress Widgets verwalten zu können, benötigt ihr mindestens eine widgetized Sidebar. Sobald eine solche Sidebar vorhanden ist, kann der User im WordPress-Backend Widgets per Drag &#038; Drop in diesen Bereichen anordnen. Insbesondere für Kunden ist es jedoch häufig schwierig zu verstehen welche Sidebar für welche Website-Inhalte vorgesehen ist bzw. an welcher Stelle im … </p><p><a href="http://kulturbanause.de/2011/09/wordpress-widgetized-sidebars-mit-beschreibung/" class="more-link">Diesen Beitrag zu Ende lesen</a><h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></description>
			<content:encoded><![CDATA[<div><img width="140" height="140" src="http://kulturbanause.de/wp-content/uploads/2011/09/wordpress-sidebar-beschreibung.png" class="attachment-post-thumbnail wp-post-image" alt="wordpress-sidebar-beschreibung" title="wordpress-sidebar-beschreibung" /></div><p><strong>Um in WordPress Widgets verwalten zu können, benötigt ihr mindestens eine widgetized Sidebar.</strong><br />
Sobald eine solche Sidebar vorhanden ist, kann der User im WordPress-Backend Widgets per Drag &#038; Drop in diesen Bereichen anordnen. Insbesondere für Kunden ist es jedoch häufig schwierig zu verstehen welche Sidebar für welche Website-Inhalte vorgesehen ist bzw. an welcher Stelle im Theme die Widgets erscheinen. Mit einer Beschreibung könnt ihr es euren Kunden etwas leichter machen. </p>
<p><span id="more-6241"></span></p>
<h3>Sidebar in der functions.php definieren</h3>
<p>Kopiert folgendes Code-Snippet in die <code>functions.php</code> um eine neue Sidebar zu definieren. Das folgende Beispiel integriert eine Sidebar mit Namen, Beschreibung und den Code-Snippets die vor- bzw. nach Widgets und Überschriften eingebunden werden. </p>
<pre class="brush: php; title: ; notranslate">
&lt;?php

// widgetized sidebar
if ( function_exists('register_sidebar') )
  register_sidebar(array(
    'name' =&gt; 'Sidebar', // Name der Sidebar
    'description' =&gt; __('Hier steht die Beschreibung der Sidebar'), // Beschreibung der Sidebar
    'before_widget' =&gt; '&lt;div class=&quot;widget&quot;&gt;', // Code der vor Widgets ausgegeben wird
    'after_widget' =&gt; '&lt;/div&gt;', // Code der nach Widgets ausgegeben wird
    'before_title' =&gt; '&lt;h2&gt;', // Code der vor dem Titel ausgegeben wird
    'after_title' =&gt; '&lt;/h2&gt;', // Code der nach dem Titel ausgegeben wird
));

?&gt;
</pre>
<p>Die Beschreibung der Sidebar erscheint im Backend unter "Design → Widgets". </p>
<figure>
<img src="http://kulturbanause.de/wp-content/uploads/2011/09/wordpress-widgetized-sidebar-beschreibung.png" alt="wordpress-widgetized-sidebar-beschreibung" title="wordpress-widgetized-sidebar-beschreibung" width="550" height="143" class="alignnone size-full wp-image-6242" /><br />
</figure>
<h3>Sidebar im Theme einbinden</h3>
<p>Der Vollständigkeit halber möchte ich auch noch den Code abbilden, der benötigt wird um die Sidebar im Theme auszugeben. Achtet darauf den Namen der Sidebar <code>!dynamic_sidebar("Sidebar")</code> anzupassen. </p>
<pre class="brush: php; title: ; notranslate">
&lt;?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar(&quot;Sidebar&quot;) ) : ?&gt;
&lt;!-- Hier werden die Widgets ausgegeben --&gt;
&lt;?php endif; ?&gt;
</pre>
<ul>
<li><a href="http://codex.wordpress.org/Widgetizing_Themes" target="_blank">codex.wordpress.org/Widgetizing_Themes</a></li>
</ul>
<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></content:encoded>
			<wfw:commentRss>http://kulturbanause.de/2011/09/wordpress-widgetized-sidebars-mit-beschreibung/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Grundgerüst für WordPress-Widgets</title>
		<link>http://kulturbanause.de/2011/09/grundgerust-fur-wordpress-widgets/</link>
		<comments>http://kulturbanause.de/2011/09/grundgerust-fur-wordpress-widgets/#comments</comments>
		<pubDate>Mon, 05 Sep 2011 06:52:29 +0000</pubDate>
		<dc:creator>Jonas Hellwig</dc:creator>
				<category><![CDATA[Tipps, Hacks, Snippets]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Widgets]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://kulturbanause.de/?p=6225</guid>
		<description><![CDATA[<div><img width="140" height="140" src="http://kulturbanause.de/wp-content/uploads/2011/09/wordpress-widgets.png" class="attachment-post-thumbnail wp-post-image" alt="wordpress-widgets" title="wordpress-widgets" /></div>WordPress bietet durch Widgets die Möglichkeit Seiteninhalte intuitiv zu verändern. Insbesondere für Kunden ohne Programmierkenntnisse sind Widgets besonders gut geeignet um eine Website zu pflegen und über die gewöhnliche Artikelansicht hinaus zu verändern. Um Widgets in einer WordPress-Installation verwenden zu können, muss das Theme über eine so genannte "widgetized Sidebar" verfügen. Anschließend steht diese Sidebar … </p><p><a href="http://kulturbanause.de/2011/09/grundgerust-fur-wordpress-widgets/" class="more-link">Diesen Beitrag zu Ende lesen</a><h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></description>
			<content:encoded><![CDATA[<div><img width="140" height="140" src="http://kulturbanause.de/wp-content/uploads/2011/09/wordpress-widgets.png" class="attachment-post-thumbnail wp-post-image" alt="wordpress-widgets" title="wordpress-widgets" /></div><p><strong>WordPress bietet durch Widgets die Möglichkeit Seiteninhalte intuitiv zu verändern.</strong> Insbesondere für Kunden ohne Programmierkenntnisse sind Widgets besonders gut geeignet um eine Website zu pflegen und über die gewöhnliche Artikelansicht hinaus zu verändern.<br />
Um Widgets in einer WordPress-Installation verwenden zu können, muss das Theme über eine so genannte "widgetized Sidebar" verfügen. Anschließend steht diese Sidebar im Backend zur Verfügung und kann mit Widgets bestückt werden. WordPress bietet von Haus aus diverse Standard-Widgets an. Wem das nicht reicht, der kann die <a href="http://wordpress.org/extend/plugins/tags/widget" title="WordPress Plugin Directory" target="_blank">Plugin-Directory nach weiteren Widgets durchsuchen</a>.<br />
Je nach Projekt ist es jedoch notwendig ein eigenes Widget zu erstellen. Wie das funktioniert möchte ich in diesem Beitrag anhand eines Basis-Snippets zeigen. </p>
<p><span id="more-6225"></span></p>
<h3>Code für das Beispiel-Widget</h3>
<p>Ein Widget funktioniert wie ein WordPress-Plugin und muss auch im Plugin-Verzeichnis abgelegt werden. Der nachfolgende Code erstellt ein Beispiel-Widget mit einem exemplarischen Inhalt und auf ein Minimum reduzierten Funktionen. </p>
<p>Zu Beginn werden einige Informationen über das Widget festgelegt. Diese Infos findet ihr später in der Plugin-Übersicht wieder. Anschließend folgt die Ausgabe des Widgets inkl. der <code>$before_widget</code> , <code>$after_widget</code>-Variablen die beim Anlegen der widgetized Sidebar definiert werden können. </p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
/*
Plugin Name: Widget Grundgerüst
Description: Dies ist ein leeres Beispiel-Widget.
Version: 1.0
Plugin URI: http://kulturbanause.de/
Author: Jonas Hellwig
Author URI: http://kulturbanause.de/
*/

function beispiel_widget_display($args) {
extract($args);
	echo $before_widget; /* Wird im Theme definiert */
	echo &quot;&lt;p&gt;Hier steht der Inhalt des Widgets.&lt;/p&gt;&quot;;
	echo $after_widget; /* Wird im Theme definiert */
}

wp_register_sidebar_widget(
    'beispielwidget_1',        		// ID
    'Beispielwidget',          		// Name des Widgets im Backend
    'beispiel_widget_display',  	// callback
    array(                  		// Optionen
        'description' =&gt; 'Hier steht eine Beschreibung des Widgets. Dieser Text ist in der Widget-Übersicht sichtbar.'
    )
);

?&gt;
</pre>
<h3>Widget installieren und aktivieren</h3>
<p>Speichert das Widget als PHP-Dokument ab und verschiebt es in das Plugin-Verzeichnis (../wp-content/plugins) der WordPress-Installation. Anschließend steht das Widget innerhalb von WordPress als Plugin zur Aktivierung bereit. </p>
<figure>
<img src="http://kulturbanause.de/wp-content/uploads/2011/09/widget-plugin-activation.png" alt="widget-plugin-activation" title="widget-plugin-activation" width="550" height="128" class="alignnone size-full wp-image-6230" /><br />
</figure>
<p>Hier findet ihr nun auch die Informationen aus dem Kopf des Widget-Codes wieder. </p>
<h3>Widget im Theme einsetzen</h3>
<p>Nachdem das Widget startklar ist, steht es unter "Design → Widgets" in der Widget-Übersicht zur Verfügung. Die Beschreibung und der Titel des Widgets wurden innerhalb von <code>wp_register_sidebar_widget</code> festgelegt.</p>
<figure>
<img src="http://kulturbanause.de/wp-content/uploads/2011/09/wordpress-widget-design.png" alt="wordpress-widget-design" title="wordpress-widget-design" width="550" height="212" class="alignnone size-full wp-image-6231" /><br />
</figure>
<p>Per Drag &#038; Drop kann es nun einer Sidebar hinzugefügt werden und ist anschließend sofort im Frontend sichtbar. Da dieses Beispiel-Widget keine Einstellungen erlaubt, wird der Inhalt ausgegeben, der innerhalb der Funktion <code>beispiel_widget_display</code> festgelegt wurde. </p>
<figure>
<img src="http://kulturbanause.de/wp-content/uploads/2011/09/sidebar-widget-wordpress.png" alt="sidebar-widget-wordpress" title="sidebar-widget-wordpress" width="550" height="217" class="alignnone size-full wp-image-6229" /><br />
</figure>
<ul>
<li><a href="http://codex.wordpress.org/Function_Reference/wp_register_sidebar_widget" target="_blank">codex.wordpress.org/Function_Reference/wp_register_sidebar_widget</a></li>
</ul>
<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></content:encoded>
			<wfw:commentRss>http://kulturbanause.de/2011/09/grundgerust-fur-wordpress-widgets/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>WordPress: Prüfen ob eine Seite Child-Pages besitzt oder nicht</title>
		<link>http://kulturbanause.de/2011/09/wordpress-prufen-ob-eine-seite-child-pages-besitzt-oder-nicht/</link>
		<comments>http://kulturbanause.de/2011/09/wordpress-prufen-ob-eine-seite-child-pages-besitzt-oder-nicht/#comments</comments>
		<pubDate>Thu, 01 Sep 2011 06:20:55 +0000</pubDate>
		<dc:creator>Jonas Hellwig</dc:creator>
				<category><![CDATA[Tipps, Hacks, Snippets]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://kulturbanause.de/?p=6184</guid>
		<description><![CDATA[<div><img width="140" height="140" src="http://kulturbanause.de/wp-content/uploads/2011/09/wordpress-child-and-parent-page.png" class="attachment-post-thumbnail wp-post-image" alt="wordpress-child-and-parent-page" title="wordpress-child-and-parent-page" /></div>Wenn ihr überprüfen möchtet ob eine Seite untergeordnete Seiten (Child-Pages) besitzt, schaut euch folgendes Snippet einmal an. Durch diesen Code lässt sich beispielsweise eine Subnavi nur dann einblenden, wenn überhaupt Child-Elemente vorhanden sind. Wenn ihr hingegen testen wollt ob es sich bei der aktuellen Seite selbst um eine untergeordnete Seite handelt, werft einen Blick auf … </p><p><a href="http://kulturbanause.de/2011/09/wordpress-prufen-ob-eine-seite-child-pages-besitzt-oder-nicht/" class="more-link">Diesen Beitrag zu Ende lesen</a><h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></description>
			<content:encoded><![CDATA[<div><img width="140" height="140" src="http://kulturbanause.de/wp-content/uploads/2011/09/wordpress-child-and-parent-page.png" class="attachment-post-thumbnail wp-post-image" alt="wordpress-child-and-parent-page" title="wordpress-child-and-parent-page" /></div><p><strong>Wenn ihr überprüfen möchtet ob eine Seite untergeordnete Seiten (Child-Pages) besitzt, schaut euch folgendes Snippet einmal an.</strong> Durch diesen Code lässt sich beispielsweise eine Subnavi nur dann einblenden, wenn überhaupt Child-Elemente vorhanden sind. Wenn ihr hingegen testen wollt ob es sich bei der aktuellen Seite selbst um eine untergeordnete Seite handelt, werft einen Blick auf diesen Artikel: <a href="http://kulturbanause.de/2011/08/wordpress-prufen-ob-die-aktuelle-seite-parent-oder-child-page-ist/">Prüfen ob die aktuelle Seite Parent- oder Child-Page ist</a></p>
<p><span id="more-6184"></span></p>
<h3>Snippet für die Template-Datei</h3>
<p>Fügt den nachfolgenden Code dort ein, wo die Ausgabe im Theme erfolgen soll. </p>
<pre class="brush: php; title: ; notranslate">
&lt;?php

$children = get_pages('child_of='.$post-&gt;ID);
if( count( $children ) != 0 ) { 

  echo &quot;Diese Seite besitzt Child-Pages&quot;;

}

else { 

  echo &quot;Diese Seite besitzt keine Child-Pages&quot;;

}

?&gt;
</pre>
<p>Wenn ihr innerhalb der Ausgabe HTML-Code schreiben wollt, passt das Snippet wie folgt an. </p>
<pre class="brush: php; title: ; notranslate">
&lt;?php

$children = get_pages('child_of='.$post-&gt;ID);
if( count( $children ) != 0 ) { ?&gt;

  &lt;p&gt;Diese Seite besitzt Child-Pages&lt;/p&gt;

&lt;?php  }

else { ?&gt;

  &lt;p&gt;Diese Seite besitzt keine Child-Pages&lt;/p&gt;

&lt;?php  }

?&gt;
</pre>
<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></content:encoded>
			<wfw:commentRss>http://kulturbanause.de/2011/09/wordpress-prufen-ob-eine-seite-child-pages-besitzt-oder-nicht/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>WordPress: Prüfen ob die aktuelle Seite Parent- oder Child-Page ist</title>
		<link>http://kulturbanause.de/2011/08/wordpress-prufen-ob-die-aktuelle-seite-parent-oder-child-page-ist/</link>
		<comments>http://kulturbanause.de/2011/08/wordpress-prufen-ob-die-aktuelle-seite-parent-oder-child-page-ist/#comments</comments>
		<pubDate>Tue, 30 Aug 2011 18:29:32 +0000</pubDate>
		<dc:creator>Jonas Hellwig</dc:creator>
				<category><![CDATA[Tipps, Hacks, Snippets]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://kulturbanause.de/?p=6173</guid>
		<description><![CDATA[<div><img width="140" height="140" src="http://kulturbanause.de/wp-content/uploads/2011/08/wordpress-parent-or-child-page.png" class="attachment-post-thumbnail wp-post-image" alt="wordpress-parent-or-child-page" title="wordpress-parent-or-child-page" /></div>Ab und zu muss man bei der Erstellung eines WordPress-Themes prüfen ob die aktuelle Seite ein Parent- oder eine Child-Page ist. Mal angenommen ihr möchtet in der Sidebar immer alle, der aktuellen Seite untergeordneten Seiten anzeigen lassen. Zusätzlich möchtet ihr diesen Bereich so aufwändig gestalten, dass ein umschließendes Container-Element notwendig ist. Wenn nun keine Child-Pages … </p><p><a href="http://kulturbanause.de/2011/08/wordpress-prufen-ob-die-aktuelle-seite-parent-oder-child-page-ist/" class="more-link">Diesen Beitrag zu Ende lesen</a><h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></description>
			<content:encoded><![CDATA[<div><img width="140" height="140" src="http://kulturbanause.de/wp-content/uploads/2011/08/wordpress-parent-or-child-page.png" class="attachment-post-thumbnail wp-post-image" alt="wordpress-parent-or-child-page" title="wordpress-parent-or-child-page" /></div><p><strong>Ab und zu muss man bei der Erstellung eines WordPress-Themes prüfen ob die aktuelle Seite ein Parent- oder eine Child-Page ist.</strong> Mal angenommen ihr möchtet in der Sidebar immer alle, der aktuellen Seite untergeordneten Seiten anzeigen lassen. Zusätzlich möchtet ihr diesen Bereich so aufwändig gestalten, dass ein umschließendes Container-Element notwendig ist. Wenn nun keine Child-Pages mehr existieren sollte natürlich auch das Container-Element verschwinden, sonst ist der Bereich leer. Genau für einen solchen Zweck habe ich seinerzeit das nachfolgende Snippet benutzt. </p>
<p><span id="more-6173"></span></p>
<h3>If-Else-Abfrage</h3>
<p>Das nachfolgende Snippet zeigt an, ob die aktuell aufgerufene Seite ein Parent-Page ist oder ob es sich um eine Child-Page handelt. Parent bedeutet in diesem Fall, dass die Seite keine übergeordnete Seite besitzt. Eine Child-Page ist es sobald eine eine übergeordnete Seite existiert. </p>
<p>Eine Seite kann sowohl Child als auch Parent sein. Dieses Snippet gibt in einem solchen Fall immer "Child" aus. Es wird keine doppelte Ausgabe erstellt.  </p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
global $wp_query;
 if ( empty($wp_query-&gt;post-&gt;post_parent) )
 { ?&gt; 

 &lt;p&gt;Ich bin eine &quot;Parent-Page&quot;&lt;/p&gt;

 &lt;?php }
 else { ?&gt; 

 &lt;p&gt;Ich bin eine &quot;Child-Page&quot;&lt;/p&gt;

 &lt;?php 

} ?&gt;
</pre>
<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></content:encoded>
			<wfw:commentRss>http://kulturbanause.de/2011/08/wordpress-prufen-ob-die-aktuelle-seite-parent-oder-child-page-ist/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>WordPress: Prüfen ob sich ein User in Kategorie X (Parent-Category) oder in einer untergeordneten Kategorie von X (Child-Category) befindet</title>
		<link>http://kulturbanause.de/2011/08/wordpress-prufen-ob-sich-ein-user-in-kategorie-x-parent-category-oder-in-einer-untergeordneten-kategorie-von-x-child-category-befindet/</link>
		<comments>http://kulturbanause.de/2011/08/wordpress-prufen-ob-sich-ein-user-in-kategorie-x-parent-category-oder-in-einer-untergeordneten-kategorie-von-x-child-category-befindet/#comments</comments>
		<pubDate>Mon, 29 Aug 2011 19:10:05 +0000</pubDate>
		<dc:creator>Jonas Hellwig</dc:creator>
				<category><![CDATA[Tipps, Hacks, Snippets]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://kulturbanause.de/?p=6156</guid>
		<description><![CDATA[<div><img width="140" height="140" src="http://kulturbanause.de/wp-content/uploads/2011/08/wordpress-child-and-parent-categories.png" class="attachment-post-thumbnail wp-post-image" alt="wordpress-child-and-parent-categories" title="wordpress-child-and-parent-categories" /></div>Manchmal möchten wir Inhalte in einem WordPress-Theme nur dann ausgeben, wenn sich der Besucher in einer bestimmten Kategorie bzw. in einer untergeordneten Kategorie befindet. Wenn es sich um ein Kundenprojekt handelt, kann der Kunde natürlich selbst neue Unterkategorien (Child-Categories) anlegen die wir bei der Erstellung des Themes noch nicht kennen und folglich auch nicht berücksichtigen … </p><p><a href="http://kulturbanause.de/2011/08/wordpress-prufen-ob-sich-ein-user-in-kategorie-x-parent-category-oder-in-einer-untergeordneten-kategorie-von-x-child-category-befindet/" class="more-link">Diesen Beitrag zu Ende lesen</a><h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></description>
			<content:encoded><![CDATA[<div><img width="140" height="140" src="http://kulturbanause.de/wp-content/uploads/2011/08/wordpress-child-and-parent-categories.png" class="attachment-post-thumbnail wp-post-image" alt="wordpress-child-and-parent-categories" title="wordpress-child-and-parent-categories" /></div><p><strong>Manchmal möchten wir Inhalte in einem WordPress-Theme nur dann ausgeben, wenn sich der Besucher in einer bestimmten Kategorie bzw. in einer untergeordneten Kategorie befindet.</strong> Wenn es sich um ein Kundenprojekt handelt, kann der Kunde natürlich selbst neue Unterkategorien (Child-Categories) anlegen die wir bei der Erstellung des Themes noch nicht kennen und folglich auch nicht berücksichtigen können. Das Snippet muss also auf der ID, bzw. dem Namen der Hauptkategorie (Parent-Category) basieren. Gerade wenn ihr mit Custom Post Types arbeitet kann ein solcher Fall schnell auftreten. </p>
<p><span id="more-6156"></span></p>
<h3>Snippet für die functions.php/Template-File</h3>
<p>Das folgende Snippet könnt ihr global in der <code>functions.php</code> verwalten oder direkt in das gewünschte Template (z.B. <code>sidebar.php</code>) kopieren. </p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
function post_is_in_descendant_category( $cats, $_post = null )
{
	foreach ( (array) $cats as $cat ) {
		$descendants = get_term_children( (int) $cat, 'category');
		if ( $descendants &amp;&amp; in_category( $descendants, $_post ) )
			return true;
	}
	return false;
}
?&gt;
</pre>
<h3>Ausgabe im Theme</h3>
<p>Um den gewünschten Inhalt nun auszugeben, kopiert ihr das nachfolgende Snippet an die Stelle an der die Ausgabe erfolgen soll. Achtet darauf die IDs durch die in Eurem Theme verwendeten IDs zu ersetzen. </p>
<pre class="brush: php; title: ; notranslate">
&lt;?php if (is_category('3') || post_is_in_descendant_category( 3 )) { ?&gt;

&lt;p&gt;Dieser Text ist sichtbar, wenn die Kategorie mit der ID 3 bzw. eine untergeordnete Kategorie aufgerufen ist. &lt;/p&gt;

&lt;?php } ?&gt;
</pre>
<p class="small"><a href="http://codex.wordpress.org/Function_Reference/in_category#Testing_if_a_post_is_in_a_descendant_category" target="_blank">codex.wordpress.org/Function_Reference/in_category</a></p>
<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></content:encoded>
			<wfw:commentRss>http://kulturbanause.de/2011/08/wordpress-prufen-ob-sich-ein-user-in-kategorie-x-parent-category-oder-in-einer-untergeordneten-kategorie-von-x-child-category-befindet/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>WordPress: Breadcrumb-Navigation ohne Plugin</title>
		<link>http://kulturbanause.de/2011/08/wordpress-breadcrumb-navigation-ohne-plugin/</link>
		<comments>http://kulturbanause.de/2011/08/wordpress-breadcrumb-navigation-ohne-plugin/#comments</comments>
		<pubDate>Wed, 24 Aug 2011 05:21:30 +0000</pubDate>
		<dc:creator>Jonas Hellwig</dc:creator>
				<category><![CDATA[Tipps, Hacks, Snippets]]></category>
		<category><![CDATA[Navigation]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://kulturbanause.de/?p=6129</guid>
		<description><![CDATA[<div><img width="140" height="140" src="http://kulturbanause.de/wp-content/uploads/2011/08/wordpress-breadcrumb.png" class="attachment-post-thumbnail wp-post-image" alt="wordpress-breadcrumb" title="wordpress-breadcrumb" /></div>Breadcrumb-Navigationen sind in komplexen Websites ein wichtiges Navigations- und Orientierungselement. Sobald Ihr WordPress als "echtes" CMS einsetzt, werdet ihr allerdings merken, dass viele Plugins und Snippets zu sehr auf den Einsatz in Blogs ausgerichtet sind. Sobald diverse statische und hierarchisch verschachtelte Seiten und Custom Post Types im Spiel sind, stößt so manche Breadcrumb an ihre … </p><p><a href="http://kulturbanause.de/2011/08/wordpress-breadcrumb-navigation-ohne-plugin/" class="more-link">Diesen Beitrag zu Ende lesen</a><h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></description>
			<content:encoded><![CDATA[<div><img width="140" height="140" src="http://kulturbanause.de/wp-content/uploads/2011/08/wordpress-breadcrumb.png" class="attachment-post-thumbnail wp-post-image" alt="wordpress-breadcrumb" title="wordpress-breadcrumb" /></div><p><strong>Breadcrumb-Navigationen sind in komplexen Websites ein wichtiges Navigations- und Orientierungselement.</strong> Sobald Ihr WordPress als "echtes" CMS einsetzt, werdet ihr allerdings merken, dass viele Plugins und Snippets zu sehr auf den Einsatz in Blogs ausgerichtet sind. Sobald diverse statische und hierarchisch verschachtelte Seiten und Custom Post Types im Spiel sind, stößt so manche Breadcrumb an ihre Grenzen.<br />
Das folgende Snippet berücksichtigt alle Anforderungen die ich bisher an eine Breadcrumb gestellt habe. Da ich meinen Blog auch selbst als Archiv nutze, lege ich den entsprechenden Code hier ab. Sicher wird das Snippet euch auch mal weiterhelfen.   </p>
<p><span id="more-6129"></span></p>
<h3>Code für die functions.php</h3>
<p>Den folgenden Code fügt Ihr in die <code>functions.php</code> eures WordPress-Themes ein. </p>
<pre class="brush: php; title: ; notranslate">

// breadcrumb
function nav_breadcrumb() {

  $delimiter = '&amp;raquo;';
  $home = 'Home';
  $before = '&lt;span class=&quot;current&quot;&gt;';
  $after = '&lt;/span&gt;'; 

  if ( !is_home() &amp;&amp; !is_front_page() || is_paged() ) {

    echo '&lt;div id=&quot;breadcrumb&quot;&gt;';

    global $post;
    $homeLink = get_bloginfo('url');
    echo '&lt;a href=&quot;' . $homeLink . '&quot;&gt;' . $home . '&lt;/a&gt; ' . $delimiter . ' ';

    if ( is_category() ) {
      global $wp_query;
      $cat_obj = $wp_query-&gt;get_queried_object();
      $thisCat = $cat_obj-&gt;term_id;
      $thisCat = get_category($thisCat);
      $parentCat = get_category($thisCat-&gt;parent);
      if ($thisCat-&gt;parent != 0) echo(get_category_parents($parentCat, TRUE, ' ' . $delimiter . ' '));
      echo $before . single_cat_title('', false) . $after;

    } elseif ( is_day() ) {
      echo '&lt;a href=&quot;' . get_year_link(get_the_time('Y')) . '&quot;&gt;' . get_the_time('Y') . '&lt;/a&gt; ' . $delimiter . ' ';
      echo '&lt;a href=&quot;' . get_month_link(get_the_time('Y'),get_the_time('m')) . '&quot;&gt;' . get_the_time('F') . '&lt;/a&gt; ' . $delimiter . ' ';
      echo $before . get_the_time('d') . $after;

    } elseif ( is_month() ) {
      echo '&lt;a href=&quot;' . get_year_link(get_the_time('Y')) . '&quot;&gt;' . get_the_time('Y') . '&lt;/a&gt; ' . $delimiter . ' ';
      echo $before . get_the_time('F') . $after;

    } elseif ( is_year() ) {
      echo $before . get_the_time('Y') . $after;

    } elseif ( is_single() &amp;&amp; !is_attachment() ) {
      if ( get_post_type() != 'post' ) {
        $post_type = get_post_type_object(get_post_type());
        $slug = $post_type-&gt;rewrite;
        echo '&lt;a href=&quot;' . $homeLink . '/' . $slug['slug'] . '/&quot;&gt;' . $post_type-&gt;labels-&gt;singular_name . '&lt;/a&gt; ' . $delimiter . ' ';
        echo $before . get_the_title() . $after;
      } else {
        $cat = get_the_category(); $cat = $cat[0];
        echo get_category_parents($cat, TRUE, ' ' . $delimiter . ' ');
        echo $before . get_the_title() . $after;
      }

    } elseif ( !is_single() &amp;&amp; !is_page() &amp;&amp; get_post_type() != 'post' &amp;&amp; !is_404() ) {
      $post_type = get_post_type_object(get_post_type());
      echo $before . $post_type-&gt;labels-&gt;singular_name . $after;

    } elseif ( is_attachment() ) {
      $parent = get_post($post-&gt;post_parent);
      $cat = get_the_category($parent-&gt;ID); $cat = $cat[0];
      echo get_category_parents($cat, TRUE, ' ' . $delimiter . ' ');
      echo '&lt;a href=&quot;' . get_permalink($parent) . '&quot;&gt;' . $parent-&gt;post_title . '&lt;/a&gt; ' . $delimiter . ' ';
      echo $before . get_the_title() . $after;

    } elseif ( is_page() &amp;&amp; !$post-&gt;post_parent ) {
      echo $before . get_the_title() . $after;

    } elseif ( is_page() &amp;&amp; $post-&gt;post_parent ) {
      $parent_id  = $post-&gt;post_parent;
      $breadcrumbs = array();
      while ($parent_id) {
        $page = get_page($parent_id);
        $breadcrumbs[] = '&lt;a href=&quot;' . get_permalink($page-&gt;ID) . '&quot;&gt;' . get_the_title($page-&gt;ID) . '&lt;/a&gt;';
        $parent_id  = $page-&gt;post_parent;
      }
      $breadcrumbs = array_reverse($breadcrumbs);
      foreach ($breadcrumbs as $crumb) echo $crumb . ' ' . $delimiter . ' ';
      echo $before . get_the_title() . $after;

    } elseif ( is_search() ) {
      echo $before . 'Ergebnisse für Ihre Suche nach &quot;' . get_search_query() . '&quot;' . $after;

    } elseif ( is_tag() ) {
      echo $before . 'Beiträge mit dem Schlagwort &quot;' . single_tag_title('', false) . '&quot;' . $after;

    } elseif ( is_author() ) {
       global $author;
      $userdata = get_userdata($author);
      echo $before . 'Beiträge veröffentlicht von ' . $userdata-&gt;display_name . $after;

    } elseif ( is_404() ) {
      echo $before . 'Fehler 404' . $after;
    }

    if ( get_query_var('paged') ) {
      if ( is_category() || is_day() || is_month() || is_year() || is_search() || is_tag() || is_author() ) echo ' (';
      echo __('Page') . ' ' . get_query_var('paged');
      if ( is_category() || is_day() || is_month() || is_year() || is_search() || is_tag() || is_author() ) echo ')';
    }

    echo '&lt;/div&gt;';

  }
}
</pre>
<h3>Breadcrumb im Theme aufrufen</h3>
<p>Mit diesem Snippet bindet Ihr die Breadcrumb im Theme ein. Dabei ist es irrelevant ob sich die Navi innerhalb oder außerhalb des WordPress-Loops befindet. </p>
<pre class="brush: php; title: ; notranslate">&lt;?php if (function_exists('nav_breadcrumb')) nav_breadcrumb(); ?&gt;</pre>
<p>Je nachdem, auf welcher Unterseite des Projektes Ihr euch befindet, wird nun die Breadcrumb dargestellt. Im Gegensatz zu vielen anderen Lösungen die ich kenne, arbeitet diese Breadcrumb einwandfrei mit Archiven, Seiten und Kategorien. Auch Custom Post Types werden berücksichtigt. </p>
<figure>
<img src="http://kulturbanause.de/wp-content/uploads/2011/08/breadcrumb.png" alt="WordPress-Breadcrumb ohne Plugin" title="breadcrumb" width="550" height="208" class="alignnone size-full wp-image-6133" /><br />
</figure>
<p>Der Code wurde ursprünglich unter <a href="http://dimox.net/wordpress-breadcrumbs-without-a-plugin/" target="_blank">dimox.net/wordpress-breadcrumbs-without-a-plugin</a> veröffentlicht. Ich habe ihn nur meinen Anforderungen entsprechend leicht abgewandelt und die Begriffe übersetzt.  </p>
<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></content:encoded>
			<wfw:commentRss>http://kulturbanause.de/2011/08/wordpress-breadcrumb-navigation-ohne-plugin/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>WordPress: Benutzerdefinierte Felder nur dann ausgeben wenn Werte eingetragen wurden</title>
		<link>http://kulturbanause.de/2011/08/wordpress-benutzerdefinierte-felder-nur-dann-ausgeben-wenn-werte-eingetragen-wurden/</link>
		<comments>http://kulturbanause.de/2011/08/wordpress-benutzerdefinierte-felder-nur-dann-ausgeben-wenn-werte-eingetragen-wurden/#comments</comments>
		<pubDate>Thu, 18 Aug 2011 06:31:10 +0000</pubDate>
		<dc:creator>Jonas Hellwig</dc:creator>
				<category><![CDATA[Tipps, Hacks, Snippets]]></category>
		<category><![CDATA[Benutzerdefinierte Felder]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://kulturbanause.de/?p=6096</guid>
		<description><![CDATA[<div><img width="140" height="140" src="http://kulturbanause.de/wp-content/uploads/2011/08/custom-field-wordpress.png" class="attachment-post-thumbnail wp-post-image" alt="custom-field-wordpress" title="custom-field-wordpress" /></div>In WordPress besteht die Möglichkeit Beiträge durch Zusatzinformationen zu ergänzen. Das geschieht unter anderem über die so genannten Benutzerdefinierten Felder. Hierbei wird zunächst einmal ein Name (auch Schlüssel genannt) festgelegt. Diesem Namen können anschließend verschiedene Werte zugewiesen werden, die dann wiederum im Theme ausgegeben werden können. Nun kann es vorkommen, dass dieser Wert in ein … </p><p><a href="http://kulturbanause.de/2011/08/wordpress-benutzerdefinierte-felder-nur-dann-ausgeben-wenn-werte-eingetragen-wurden/" class="more-link">Diesen Beitrag zu Ende lesen</a><h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></description>
			<content:encoded><![CDATA[<div><img width="140" height="140" src="http://kulturbanause.de/wp-content/uploads/2011/08/custom-field-wordpress.png" class="attachment-post-thumbnail wp-post-image" alt="custom-field-wordpress" title="custom-field-wordpress" /></div><p><strong>In WordPress besteht die Möglichkeit Beiträge durch Zusatzinformationen zu ergänzen. Das geschieht unter anderem über die so genannten Benutzerdefinierten Felder. </strong>Hierbei wird zunächst einmal ein Name (auch Schlüssel genannt) festgelegt. Diesem Namen können anschließend verschiedene Werte zugewiesen werden, die dann wiederum im Theme ausgegeben werden können. Nun kann es vorkommen, dass dieser Wert in ein weiteres Code-Snippet - z.B. einen <code>img</code>- oder <code>a</code>-Tag eingebunden werden soll. Wird nun das Benutzerdefinierte Feld nicht ausgefüllt, so kommt es zu Fehldarstellungen auf der Seite. Wie Ihr dieses Problem umgeht und Eingabefehler verhindert, möchte ich in diesem Beitrag kurz erläutern. </p>
<p><span id="more-6096"></span></p>
<h3>Beispiel</h3>
<p>Ich erkläre die Funktion am besten einmal an einem konkreten Beispiel: Für einen Blog mit Buchrezensionen habe ich ein Benutzerdefiniertes Feld für die ISBN-Nummer angelegt. Der "Name" war in diesem Fall "ISBN" und als "Wert" konnte der Kunde die individuelle ISBN-Nummer des rezensierten Buches angeben. </p>
<figure><img src="http://kulturbanause.de/wp-content/uploads/2011/08/benutzerdefinierte-felder-wordpress.png" alt="Ansicht der Benutzerdefinierten Felder in WordPress" title="benutzerdefinierte-felder-wordpress" width="550" height="229" class="alignnone size-full wp-image-6098" /></figure>
<p>Im Theme habe ich nun den "Wert", also die eingetragene ISBN-Nummer ausgelesen und in den vorgegebenen String eines Shop-Links integriert. Somit konnte unter jeder Buchrezension ein Link zum Online-Shop integriert werden. Das Produkt wurde dann über die ISBN-Nummer eindeutig identifiziert.</p>
<p>Nun kann es aber vorkommen, dass der Kunde vergisst die ISBN-Nummer einzutragen. Oder aber der Artikel ist im Shop nicht vorhanden. In einem solchen Fall muss sichergestellt werden, dass der Button zum Online-Shop nur dann angezeigt wird, wenn innerhalb von WordPress das Benutzerdefinierte Feld auch einen Wert erhalten hat. Anderenfalls hätten wir einen toten Link. </p>
<h3>Wert des Feldes in Variable speichern und ausgeben</h3>
<p>Mit dem folgenden Code löst ihr dieses Problem. Zunächst speichert ihr den "Wert" des Benutzerdefinierten Feldes in eine beliebige Variable. </p>
<pre class="brush: php; title: ; notranslate">
&lt;?php $beliebige_variable = get_post_meta($post-&gt;ID, 'name_des_benutzerdefinierten_feldes', true); ?&gt;
</pre>
<p>Anschließend kann der Inhalt im Theme ausgegeben werden. </p>
<pre class="brush: php; title: ; notranslate">
&lt;?php echo $beliebige_variable; ?&gt;
</pre>
<h3>Abfragen ob das Feld ausgefüllt wurde</h3>
<p>Um den Wert nur dann auszugeben wenn auch etwas eingetragen wurde, prüfen wir ob der Inhalt ungleich "leer" ist. Sofern das der Fall ist wird die Ausgabe ausgeführt. Anderenfalls passiert in diesem Beispiel nichts. </p>
<pre class="brush: php; title: ; notranslate">
&lt;?php $beliebige_variable = get_post_meta($post-&gt;ID, 'name_des_benutzerdefinierten_feldes', true); ?&gt;

&lt;?php if(get_post_meta($post-&gt;ID, 'name_des_benutzerdefinierten_feldes', true) != '') : ?&gt;
  &lt;?php echo $beliebige_variable; ?&gt;
&lt;?php endif; ?&gt;
</pre>
<p>Der Code inkl. echter Werte sah in meine Fall etwa so aus: </p>
<pre class="brush: php; title: ; notranslate">
&lt;?php $isbn = get_post_meta($post-&gt;ID, 'ISBN', true); ?&gt;

&lt;?php if(get_post_meta($post-&gt;ID, 'ISBN', true) != '') : ?&gt;
  &lt;a href=&quot;http://www.url-des-shops.com/products/&lt;?php echo $isbn; ?&gt;/details/&quot; target=&quot;_blank&quot; class=&quot;button&quot;&gt;Artikel kaufen&lt;/a&gt;
&lt;?php endif; ?&gt;
</pre>
<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></content:encoded>
			<wfw:commentRss>http://kulturbanause.de/2011/08/wordpress-benutzerdefinierte-felder-nur-dann-ausgeben-wenn-werte-eingetragen-wurden/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>WordPress-Dashboard: Individuelle Widgets hinzufügen / Standard-Widgets löschen</title>
		<link>http://kulturbanause.de/2011/06/wordpress-dashboard-individuelle-widgets-hinzufugen-standard-widgets-loschen/</link>
		<comments>http://kulturbanause.de/2011/06/wordpress-dashboard-individuelle-widgets-hinzufugen-standard-widgets-loschen/#comments</comments>
		<pubDate>Fri, 24 Jun 2011 05:50:59 +0000</pubDate>
		<dc:creator>Jonas Hellwig</dc:creator>
				<category><![CDATA[Tipps, Hacks, Snippets]]></category>
		<category><![CDATA[Dashboard]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://kulturbanause.de/?p=5520</guid>
		<description><![CDATA[<div><img width="140" height="140" src="http://kulturbanause.de/wp-content/uploads/2011/06/wordpress-dashboard-widgets.png" class="attachment-post-thumbnail wp-post-image" alt="wordpress-dashboard-widgets" title="wordpress-dashboard-widgets" /></div>Das WordPress-Dashboard zeigt dem Benutzer eine Übersicht verschiedener, häufig verwendeter WordPress-Funktionen. Neben einer kurzen Statistik finden sich hier unter anderem die letzten Beitragsentwürfe, eingehende Links fremder Websites und die letzten Kommentare. Für Kundenprojekte ist diese Übersicht häufig nicht brauchbar: es werden zu viele unverständliche bzw. überflüssige Informationen dargestellt. Statt dessen fehlt ein individuelles Widget um … </p><p><a href="http://kulturbanause.de/2011/06/wordpress-dashboard-individuelle-widgets-hinzufugen-standard-widgets-loschen/" class="more-link">Diesen Beitrag zu Ende lesen</a><h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></description>
			<content:encoded><![CDATA[<div><img width="140" height="140" src="http://kulturbanause.de/wp-content/uploads/2011/06/wordpress-dashboard-widgets.png" class="attachment-post-thumbnail wp-post-image" alt="wordpress-dashboard-widgets" title="wordpress-dashboard-widgets" /></div><p><strong>Das WordPress-Dashboard zeigt dem Benutzer eine Übersicht verschiedener, häufig verwendeter WordPress-Funktionen. Neben einer kurzen Statistik finden sich hier unter anderem die letzten Beitragsentwürfe, eingehende Links fremder Websites und die letzten Kommentare.</strong> Für Kundenprojekte ist diese Übersicht häufig nicht brauchbar: es werden zu viele unverständliche bzw. überflüssige Informationen dargestellt. Statt dessen fehlt ein individuelles Widget um den Kunden in der Administrationsoberfläche willkommen zu heißen. </p>
<p><span id="more-5520"></span></p>
<h3>Individuelles Widget hinzufügen</h3>
<p>Zunächst möchten wir ein individuelles Widget hinzufügen. Hier bietet es sich an, den Kunden zu begrüßen, oder ihm Hilfe bei der Benutzung von WordPress anzubieten.<br />
Kopiert folgenden Code in die <code>functions.php</code> eurer WordPress-Installation und passt die gewünschten Textstellen an. </p>
<pre class="brush: php; title: ; notranslate">
// add individual dashboard-widget
function kb_dashboard_widget() {
	echo &quot;Hier steht der Inhalt des Widgets&quot;;
} 

function kb_add_dashboard_widget() {
	wp_add_dashboard_widget('kb_dashboard_widget', 'Widget-&amp;Uumlberschrift', 'kb_dashboard_widget');
}

add_action('wp_dashboard_setup', 'kb_add_dashboard_widget' );
</pre>
<p>Als Ergebnis wird dem WordPress-Dashboard ein neues Widget mit Überschrift und Inhalt hinzugefügt. </p>
<figure><img src="http://kulturbanause.de/wp-content/uploads/2011/06/individuelle-wordpress-dashboard-widgets.png" alt="individuelle-wordpress-dashboard-widgets" title="individuelle-wordpress-dashboard-widgets" width="500" height="134" class="alignnone size-full wp-image-5524" /><br />
</figure>
<h3>Standard-Widgets entfernen</h3>
<p>Nun sollen die Standard-Widgets von WordPress ausgeblendet werden. Folgender Code muss ebenfalls in der <code>functions.php</code> eingebunden werden. Anschließend sind alle Standard-Widgets verschwunden und können auch nicht vom Benutzer wieder aktiviert werden.</p>
<pre class="brush: php; title: ; notranslate">
// remove standard dashboard-widgets
function remove_dashboard_widgets() {
  global $wp_meta_boxes;
  unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_plugins']);
  unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_recent_comments']);
  unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_incoming_links']);
  unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_right_now']);
  unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_primary']);
  unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_secondary']);
  unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_quick_press']);
  unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_recent_drafts']);
} 

add_action('wp_dashboard_setup', 'remove_dashboard_widgets' );
</pre>
<p class="small">via: <a href="http://hankis.me/modifying-the-wordpress-dashboard" target="_blank">hankis.me</a>, <a href="http://wp-snippets.com/disable-dashboard-widgets/" target="_blank">wp-snippets.com</a></p>
<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></content:encoded>
			<wfw:commentRss>http://kulturbanause.de/2011/06/wordpress-dashboard-individuelle-widgets-hinzufugen-standard-widgets-loschen/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Text im Footer des WordPress-Backends anpassen</title>
		<link>http://kulturbanause.de/2011/06/text-im-footer-des-wordpress-backends-anpassen/</link>
		<comments>http://kulturbanause.de/2011/06/text-im-footer-des-wordpress-backends-anpassen/#comments</comments>
		<pubDate>Wed, 15 Jun 2011 05:30:07 +0000</pubDate>
		<dc:creator>Jonas Hellwig</dc:creator>
				<category><![CDATA[Tipps, Hacks, Snippets]]></category>
		<category><![CDATA[Dashboard]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://kulturbanause.de/?p=5511</guid>
		<description><![CDATA[<div><img width="140" height="140" src="http://kulturbanause.de/wp-content/uploads/2011/06/wordpress-backend-footer.png" class="attachment-post-thumbnail wp-post-image" alt="wordpress-backend-footer" title="wordpress-backend-footer" /></div>Im Footer der WordPress-Administrationsoberfläche, dem so genannten Dashboard, wird normalerweise folgender Standard-Text angezeigt: "Danke, dass du WordPress benutzt. &#124; WordPress Deutschland &#124; Dokumentation (en) &#124; Feedback (en)". Je nach Projekt mach es Sinn diesen Text zu entfernen, oder durch einen eigenen Text zu ersetzen. Insbesondere bei Kunden-Projekten möchte man als Webdesigner hier vielleicht eine Copyright-Information … </p><p><a href="http://kulturbanause.de/2011/06/text-im-footer-des-wordpress-backends-anpassen/" class="more-link">Diesen Beitrag zu Ende lesen</a><h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></description>
			<content:encoded><![CDATA[<div><img width="140" height="140" src="http://kulturbanause.de/wp-content/uploads/2011/06/wordpress-backend-footer.png" class="attachment-post-thumbnail wp-post-image" alt="wordpress-backend-footer" title="wordpress-backend-footer" /></div><p><strong>Im Footer der WordPress-Administrationsoberfläche, dem so genannten Dashboard, wird normalerweise folgender Standard-Text angezeigt: "<em>Danke, dass du WordPress benutzt. | WordPress Deutschland | Dokumentation (en) | Feedback (en)</em>". </strong><br />
Je nach Projekt mach es Sinn diesen Text zu entfernen, oder durch einen eigenen Text zu ersetzen. Insbesondere bei Kunden-Projekten möchte man als Webdesigner hier vielleicht eine Copyright-Information oder eine Verlinkung zur eigenen Hilfe-Seite integrieren. Ein paar Zeilen in der <code>functions.php</code> reichen dafür aus. </p>
<p><span id="more-5511"></span></p>
<h3>functions.php anpassen</h3>
<p>Öffnet die <code>function.php</code>, fügt folgenden PHP-Code ein und passt den Text entsprechend euren Vorstellungen an. </p>
<pre class="brush: php; title: ; notranslate">
// change backend-footer
function kb_backend_footer () {
    echo &quot;Webdesign- und Entwicklung: &lt;a href='http://kulturbanause.de' target='_blank'&gt;kulturbanause.de&lt;/a&gt;&quot;;
} 

add_filter('admin_footer_text', 'kb_backend_footer');
</pre>
<p>Die Änderungen wirken sich folgendermaßen auf die Darstellung im WordPress-Dashboard aus. </p>
<figure>
<img src="http://kulturbanause.de/wp-content/uploads/2011/06/wordpress-backend-footer-anpassen1.png" alt="wordpress-backend-footer-anpassen" title="wordpress-backend-footer-anpassen" width="500" height="252" class="alignnone size-full wp-image-5517" /><br />
</figure>
<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></content:encoded>
			<wfw:commentRss>http://kulturbanause.de/2011/06/text-im-footer-des-wordpress-backends-anpassen/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Facebooks Open-Graph-Protocol HTML5 valide einbinden</title>
		<link>http://kulturbanause.de/2011/05/facebooks-open-graph-protocol-html5-valide-einbinden/</link>
		<comments>http://kulturbanause.de/2011/05/facebooks-open-graph-protocol-html5-valide-einbinden/#comments</comments>
		<pubDate>Mon, 09 May 2011 05:00:48 +0000</pubDate>
		<dc:creator>Jonas Hellwig</dc:creator>
				<category><![CDATA[Tipps, Hacks, Snippets]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://kulturbanause.de/?p=5091</guid>
		<description><![CDATA[<div><img width="140" height="140" src="http://kulturbanause.de/wp-content/uploads/2011/05/facebook-open-graph-logo.jpg" class="attachment-post-thumbnail wp-post-image" alt="facebook-open-graph-logo" title="facebook-open-graph-logo" /></div>Facebooks Open-Graph-Schnittstelle ist eine tolle Möglichkeit um durch die Social Plugins, wie beispielsweise dem Like-Button, eine Vielzahl an Meta-Informationen an Facebook zu übermitteln. Wie ihr eure Website an den Graph anschließen könnt habe ich bereits in einem frühen Artikel beschrieben. Doch leider ist der Quellcode, den Facebook zur Integration des Open-Graphs zur Verfügung stellt, nicht … </p><p><a href="http://kulturbanause.de/2011/05/facebooks-open-graph-protocol-html5-valide-einbinden/" class="more-link">Diesen Beitrag zu Ende lesen</a><h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></description>
			<content:encoded><![CDATA[<div><img width="140" height="140" src="http://kulturbanause.de/wp-content/uploads/2011/05/facebook-open-graph-logo.jpg" class="attachment-post-thumbnail wp-post-image" alt="facebook-open-graph-logo" title="facebook-open-graph-logo" /></div><p><strong>Facebooks Open-Graph-Schnittstelle ist eine tolle Möglichkeit um durch die Social Plugins, wie beispielsweise dem Like-Button, eine Vielzahl an Meta-Informationen an Facebook zu übermitteln.</strong> <a href="http://kulturbanause.de/2010/11/facebook-power-teil-3-open-graph-protocol-nutzen/">Wie ihr eure Website an den Graph anschließen könnt habe ich bereits in einem frühen Artikel beschrieben.</a> Doch leider ist der Quellcode, den Facebook zur Integration des Open-Graphs zur Verfügung stellt, nicht HTML valide. Mit folgendem PHP-Snippet löst ihr dieses Problem. </p>
<p><span id="more-5091"></span></p>
<h3>Facebooks Zugriffe auf die Website abfangen</h3>
<p>Die Lösung ist eigentlich ganz einfach: zunächst wird abgefragt ob Facebook auf die Website zugreift und das Ergebnis in einer Funktion abgespeichert. Anschließend wird der Quellcode zur Integration des Open-Graph-Protocols nur noch dann ausgegeben, wenn Facebook nach den Daten sucht. </p>
<p>Die nachfolgende Funktion könnt ihr in die <code>functions.php</code> kopieren. Alternativ kann der Code auch mit in den <code>head</code> eurer Website geschrieben werden. </p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
function is_facebook(){
	if(!(stristr($_SERVER[&quot;HTTP_USER_AGENT&quot;],'facebook') === FALSE))
	return true;
}
?&gt;
</pre>
<p>Im <code>head</code> der Website wird anschließend dieses Snippet eingebunden. Der Code für den Open-Graph muss noch eingebunden werden. <a href="http://kulturbanause.de/2010/11/facebook-power-teil-3-open-graph-protocol-nutzen/">Wie das funktioniert, habe ich bereits in einem älteren Artikel zusammengefasst.</a></p>
<pre class="brush: php; title: ; notranslate">
&lt;?php if(is_facebook()){?&gt;

Hier wird der Quellcode für den Open-Graph geschrieben. 

&lt;?php } ?&gt;
</pre>
<p class="small">Dieses Snippet habe ich auf <a href="http://earthpeople.se/labs/2010/09/html5-validation-with-facebook-opengraph/" target="_blank">earthpeople.se</a> gefunden. Vielen Dank! </p>
<h3>Update: Google+ unterstützt ebenfalls das Open Graph Protocol</h3>
<p>Google+ unterstützt nun ebenfalls das Open Graph Protocol. Wenn ihr das oben genannte Snippet verwendet, so versteckt ihr die Infos zwar vor dem Validator - aber auch vor Google+. </p>
<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></content:encoded>
			<wfw:commentRss>http://kulturbanause.de/2011/05/facebooks-open-graph-protocol-html5-valide-einbinden/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Wörter in Kommentaren automatisch ersetzen</title>
		<link>http://kulturbanause.de/2011/04/worter-in-kommentaren-automatisch-ersetzen/</link>
		<comments>http://kulturbanause.de/2011/04/worter-in-kommentaren-automatisch-ersetzen/#comments</comments>
		<pubDate>Wed, 27 Apr 2011 07:50:41 +0000</pubDate>
		<dc:creator>Jonas Hellwig</dc:creator>
				<category><![CDATA[Tipps, Hacks, Snippets]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://kulturbanause.de/?p=4855</guid>
		<description><![CDATA[<div><img width="140" height="140" src="http://kulturbanause.de/wp-content/uploads/2011/04/wordpress-filter.jpg" class="attachment-post-thumbnail wp-post-image" alt="wordpress-filter" title="wordpress-filter" /></div>Es gibt unterschiedliche Gründe weshalb es sinnvoll sein kann bestimmte Wörter innerhalb der Kommentare zu ersetzen. Vielleicht möchtet Ihr den Umgangston auf eurer Website verbessern und filtert auf diese Weise Flüche und Schimpfwörter heraus. Eventuell möchtet Ihr auch über Affiliate-Links Geld verdienen und verlinkt bestimmte Keywords mit bezahlten Partnerseiten. Oder Ihr fangt häufige Tipp- oder … </p><p><a href="http://kulturbanause.de/2011/04/worter-in-kommentaren-automatisch-ersetzen/" class="more-link">Diesen Beitrag zu Ende lesen</a><h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></description>
			<content:encoded><![CDATA[<div><img width="140" height="140" src="http://kulturbanause.de/wp-content/uploads/2011/04/wordpress-filter.jpg" class="attachment-post-thumbnail wp-post-image" alt="wordpress-filter" title="wordpress-filter" /></div><p><strong>Es gibt unterschiedliche Gründe weshalb es sinnvoll sein kann bestimmte Wörter innerhalb der Kommentare zu ersetzen.</strong> Vielleicht möchtet Ihr den Umgangston auf eurer Website verbessern und filtert auf diese Weise Flüche und Schimpfwörter heraus. Eventuell möchtet Ihr auch über Affiliate-Links Geld verdienen und verlinkt bestimmte Keywords mit bezahlten Partnerseiten. Oder Ihr fangt häufige Tipp- oder Rechtschreibfehler ab, um die Qualität und die Lesbarkeit der Kommentare zu verbessern. Aus welchem Grund auch immer Ihr den Filter aktivieren wollt - alles was Ihr tun müsst ist ein kleines PHP-Snippet in die <code>functions.php</code> einsetzen.  Anschließend müsst Ihr nur noch die gewünschten Wörter und deren Ersetzung eingeben. </p>
<p><span id="more-4855"></span></p>
<h3>Bestimmte Wörter in den Kommentaren von WordPress ersetzen</h3>
<p>Kopiert folgenden Code in die <code>functions.php</code> und passt in den Zeilen 4 und 5 die Ziel-Wörter und die entsprechende Ersetzung an. Ihr könnt natürlich auch weitere Zeilen hinzufügen. </p>
<pre class="brush: php; title: ; notranslate">
add_filter( 'pre_comment_content', 'wps_filter_comment' );
function wps_filter_comment($comment) {
	$replace = array(
		'scheisse' =&gt; 's******',
		'kulturbanause' =&gt; '&lt;a href=&quot;http://kulturbanause.de&quot;&gt;kulturbanause&lt;/a&gt;'
	);
	$comment = str_replace(array_keys($replace), $replace, $comment);
	return $comment;
}
</pre>
<p>Je nachdem welche Wörter Ihr wie ersetzt, halte ich es für sinnvoll die Besucher über den eingebauten Filter zu informieren. </p>
<p class="small">Icon von <a href="http://www.iconfinder.com/icondetails/6048/128/filter_funnel_icon" target="_blank">iconfinder.net</a>. Code via <a href="http://wpsnipp.com/index.php/comment/replace-keywords-or-cursing-in-the-comments" target="_blank">wpsnipp</a></p>
<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></content:encoded>
			<wfw:commentRss>http://kulturbanause.de/2011/04/worter-in-kommentaren-automatisch-ersetzen/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>WordPress: wptexturize deaktivieren</title>
		<link>http://kulturbanause.de/2011/04/wordpress-wptexturize-deaktivieren/</link>
		<comments>http://kulturbanause.de/2011/04/wordpress-wptexturize-deaktivieren/#comments</comments>
		<pubDate>Sat, 16 Apr 2011 18:44:31 +0000</pubDate>
		<dc:creator>Jonas Hellwig</dc:creator>
				<category><![CDATA[Tipps, Hacks, Snippets]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Typografie]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://kulturbanause.de/?p=4741</guid>
		<description><![CDATA[<div><img width="140" height="140" src="http://kulturbanause.de/wp-content/uploads/2011/04/wp-tuxturize.jpg" class="attachment-post-thumbnail wp-post-image" alt="wp-tuxturize" title="wp-tuxturize" /></div>Die WordPress-Funktion wptexturize ist eigentlich sehr praktisch. Wenn Ihr innerhalb eines Beitrags bestimmte Zeichenketten verwendet, so filtert WordPress diese Elemente heraus und ersetzt sie durch hübschere bzw. korrekte Zeichen. Ein Beispiel: Wenn Ihr "..." (Punkt, Punkt, Punkt) schreibt, so korrigiert WordPress diesen typografischen Fehler und setzt das passende Zeichen "&#8230;" (hellip) ein. Eine Liste aller … </p><p><a href="http://kulturbanause.de/2011/04/wordpress-wptexturize-deaktivieren/" class="more-link">Diesen Beitrag zu Ende lesen</a><h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></description>
			<content:encoded><![CDATA[<div><img width="140" height="140" src="http://kulturbanause.de/wp-content/uploads/2011/04/wp-tuxturize.jpg" class="attachment-post-thumbnail wp-post-image" alt="wp-tuxturize" title="wp-tuxturize" /></div><p><strong>Die WordPress-Funktion <code>wptexturize</code> ist eigentlich sehr praktisch. Wenn Ihr innerhalb eines Beitrags bestimmte Zeichenketten verwendet, so filtert WordPress diese Elemente heraus und ersetzt sie durch hübschere bzw. korrekte Zeichen.</strong> Ein Beispiel: Wenn Ihr "..." (Punkt, Punkt, Punkt) schreibt, so korrigiert WordPress diesen typografischen Fehler und setzt das passende Zeichen "&hellip;" (hellip) ein. <a href="http://codex.wordpress.org/Function_Reference/wptexturize" target="_blank">Eine Liste aller unterstützten Zeichen findet Ihr im Codex. </a></p>
<p>Leider führt die Funktion häufig zu unerwünschten Ergebnissen. Insbesondere wenn Ihr Code-Snippets in Euren Artikeln einfügt, kann es zu fehlerhaften Ersetzungen kommen. Alles was Ihr in so einem Fall tun müsst, ist die Funktion zu deaktivieren. </p>
<p><span id="more-4741"></span></p>
<h3>Semantik</h3>
<p>Ein Tipp noch vorweg. Die Funktion <code>wptexturize</code> ersetzt nicht automatisch jedes erkannte Zeichen. Text der sich innerhalb bestimmter HTML-Tags befindet wird übersprungen. Im Detail ignoriert die Funktion den Inhalt folgender Elemente: <code>&lt;pre&gt;, &lt;code&gt;, &lt;kbd&gt;, &lt;style&gt;, &lt;script&gt;, &lt;tt&gt;</code><br />
Wenn Ihr das Markup Eures Artikels also semantisch wertvoll auszeichnet, sinkt das Risiko der Fehldarstellung auch bei aktivierter Funktion. </p>
<h3>Funktion deaktivieren</h3>
<p>Wenn Ihr dennoch die Funktion deaktivieren müsst, so öffnet die <code>functions.php</code> und fügt folgenden Code ein:</p>
<pre class="brush: php; title: ; notranslate">
remove_filter('the_title', 'wptexturize');
remove_filter('the_content', 'wptexturize');
remove_filter('the_excerpt', 'wptexturize');
</pre>
<p>Anschließend wird im Titel, im Content und im Artikelauszug kein Zeichen mehr ersetzt.</p>
<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></content:encoded>
			<wfw:commentRss>http://kulturbanause.de/2011/04/wordpress-wptexturize-deaktivieren/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress: Wiederkehrende Besucher mit Namen begrüßen</title>
		<link>http://kulturbanause.de/2011/03/wordpress-wiederkehrende-besucher-mit-namen-begrusen/</link>
		<comments>http://kulturbanause.de/2011/03/wordpress-wiederkehrende-besucher-mit-namen-begrusen/#comments</comments>
		<pubDate>Thu, 31 Mar 2011 12:22:25 +0000</pubDate>
		<dc:creator>Jonas Hellwig</dc:creator>
				<category><![CDATA[Tipps, Hacks, Snippets]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://kulturbanause.de/?p=4441</guid>
		<description><![CDATA[<div><img width="140" height="140" src="http://kulturbanause.de/wp-content/uploads/2011/03/wordpress-cookie.jpg" class="attachment-post-thumbnail wp-post-image" alt="wordpress-cookie" title="wordpress-cookie" /></div>Wenn Ihr in WordPress Besucher mit Ihrem Namen ansprechen wollt, so probiert es doch mal mit folgendem Tipp: Sobald ein Besucher einen Kommentar verfasst hat wird der Name des Users per Cookie abgespeichert. Vorausgesetzt natürlich, dass der Besucher in den Einstellungen seines Browsers Cookies nicht eingeschränkt hat. Der verwendete Name kann mittels PHP in eine … </p><p><a href="http://kulturbanause.de/2011/03/wordpress-wiederkehrende-besucher-mit-namen-begrusen/" class="more-link">Diesen Beitrag zu Ende lesen</a><h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></description>
			<content:encoded><![CDATA[<div><img width="140" height="140" src="http://kulturbanause.de/wp-content/uploads/2011/03/wordpress-cookie.jpg" class="attachment-post-thumbnail wp-post-image" alt="wordpress-cookie" title="wordpress-cookie" /></div><p><strong>Wenn Ihr in WordPress Besucher mit Ihrem Namen ansprechen wollt, so probiert es doch mal mit folgendem Tipp:</strong> Sobald ein Besucher einen Kommentar verfasst hat wird der Name des Users per Cookie abgespeichert. Vorausgesetzt natürlich, dass der Besucher in den Einstellungen seines Browsers Cookies nicht eingeschränkt hat.<br />
Der verwendete Name kann mittels PHP in eine Variable gespeichert und anschließend an einer beliebigen Stelle im Theme wieder ausgegeben werden. </p>
<p><span id="more-4441"></span></p>
<h3>PHP-Snippet</h3>
<p>Folgendes PHP-Snippet könnt Ihr an beliebiger Stelle in Eurem Theme verwenden.</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
 if(isset($_COOKIE['comment_author_'.COOKIEHASH])) {
  $visitor = $_COOKIE['comment_author_'.COOKIEHASH];
  echo &quot;Hallo &quot;. $visitor .&quot;! Schön, dass Du wieder da bist!&quot;;
 } 

 else {
  echo &quot;Hallo mein Freund! Schön, dass Du vorbei schaust!&quot;;
 }
?&gt;
</pre>
<h3>Live-Demo</h3>
<p>Ich selbst nutze diese Funktion übrigens auch im Header dieser Seite. Probiert es doch mal aus und schreibt einen Kommentar ;) </p>
<p class="small">Cookie-Icon von <a href="http://www.iconfinder.com/icondetails/17880/128/cake_cookie_food_icon" target="_blank">Iconfinder.net</a></p>
<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></content:encoded>
			<wfw:commentRss>http://kulturbanause.de/2011/03/wordpress-wiederkehrende-besucher-mit-namen-begrusen/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Fan-Gating für Facebook iFrame-Tabs: Inhalte nur für Fans</title>
		<link>http://kulturbanause.de/2011/03/fan-gating-fur-facebook-iframe-tabs-inhalte-nur-fur-fans/</link>
		<comments>http://kulturbanause.de/2011/03/fan-gating-fur-facebook-iframe-tabs-inhalte-nur-fur-fans/#comments</comments>
		<pubDate>Fri, 25 Mar 2011 10:45:27 +0000</pubDate>
		<dc:creator>Jonas Hellwig</dc:creator>
				<category><![CDATA[Tipps, Hacks, Snippets]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://kulturbanause.de/?p=4363</guid>
		<description><![CDATA[<div><img width="140" height="140" src="http://kulturbanause.de/wp-content/uploads/2011/03/facebook-developer.jpg" class="attachment-post-thumbnail wp-post-image" alt="facebook-developer" title="facebook-developer" /></div>Bei den mittlerweile veralteten FBML-Tabs von Facebook war alles noch so einfach. Ein kleines FBML-Snippet genügte und schon konnte man Inhalte spezifisch für Fans und Nicht-Fans ausgeben. Der große Nachteil war allerdings, dass die Inhalte nur ausgeblendet wurden und daher aufwändig mit CSS versteckt werden mussten. Fortgeschrittene Besucher konnten darüber hinaus im Source-Code die ausgeblendeten … </p><p><a href="http://kulturbanause.de/2011/03/fan-gating-fur-facebook-iframe-tabs-inhalte-nur-fur-fans/" class="more-link">Diesen Beitrag zu Ende lesen</a><h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></description>
			<content:encoded><![CDATA[<div><img width="140" height="140" src="http://kulturbanause.de/wp-content/uploads/2011/03/facebook-developer.jpg" class="attachment-post-thumbnail wp-post-image" alt="facebook-developer" title="facebook-developer" /></div><p><strong>Bei den mittlerweile veralteten FBML-Tabs von Facebook war alles noch so einfach. </strong>Ein kleines FBML-Snippet genügte und schon konnte man Inhalte spezifisch für Fans und Nicht-Fans ausgeben. Der große Nachteil war allerdings, dass die Inhalte nur ausgeblendet wurden und daher aufwändig mit CSS versteckt werden mussten. Fortgeschrittene Besucher konnten darüber hinaus im Source-Code die ausgeblendeten Inhalte trotzdem finden. Für Gewinnspiele oder Gutscheine war diese Technik daher wenig geeignet.<br />
Mit den von Facebook neu eingeführten iFrame-Tabs haben Developer nun bessere Möglichkeiten die Besucher anzusprechen und zum jeweiligen Fanpage-Ziel zu leiten. Diese Technik nennt sich Fan-Gating.<br />
In diesem Artikel zeige ich Euch wie einfach Ihr Inhalte entsprechend des Fan-Status ausgeben könnt.</p>
<p><span id="more-4363"></span></p>
<h3>Was sind die Vorraussetzungen?</h3>
<p>Um das hier gezeigte Beispiel umsetzen zu können müsst Ihr bereits einen iFrame-Tab eingerichtet haben. Wie das geht habe ich bereits in einem früheren Artikel beschrieben. </p>
<ul>
<li><a href="http://www.kulturbanause.de/2011/02/facebook-fanpage-mit-iframe-tabs-erweitern/">Facebook: Fan-Page mit iFrame-Tabs erweitern</a></li>
</ul>
<p>Darüber hinaus muss der Server auf dem die Inhalte des iFrame-Tabs abgelegt wurden über PHP5 verfügen.</p>
<h3>Dateien vorbereiten</h3>
<p>Ihr benötigt für dieses Beispiel später drei verschiedene PHP-Dateien. Eine <code>index.php</code>, eine <code>facebook.php</code> und eine <code>base_facebook.php</code>.<br />
Die <code>index.php</code> stellt die Inhalte Eures iFrame-Tabs dar, die <code>facebook.php</code> sowie <code>base_facebook.php</code> laden wird von Facebook herunter. Diese Dateien sind Bestandteil des Facebook Software Developer Kits (SDK) und geben Informationen über den Besucher in einer Variable aus. Diese Dateien müssen von Euch nicht verändert werden. Soviel zum Hintergrund. </p>
<h3>Facebook SDK herunterladen</h3>
<p>Ladet euch zunächst unter <a href="https://github.com/facebook/php-sdk/zipball/master" target="_blank">https://github.com/facebook/php-sdk/zipball/master</a> das Zip-Archiv von Facebook herunter. Innerhalb dieses Archivs findet Ihr die Dateien <code>facebook.php</code> und <code>base_facebook.php</code>.</p>
<h3>index.php einrichten</h3>
<p>Erstellt nun eine Datei namens<code> index.php</code> und fügt folgenden Code ein. Anschließend könnt Ihr alle drei Dateien in das entsprechende Verzeichnis auf dem Server hochladen. </p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
 require 'facebook.php';
 $app_id = &quot;DEINE APP ID&quot;;
 $app_secret = &quot;DEINE SECRET APP ID&quot;;
 $facebook = new Facebook(array(
 'appId' =&gt; $app_id,
 'secret' =&gt; $app_secret,
 'cookie' =&gt; true
));

$signed_request = $facebook-&gt;getSignedRequest();
$page_id = $signed_request[&quot;page&quot;][&quot;id&quot;];
$page_admin = $signed_request[&quot;page&quot;][&quot;admin&quot;];
$page_fan = $signed_request[&quot;page&quot;][&quot;liked&quot;];
$user_country = $signed_request[&quot;user&quot;][&quot;country&quot;];
$user_locale= $signed_request[&quot;user&quot;][&quot;locale&quot;];

if ($page_fan) {
 echo &quot;Diesen Inhalt siehst du nur weil du ein Fan bist. Danke! &quot;;
}

else {
 echo &quot;Bitte klicke auf 'gefällt mir' um den hier versteckten Inhalt anzuzeigen. &quot;;
}
?&gt;
</pre>
<figure><img src="http://kulturbanause.de/wp-content/uploads/2011/03/facebook-upload-directory.jpg" alt="Facebook iFrame Tab Upload Directory" title="facebook-upload-directory" width="500" height="93" class="alignnone size-full wp-image-4366" /></figure>
<p>Achtet darauf, dass alle drei Dateien im gleichen Verzeichnis liegen und die Einstellungen innerhalb Eurer Facebook-App korrekt sind. Solltet Ihr zuvor also beispielsweise eine <code>index.html</code> verwendet haben so muss diese Angabe jetzt natürlich angepasst werden. Die App-Einstellungen findet Ihr unter: <a href="http://www.facebook.com/developers/apps.php" target="_blank">facebook.com/developers/apps.php</a></p>
<p>In der zweiten Zeile wird die zuvor heruntergeladene <code>facebook.php</code> benötigt. In Zeile drei und vier dieses Beispiels müsst Ihr Eure spezifischen APP-IDs verwenden. Beide Angaben findet Ihr unter dem oben genannten Link. </p>
<p>In den Zeilen 12-16 seht Ihr welche Daten abgefragt werden können. Neben dem Fan-Status ist dies beispielsweise auch das Land oder die Seiten-ID.<br />
In diesem Beispiel verwenden wir die Variable <code>$page_fan</code> und geben in den Zeilen 18-24 entsprechend die Inhalte aus. </p>
<h3>Beispiel</h3>
<p>Ein funktionierendes Beispiel des hier gezeigten Snippets findet Ihr auf meiner Facebook-Fanpage. </p>
<ul>
<li><a href="http://www.facebook.com/kulturbanause.de/">facebook.com/kulturbanause.de/</a>
</li>
</ul>
<p><small>via: <a href="http://www.hyperarts.com/blog/customizing-facebook-iframe-application-signed_request_reveal_tab/" target="_blank">hyperarts.com</a></small></p>
<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></content:encoded>
			<wfw:commentRss>http://kulturbanause.de/2011/03/fan-gating-fur-facebook-iframe-tabs-inhalte-nur-fur-fans/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>Beliebigen Text in WordPress ersetzen</title>
		<link>http://kulturbanause.de/2011/03/beliebigen-text-in-wordpress-ersetzen/</link>
		<comments>http://kulturbanause.de/2011/03/beliebigen-text-in-wordpress-ersetzen/#comments</comments>
		<pubDate>Mon, 21 Mar 2011 10:49:12 +0000</pubDate>
		<dc:creator>Jonas Hellwig</dc:creator>
				<category><![CDATA[Tipps, Hacks, Snippets]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://kulturbanause.de/?p=4346</guid>
		<description><![CDATA[<div><img width="140" height="140" src="http://kulturbanause.de/wp-content/uploads/2011/03/woerter-ersetzen-wordpress.jpg" class="attachment-post-thumbnail wp-post-image" alt="woerter-ersetzen-wordpress" title="woerter-ersetzen-wordpress" /></div>In größeren Websites oder Blogs kann es durchaus sinnvoll sein bestimmte Wörter automatisch mit anderen Zeichenketten zu ersetzen. Besonders beliebt sind hier natürlich die Affiliate-Links über die der Website-Betreiber Geld verdienen kann. Aber auch interne Verlinkungen oder erweiterte Erklärungen zu einem Wort - beispielsweise bei Abkürzungen mit dem &#60;abbr&#62;-Attribut - bieten sich an. Um gezielt … </p><p><a href="http://kulturbanause.de/2011/03/beliebigen-text-in-wordpress-ersetzen/" class="more-link">Diesen Beitrag zu Ende lesen</a><h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></description>
			<content:encoded><![CDATA[<div><img width="140" height="140" src="http://kulturbanause.de/wp-content/uploads/2011/03/woerter-ersetzen-wordpress.jpg" class="attachment-post-thumbnail wp-post-image" alt="woerter-ersetzen-wordpress" title="woerter-ersetzen-wordpress" /></div><p><strong>In größeren Websites oder Blogs kann es durchaus sinnvoll sein bestimmte Wörter automatisch mit anderen Zeichenketten zu ersetzen. </strong>Besonders beliebt sind hier natürlich die Affiliate-Links über die der Website-Betreiber Geld verdienen kann. Aber auch interne Verlinkungen oder erweiterte Erklärungen zu einem Wort - beispielsweise bei Abkürzungen mit dem <code>&lt;abbr&gt;</code>-Attribut - bieten sich an.<br />
Um gezielt Wörter zu filtern und anschließend zu ersetzen könnt Ihr entweder ein Plugin verwenden oder Ihr fügt ganz einfach das nachfolgende Snippet in die <code>functions.php</code> ein. </p>
<p><span id="more-4346"></span></p>
<h3>Snippet in die functions.php einfügen</h3>
<p>Folgendes PHP-Snippet muss in die <code>functions.php</code> Eures WordPress-Themes eingefügt werden. Achtet darauf, dass immer nur ein Wort ersetzt werden kann und dass Groß- und Kleinschreibung beachtet werden müssen. </p>
<pre class="brush: php; title: ; notranslate">
// Wort ersetzen
function text_ersetzen($wort){
    $ersetzen = array(
	// Zu ersetzendes Wort =&gt; Neuer Text
        'Lorem' =&gt; '&lt;abbr title=&quot;#&quot;&gt;Lorem&lt;/abbr&gt;',
        'ipsum' =&gt; '&lt;a href=&quot;#&quot;&gt;ipsum&lt;/a&gt;',
	'dolor' =&gt; '&lt;a href=&quot;#&quot;&gt;dolor&lt;/a&gt;'
    );
    $wort = str_replace(array_keys($ersetzen), $ersetzen, $wort);
    return $wort;
}

// WP-Filter für den Inhalt und den Exerpt (Inhalts-Auszug)
add_filter('the_content', 'text_ersetzen');
add_filter('the_excerpt', 'text_ersetzen');
</pre>
<p><small>via <a href="http://wpsnipp.com/" target="_blank">wpsnipp</a></small></p>
<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></content:encoded>
			<wfw:commentRss>http://kulturbanause.de/2011/03/beliebigen-text-in-wordpress-ersetzen/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>WordPress Update-Hinweise ausblenden</title>
		<link>http://kulturbanause.de/2011/01/wordpress-update-hinweise-ausblenden/</link>
		<comments>http://kulturbanause.de/2011/01/wordpress-update-hinweise-ausblenden/#comments</comments>
		<pubDate>Mon, 31 Jan 2011 14:01:09 +0000</pubDate>
		<dc:creator>Jonas Hellwig</dc:creator>
				<category><![CDATA[Tipps, Hacks, Snippets]]></category>
		<category><![CDATA[Dashboard]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://kulturbanause.de/?p=3866</guid>
		<description><![CDATA[<div><img width="140" height="140" src="http://kulturbanause.de/wp-content/uploads/2011/01/wordpress-update-bar.jpg" class="attachment-post-thumbnail wp-post-image" alt="wordpress-update-bar" title="wordpress-update-bar" /></div>Im Backend von WordPress wird ein angemeldeter Besucher in Form eines gelben Info-Balkens informiert wenn eine neue WordPress-Version bereit steht. Per Klick kann anschließend die neue Version installiert werden. Dieser Hinweis ist eigentlich recht praktisch - kann aber mitunter auch ein wenig nerven. Insbesondere wenn Ihr nur der Administrator eines Blogs seid und Euch vielleicht … </p><p><a href="http://kulturbanause.de/2011/01/wordpress-update-hinweise-ausblenden/" class="more-link">Diesen Beitrag zu Ende lesen</a><h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></description>
			<content:encoded><![CDATA[<div><img width="140" height="140" src="http://kulturbanause.de/wp-content/uploads/2011/01/wordpress-update-bar.jpg" class="attachment-post-thumbnail wp-post-image" alt="wordpress-update-bar" title="wordpress-update-bar" /></div><p><strong>Im Backend von WordPress wird ein angemeldeter Besucher in Form eines gelben Info-Balkens informiert wenn eine neue WordPress-Version bereit steht.</strong> Per Klick kann anschließend die neue Version installiert werden. Dieser Hinweis ist eigentlich recht praktisch - kann aber mitunter auch ein wenig nerven. Insbesondere wenn Ihr nur der Administrator eines Blogs seid und Euch vielleicht entschieden habt nur Security-Updates zu installieren und alle Feature-Updates zu überspringen möchtet Ihr die Support-Anfragen der Redakteure vielleicht ein wenig eindämmen. </p>
<p><span id="more-3866"></span></p>
<p>Wenn Ihr diese Info verstecken wollt so fügt folgendes Snippet in die <em>functions.php</em> ein. </p>
<pre class="brush: php; title: ; notranslate">
add_filter( 'pre_site_transient_update_core', create_function( '$a', &quot;return null;&quot; ) );
</pre>
<p><small>via: <a target="_blank" href="http://wp-snippets.com/disable-wordpress-update/">WP Snippets</a></small></p>
<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></content:encoded>
			<wfw:commentRss>http://kulturbanause.de/2011/01/wordpress-update-hinweise-ausblenden/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

