<?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>Das WordPress-Buch &#187; FAQ</title>
	<atom:link href="http://wordpress-buch.bueltge.de/category/faq/feed/" rel="self" type="application/rss+xml" />
	<link>http://wordpress-buch.bueltge.de</link>
	<description>Das Blog zum Buch: Das WordPress-Buch – Vom Blog zum Content-Management-System</description>
	<lastBuildDate>Thu, 25 Aug 2011 09:00:01 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Conditional Tags (er)kennen</title>
		<link>http://wordpress-buch.bueltge.de/conditional-tags-erkennen/29/</link>
		<comments>http://wordpress-buch.bueltge.de/conditional-tags-erkennen/29/#comments</comments>
		<pubDate>Thu, 20 Dec 2007 14:32:21 +0000</pubDate>
		<dc:creator>Frank</dc:creator>
				<category><![CDATA[FAQ]]></category>
		<category><![CDATA[Mehrwert]]></category>
		<category><![CDATA[Conditional Tags]]></category>

		<guid isPermaLink="false">http://wordpress-buch.bueltge.de/conditional-tags-erkennen/29/</guid>
		<description><![CDATA[Es gibt eine ganze Reihe der sogenannten Conditional Tags. Ab und dann hat WordPress die Conditional Tags erweitert und es gibt mehr, als es die Doku (Codex) von WordPress glauben mache will. Im Buch wird eine Auswahl an Tags im &#8230; <a href="http://wordpress-buch.bueltge.de/conditional-tags-erkennen/29/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" src='http://wordpress-buch.bueltge.de/wp-content/uploads/2007/07/is_home-128.png' alt='is_home' /></p>
<p>Es gibt eine ganze Reihe der sogenannten Conditional Tags. Ab und dann hat WordPress die Conditional Tags erweitert und es gibt mehr, als es die <a href="http://codex.wordpress.org/Conditional_Tags">Doku (Codex)</a> von WordPress glauben mache will. Im Buch wird eine Auswahl an Tags im Kapitel 7.2.3 erklärt.</p>
<p>Nun wurde mir die Frage schon mehrfach zugetragen, wie erkennt man denn um welche Ausgabe es sich handelt und welchen Tag man einsetzen muss.<span id="more-29"></span> Viele der Tags erklären sich schon am Namen und den Zusammenhang zum Template.</p>
<p><strong>Beispiel:</strong><br />
<code>is_single()</code> --> <code>single.php</code><br />
Dabei handelt es sich um die Ausgabe <strong>eines</strong> Artikels.</p>
<p>Will man aber an einem bestehenden Theme die Ausgabe prüfen oder die Tags besser verstehen, so bietet sich ein <a href="http://bueltge.de/wordpress-theme-debuggen/536/">kleines Werkzeug</a> an, welches ich auf meinem privates Blog zur Verfügung stelle und eine Reihe an Informationen gebe. </p>
<p>Aktuell kommt WordPress Version 2.3.2 mit folgenden Tags im System.</p>
<ul>
<li><code>is_admin</code> Wenn im Adminbereich</li>
<li><code>is_archive</code> Ob ein Archiv dargestellt wird</li>
<li><code>is_attachment</code> Anhang im Beitrag oder Seite</li>
<li><code>is_author</code> Autorenseite</li>
<li><code>is_category</code> Kategorie Archiv oder Parameter</li>
<li><code>is_tag</code> Tag-seite</li>
<li><code>is_comments_popup</code> Kommentar per Popup Funktion</li>
<li><code>is_date</code> Archivseite auf Basis Datum</li>
<li><code>is_day</code> Archivseite auf Basis Tag</li>
<li><code>is_feed</code> wenn es ein Feed ist</li>
<li><code>is_home</code> Startseite (nicht nur die statische Seite)</li>
<li><code>is_month</code> Archivseite auf Basis Monat</li>
<li><code>is_page</code> statische Seite</li>
<li><code>is_paged</code> Seite/ Weblog wurde &bdquo;geblättert&rdquo;</li>
<li><code>is_preview</code> Vorschau</li>
<li><code>is_robots</code> </li>
<li><code>is_search</code> Suchseite</li>
<li><code>is_single</code> einzelner Beitrag</li>
<li><code>is_singular</code> </li>
<li><code>is_time</code> Archivseite auf Basis Zeit</li>
<li><code>is_trackback</code> wenn es es sich um Pingback oder Trackback handelt</li>
<li><code>is_year</code> Archivseite auf Basis Jahr</li>
<li><code>is_404</code> Fehlerseite 404</li>
</ul>
<hr /><small>Author des Beitrags: Frank, <a href="http://wordpress-buch.bueltge.de/conditional-tags-erkennen/29/#comments" title="to the comments">3 Kommentare</a> zum Beitrag<br />&copy; <a href="http://www.wordpressbuch.de">WordPress-Buch</a>, All rights reserved / Alle Rechte vorbehalten. (ID: WPB3a6Be6Da38)</small></p>
]]></content:encoded>
			<wfw:commentRss>http://wordpress-buch.bueltge.de/conditional-tags-erkennen/29/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Userlevel bezogene Ausgabe im Template</title>
		<link>http://wordpress-buch.bueltge.de/userlevel-bezogene-ausgabe-im-template/28/</link>
		<comments>http://wordpress-buch.bueltge.de/userlevel-bezogene-ausgabe-im-template/28/#comments</comments>
		<pubDate>Wed, 10 Oct 2007 13:09:39 +0000</pubDate>
		<dc:creator>Frank</dc:creator>
				<category><![CDATA[FAQ]]></category>
		<category><![CDATA[Mehrwert]]></category>
		<category><![CDATA[Berechtigung]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[User Level]]></category>

		<guid isPermaLink="false">http://wordpress-buch.bueltge.de/userlevel-bezogene-ausgabe-im-template/28/</guid>
		<description><![CDATA[Soll die Ausgabe von einigen Inhalten auf dem Blog nur Personen zugänglich sein, die entsprechende Rechte in Ihrem Weblog haben, so kann man innerhalb des Templates eine Abfrage hinterlegen. Mit folgendem Code wird geprüft, ob der User eingeloggt ist und &#8230; <a href="http://wordpress-buch.bueltge.de/userlevel-bezogene-ausgabe-im-template/28/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" src="http://wordpress-buch.bueltge.de/wp-content/uploads/2007/07/roles_128.png" alt="Roles" /></p>
<p>Soll die Ausgabe von einigen Inhalten auf dem Blog nur Personen zugänglich sein, die entsprechende Rechte in Ihrem Weblog haben, so kann man innerhalb des Templates eine Abfrage hinterlegen.</p>
<p>Mit folgendem Code wird geprüft, ob der User eingeloggt ist und ob er die entsprechende Berechtigung hat, dabei stehen die User_Level 0-10 zur Verfügung.<br />
<span id="more-28"></span><br />
Wie sich die einzelnen Berechtigungen auswirken ist im <a title="zum WordPress Codex-Roles_and_Capabilities" href="http://codex.wordpress.org/Roles_and_Capabilities">Codex</a> ausführlich nachzulesen.</p>
<pre>&lt;?php if (intval($userdata-&gt;user_level) &gt;= 9 ) {
function();
. . .
?&gt;</pre>
<p><strong>Update:</strong><br />
Tobias weist mich darauf hin, Danke. Ich bringe gleich mal ein Update, denn WordPress gibt den Nutzer dafür seit geraumer Zeit eine Funktion in die Hand.</p>
<pre>&lt;?php if( current_user_can('level_10') ) {
function();
. . .
?&gt;</pre>
<p>In einem Template könnte man es dann wie folgt nutzen.</p>
<pre><code>
&lt;?php if( current_user_can('level_10') ) { echo 'Level 10'; } else { echo '&lt; LEVEL 10'; } ?&gt;
</code></pre>
<p>Das obige Beispiel gibt <em>Level 10</em> aus, wenn der angemeldete User über Adminrechte verfügt, alternativ wird <em>&lt; LEVEL 10</em> ausgegeben.</p>
<p>Benötigt man zusätzlich das User-ID, dann ist es wie folgt zu lösen. Die obige Version sollte aber in den meisten Fällen ausreichen.</p>
<pre>&lt;?php global $user_ID; if( $user_ID ) : ?&gt;

&lt;?php if( current_user_can('level_10') ) : ?&gt;

&lt;p&gt;Inhalt, nur fuer den Admin (Level 10)&lt;/p&gt;

&lt;?php else : ?&gt;

&lt;?php endif; ?&gt;

&lt;?php endif; ?&gt;</pre>
<p>Folgende Tabelle stellt eine Übersicht der Berechtigungen in WordPress dar.</p>
<table id="tab" class="center" border="0" summary="User_Level Zuordnung Benutzerrolle">
<tbody>
<tr class="alt">
<th>Rolle</th>
<th>User Level</th>
</tr>
<tr>
<td>Administrator</td>
<td>0 - 10</td>
</tr>
<tr class="alt">
<td>Herausgeber</td>
<td>0 - 7</td>
</tr>
<tr>
<td>Autor</td>
<td>0 - 2</td>
</tr>
<tr class="alt">
<td>Mitarbeiter</td>
<td>0 - 1</td>
</tr>
<tr>
<td>Registrierter Leser</td>
<td>0</td>
</tr>
</tbody>
</table>
<hr /><small>Author des Beitrags: Frank, <a href="http://wordpress-buch.bueltge.de/userlevel-bezogene-ausgabe-im-template/28/#comments" title="to the comments">4 Kommentare</a> zum Beitrag<br />&copy; <a href="http://www.wordpressbuch.de">WordPress-Buch</a>, All rights reserved / Alle Rechte vorbehalten. (ID: WPB3a6Be6Da38)</small></p>
]]></content:encoded>
			<wfw:commentRss>http://wordpress-buch.bueltge.de/userlevel-bezogene-ausgabe-im-template/28/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>is_home: Informationen nur! auf der Startseite</title>
		<link>http://wordpress-buch.bueltge.de/is_home-informationen-nur-auf-der-startseite/8/</link>
		<comments>http://wordpress-buch.bueltge.de/is_home-informationen-nur-auf-der-startseite/8/#comments</comments>
		<pubDate>Fri, 10 Aug 2007 10:44:04 +0000</pubDate>
		<dc:creator>Frank</dc:creator>
				<category><![CDATA[FAQ]]></category>
		<category><![CDATA[Conditional Tags]]></category>

		<guid isPermaLink="false">http://wordpress-buch.bueltge.de/is_home-informationen-nur-auf-der-startseite/8/</guid>
		<description><![CDATA[Ein Frage zu den Conditional-Tags, die ich hier näher erläutern möchte: Warum ist der Tag is_home noch immer gesetzt (TRUE), wenn man auf der Startseite "blättert" ? Der Conditional-Tag is_home() fragt die Startseite ab - richtig. Allerdings ist es so, &#8230; <a href="http://wordpress-buch.bueltge.de/is_home-informationen-nur-auf-der-startseite/8/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" src="http://wordpress-buch.bueltge.de/wp-content/uploads/2007/07/is_home-128.png" alt="is_home" /><strong>Ein Frage zu den Conditional-Tags, die ich hier näher erläutern möchte: Warum ist der Tag <code>is_home</code> noch immer gesetzt (TRUE), wenn man auf der Startseite "blättert" ?</strong></p>
<p>Der Conditional-Tag <code>is_home()</code> fragt die Startseite ab - richtig. Allerdings ist es so, wenn man die Startseite über das "Blättern" der Seiten verlässt, dann ist im Sinne von WordPress noch immer die Startseite aktiv.<br />
Damit die Information wirklich nur auf der Startseite untergebracht ist, muss man mit einem weiteren Tag kombinieren.<br />
<span id="more-8"></span></p>
<h3>Ein Beispiel</h3>
<p>Die Abfrage der Startseite könnte im Template folgendermaßen aussehen:<br />
<code><br />
&lt;?php if ( is_home() ) { ?&gt;<br />
&lt;p&gt;Informationen stehen auf der Startseite und allen weiteren Seiten, die durch das Baettern erreicht werden.&lt;/p&gt;<br />
&lt;?php } ?&gt;<br />
</code></p>
<p>Damit die Ausgabe auch wirklich nur auf der Startseite erscheint, muss abgefragt werden, ob es sich NICHT (!) um eine Seite handelt, die durch "Blättern" erreicht wurde.<br />
<code><br />
&lt;?php if ( is_home() &amp;&amp; !is_paged() ) { ?&gt;<br />
&lt;p&gt;Informationen stehen nur auf der Startseite.&lt;/p&gt;<br />
&lt;?php } ?&gt;<br />
</code></p>
<h3>Update</h3>
<p>Mit der Einführung von WordPress 2.5 gibt es einen neuen Conditional Tag der diese Aufgabe exakt übernimmt, kein umständliches abfragen mehr.<br />
<code>is_front_page()</code></p>
<p>Das obige Beispiel sieht dann wie folgt aus.<br />
<code><br />
&lt;?php if ( is_front_page() ) { ?&gt;<br />
&lt;p&gt;Informationen stehen nur auf der Startseite.&lt;/p&gt;<br />
&lt;?php } ?&gt;<br />
</code><br />
<hr /><small>Author des Beitrags: Frank, <a href="http://wordpress-buch.bueltge.de/is_home-informationen-nur-auf-der-startseite/8/#comments" title="to the comments">2 Kommentare</a> zum Beitrag<br />&copy; <a href="http://www.wordpressbuch.de">WordPress-Buch</a>, All rights reserved / Alle Rechte vorbehalten. (ID: WPB3a6Be6Da38)</small></p>
]]></content:encoded>
			<wfw:commentRss>http://wordpress-buch.bueltge.de/is_home-informationen-nur-auf-der-startseite/8/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

