<?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>Schweizer WordPress Magazin &#187; Template Tags</title>
	<atom:link href="http://wp-magazin.ch/tag/template-tags/feed/" rel="self" type="application/rss+xml" />
	<link>http://wp-magazin.ch</link>
	<description>WordPress verstehen und anwenden</description>
	<lastBuildDate>Mon, 02 Apr 2012 11:45:40 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>Kommentar-Template verändern ab WordPress 2.7</title>
		<link>http://wp-magazin.ch/blog/kommentar-template-veraendern-ab-wordpress-27-2586/</link>
		<comments>http://wp-magazin.ch/blog/kommentar-template-veraendern-ab-wordpress-27-2586/#comments</comments>
		<pubDate>Thu, 07 May 2009 16:02:49 +0000</pubDate>
		<dc:creator>Pascal Birchler</dc:creator>
				<category><![CDATA[Anleitungen]]></category>
		<category><![CDATA[Kommentare]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Template Tags]]></category>

		<guid isPermaLink="false">http://wp-magazin.ch/?p=2586</guid>
		<description><![CDATA[Ziel dieses Beitrags ist es, die Ausgabe der Kommentare ab WordPress 2.7 manuell zu verändern, weil die WordPress-eigene Darstellung nicht für jedes Design und jeden Blog geeignet ist.]]></description>
			<content:encoded><![CDATA[<p>Mein letztes kleines Projekt war die Anpassung eines WordPress Themes an WordPress 2.7, wo meistens die verschachtelten Kommentare eine Hauptrolle spielen. Weil man nämlich dafür im Kommentar-Template einiges umstellen muss, erkläre ich euch am besten mal, wie das geht. Ziel dieses Beitrags ist es, die Ausgabe der Kommentare ab WordPress 2.7 manuell zu verändern, weil die WordPress-eigene Darstellung nicht für jedes Design und jeden Blog geeignet ist.</p>
<p>Früher sah das Kommentar-Template so aus:</p>
<pre><code>&lt;?php if ($comments) : ?&gt;
	&lt;h2&gt;&lt;?php comments_number('0 Kommentare', '1 Kommentare', '% Kommentare' ); ?&gt;&lt;/h2&gt;
	&lt;ul&gt;
	&lt;?php foreach ($comments as $comment) : ?&gt;
	&lt;li id="comment-&lt;?php echo $commentcount ?&gt;"&gt;

	&lt;?php comment_author_link(); ?&gt;
	?&gt; am &lt;?php comment_date('j. F Y') ?&gt; um &lt;?php comment_time() ?&gt;&lt;/p&gt;
	&lt;?php if ($comment-&gt;comment_approved == '0') : ?&gt;
	Dein Kommentar muss noch gepr&uuml;ft werden.&lt;?php endif; ?&gt;
	&lt;?php comment_text() ?&gt;
	&lt;?php edit_comment_link('Kommentar bearbeiten'); ?&gt;
	&lt;/li&gt;
&lt;?php $commentcount++; endforeach; /* end for each comment */ ?&gt;
&lt;/ul&gt;

&lt;?php endif; ?&gt;</code></pre>
<p>Heute ist es ganz anders. Nichts mehr mit lästigen Variablen un eher zweckmässigen Funktionen. Ab WordPress 2.7 hat das Kommentar-Template de facto den gleichen Stand wie die Beiträge, da es jetzt eine eigene Loop ist. Eine Loop für Kommentare eben. Im Vergleich zu vorher ist das neue Template auch ein wenig schlanker geworden. Der Kern ist der hervorgehobene Template Tag <code>&lt;?php wp_list_comments(); ?&gt;</code></p>
<pre><code>&lt;?php if ( have_comments() ) : ?&gt;
	&lt;h3&gt;&lt;?php comments_number('0 Kommentare', '1 Kommentar', '% Kommentare' );?&gt;&lt;/h3&gt;
	&lt;ul class="commentlist"&gt;
		&lt;?php wp_list_comments('type=comment&#038;callback=magazin_comment'); ?&gt;
	&lt;/ul&gt;

	&lt;div class="navigation"&gt;
		&lt;div class="alignleft"&gt;&lt;?php previous_comments_link() ?&gt;&lt;/div&gt;
		&lt;div class="alignright"&gt;&lt;?php next_comments_link() ?&gt;&lt;/div&gt;
	&lt;/div&gt;
 &lt;?php else : // Falls es noch keine Kommentare zum Beitrag gibt ?&gt;
	&lt;?php if ('open' == $post-&gt;comment_status) : ?&gt;
	 &lt;?php else : // comments are closed ?&gt;
		&lt;p&gt;Kommentare sind geschlossen.&lt;/p&gt;
&lt;?php endif; endif; ?&gt;</code></pre>
<p>Jetzt haben wir also schon eine vernünftige Basis, die aber noch einiges an Erklärungen bedarf! Die ersten Zeilen dürften klar sein, da die Funktionen doch recht aussagekräftige Namen haben. Der Container mit den zwei Template Tags <code>&lt;?php previous_comments_link() ?&gt;</code> und <code>&lt;?php next_comments_link() ?&gt;</code> sorgt übrigens für die Navigation, falls die Kommentare auf mehrere Seiten verteilt sind. Dies kann man aber in den WordPress Einstellungen deaktivieren, was dann diesen Code-Teil überflüssig macht.</p>
<p>Habt ihr gesehen, dass ab WordPress 2.7 die Angaben über Kommentierer und Datum nicht mehr direkt im Template stehen? Für diese hat WordPress nämlich schon eine Vorlage. Wer diese Vorlage ändern will, braucht dazu nur <code>&lt;?php wp_list_comments(); ?&gt;</code> zu erweitern! Und zwar um den Parameter <code>'callback=myown_comments'</code>. Folglich sieht diese Zeile nun so aus: <code>&lt;?php wp_list_comments('callback=myown_comments'); ?&gt;</code>.</p>
<p>Jetzt muss man nur noch folgende Zeilen in der <code>functions.php</code> des Themes einfügen und schon kann man die Ausgabe nach Belieben verändern!</p>
<pre><code>&lt;?php function myown_comments($comment, $args, $depth) {
   $GLOBALS['comment'] = $comment; ?&gt;
   &lt;li &lt;?php comment_class(); ?&gt; id="li-comment-&lt;?php comment_ID() ?&gt;"&gt;
     &lt;div id="comment-&lt;?php comment_ID(); ?&gt;"&gt;
      &lt;div class="comment-author vcard"&gt;
         &lt;?php echo get_avatar($comment,$size='48',$default='&lt;path_to_url&gt;' ); ?&gt;

         &lt;?php printf(__('%s says:'), get_comment_author_link()) ?&gt;
      &lt;/div&gt;
		&lt;?php if ($comment-&gt;comment_approved == '0') : ?&gt;
	&lt;em&gt;&lt;?php _e('Your comment is awaiting moderation.') ?&gt;&lt;/em&gt;
	&lt;br /&gt;
	&lt;?php endif; ?&gt;

	&lt;div class="comment-meta commentmetadata"&gt;
	&lt;a href="&lt;?php echo htmlspecialchars(
	get_comment_link( $comment-&gt;comment_ID ) ) ?&gt;"&gt;
	&lt;?php printf(__('%1$s at %2$s'), get_comment_date(),  get_comment_time()) ?&gt;&lt;/a&gt;
	&lt;?php edit_comment_link(__('(Edit)'),'  ','') ?&gt;&lt;/div&gt;

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

		&lt;div class="reply"&gt;
		&lt;?php comment_reply_link(array_merge(
		$args, array('depth' =&gt; $depth, 'max_depth' =&gt; $args['max_depth'])
		)) ?&gt;
		&lt;/div&gt;
	&lt;/div&gt;
&lt;?php } ?&gt;
</code></pre>
<p><strong>Hinweis</strong>: Am Ende fehlt ein schliessendes <code>&lt;/li&gt;</code>, dieses fügt WordPress automatisch ein, wenn es Child-Kommentare gibt!</p>
]]></content:encoded>
			<wfw:commentRss>http://wp-magazin.ch/blog/kommentar-template-veraendern-ab-wordpress-27-2586/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Unnötige Template Tags</title>
		<link>http://wp-magazin.ch/blog/unnoetige-template-tags-2156/</link>
		<comments>http://wp-magazin.ch/blog/unnoetige-template-tags-2156/#comments</comments>
		<pubDate>Tue, 10 Mar 2009 16:33:25 +0000</pubDate>
		<dc:creator>Pascal Birchler</dc:creator>
				<category><![CDATA[Nützliches]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Template Tags]]></category>

		<guid isPermaLink="false">http://wp-magazin.ch/?p=2156</guid>
		<description><![CDATA[In diesem Beitrag werde ich einige unnötige Template Tags vorstellen, die man mit beinahe hundertprozentiger Sicherheit durch statische Angaben ersetzen kann, was eine Performancesteigerung des Blogs bedeutet. Und wer will nicht ein schnelles Weblog?]]></description>
			<content:encoded><![CDATA[<p>Bei einem grossen Besucheransturm kann es schon mal vorkommen, dass Seiten nur mühsam laden. Das hat mehrere Ursachen, doch meistens ist auch das WordPress Theme daran Schuld. Unnötige Datenbankabfragen und sehr grosse Template-Dateien sind für Besucher und Administrator gleichermassen nervig.</p>
<p>In diesem Beitrag werde ich einige unnötige Template Tags vorstellen, die man mit beinahe hundertprozentiger Sicherheit durch statische Angaben ersetzen kann, was eine Performancesteigerung des Blogs bedeutet. Und wer will nicht ein schnelles Weblog?</p>
<h3>10+ unnötige Template Tags</h3>
<p>In der header.php findet man meistens folgende Übeltäter:</p>
<ol>
<li><code>&lt;?php language_attributes(); ?&gt;</code> - Im HTML-Doctype gibt diese Funktion an, welche Sprache benutzt wird. Und weil dies ja sicher immer die selbe ist, könnt ihr diesen Template Tag einfach durch <code>dir="ltr" lang="de-DE"</code> ersetzen.</li>
<li><code>&lt;?php bloginfo('html_type'); ?&gt;</code> - Da die Ausgabe immer HTML bleibt, könnt ihr hier auch <code>text/html</code> schreiben.</li>
<li><code>&lt;?php bloginfo('charset'); ?&gt;</code> - Die Codierung sollte man eigentlich nie ändern. Standard ist <code>UTF-8</code>.</li>
<li><code>&lt;?php bloginfo('stylesheet_url'); ?&gt;</code> - Euer Stylesheet wird sich immer am selben Ort befinden. Schreibt also einfach <code>http://blog.de/wp-content/meintheme/style.css</code> hinein.</li>
<li><code>&lt;?php bloginfo('stylesheet_directory'); ?&gt;</code> - Manchmal wird auch auf andere Dateien aus eurem Theme (Bilder, weitere Stylesheets, usw.) verwiesen. Kann man einfach mit der entsprechenden URL ersetzen. <code>&lt;?php bloginfo('template_url'); ?&gt;</code> hat übrigens die gleiche Funktion!</li>
<li>&lt;?php bloginfo('rss2_url'); ?&gt; - Der RSS Feed bleibt immer gleich, deshalb könnt ihr diese unnötige Abfrage gleich durch die Adresse ersetzen. Genau so auch <code>&lt;?php bloginfo('rss_url'); ?&gt;</code>, <code>&lt;?php bloginfo('comments_rss2_url'); ?&gt;</code> und <code>&lt;?php bloginfo('atom_url'); ?&gt;</code></li>
</ol>
<p>Folgende unnötigen Template Tags sind eher allgemein und können in verschiedenen Template-Dateien vorkommen:</p>
<ol>
<li><code>&lt;?php echo get_option('home'); ?&gt;</code> und  - Falls ihr eure Domain nicht wechselt, bleibt die Adresse zu eurem Blog gleich. Ausgegeben wird hier die Adresse à la <code>http://blog.de/</code></li>
<li><code>&lt;?php bloginfo('name'); ?&gt;</code> - Den Namen eures Blogs könnt ihr durchaus selber schreiben und müsst dazu nicht unbedingt ein Template Tag nutzen.</li>
<li><code>&lt;?php bloginfo('description'); ?&gt;</code> - Bei der Beschreibung genau das Gleiche!</li>
<li><code>&lt;?php echo get_num_queries(); ?&gt; Queries. &lt;?php timer_stop(1); ?&gt; Sekunden.</code> - Die Anzahl der Datenbankabfragen und die Ladezeit braucht man eigentlich nicht zwingend auszugeben.</li>
<li>Besonders mutige können an dieser Stelle auch die automatische Auflistung von Seiten oder sogar Kategorien durch statischen Code ersetzen. Aber damit kann man ein Theme sehr schnell zerschiessen. Auf jeden Fall müsste man nur den generierten Quellcode anstelle der Template Tags einfügen...</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://wp-magazin.ch/blog/unnoetige-template-tags-2156/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Widgets zurücksetzen</title>
		<link>http://wp-magazin.ch/blog/widgets-zuruecksetzen-2154/</link>
		<comments>http://wp-magazin.ch/blog/widgets-zuruecksetzen-2154/#comments</comments>
		<pubDate>Mon, 09 Mar 2009 12:50:07 +0000</pubDate>
		<dc:creator>Pascal Birchler</dc:creator>
				<category><![CDATA[Nützliches]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Template Tags]]></category>
		<category><![CDATA[Widgets]]></category>

		<guid isPermaLink="false">http://wp-magazin.ch/?p=2154</guid>
		<description><![CDATA[Widgets sind zwar eine gute Sache, doch manchmal kann auch mal etwas schief gehen. Zum Beispiel dann, wenn man eine Sidebar  umbenennt oder das Theme wechselt. Dann hat man den seltenen Fall, dass alle Widgets, die man vorher benutzt hat, weg sind. Zum Glück lassen sich die Widgets zurücksetzen!]]></description>
			<content:encoded><![CDATA[<p>Widgets sind zwar eine gute Sache, doch manchmal kann auch mal etwas schief gehen. Zum Beispiel dann, wenn man eine Sidebar  umbenennt oder das Theme wechselt. Dann hat man den seltenen Fall, dass alle Widgets, die man vorher benutzt hat, weg sind.</p>
<p>Das kommt daher, dass alle einzelnen Widgets in der Datenbank noch einer anderen Sidebar zugeordnet sind, diese aber gar nicht mehr existiert. Und weil man manche dieser Widgets nur einmal benutzen kann, befindet man sich in einer misslichen Situation. Glück im Unglück hat man aber mit folgendem Template Tag - damit lassen sich nämlich die <strong>Widgets zurücksetzen</strong>!</p>
<pre><code>&lt;?php update_option( 'sidebars_widgets', $null ); ?&gt;</code></pre>
<p>Diesen Code muss man einfach in die <code>functions.php</code> seines aktiven Themes einfügen. Danach Blog aufrufen und die Zeile unbedingt wieder löschen! Sollte das zu kompliziert sein, könnt ihr auch das <a title="WordPress Plugins - Widgets Reset" href="http://justintadlock.com/archives/2009/03/03/widgets-reset-wordpress-plugin">Widgets Reset Plugin</a> von Justin Tadlock benutzen.</p>
]]></content:encoded>
			<wfw:commentRss>http://wp-magazin.ch/blog/widgets-zuruecksetzen-2154/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Memberseiten in WordPress</title>
		<link>http://wp-magazin.ch/blog/memberseiten-in-wordpress-1918/</link>
		<comments>http://wp-magazin.ch/blog/memberseiten-in-wordpress-1918/#comments</comments>
		<pubDate>Sat, 14 Feb 2009 12:49:19 +0000</pubDate>
		<dc:creator>Claudio Schwarz</dc:creator>
				<category><![CDATA[Anleitungen]]></category>
		<category><![CDATA[Community]]></category>
		<category><![CDATA[Template Tags]]></category>

		<guid isPermaLink="false">http://wp-magazin.ch/?p=1918</guid>
		<description><![CDATA[Für einen Schweizer Partyverein stand ich vor der delikaten Aufgabe ein WordPress Theme zu entwickeln. Die Knacknuss: Alle Vorstandsmitglieder und Staffs sollten im WordPress Backend via Registrierung erfasst und danach im Frontend angezeigt werden.]]></description>
			<content:encoded><![CDATA[<p>Für einen Schweizer Partyverein stand ich vor der delikaten Aufgabe ein WordPress Theme zu entwickeln. Die Knacknuss: Alle Vorstandsmitglieder und Staffs sollten im WordPress Backend via Registrierung erfasst und danach im Frontend angezeigt werden.</p>
<h2>Die Lösung</h2>
<p>Ich habe mir ein eigenes <code>author.php</code> File zusammengeschustert. Um aber mehrere registrierte User anzeigen zu können, reichen die <a title="WordPress Codex - Template Tags" href="http://codex.wordpress.org/Template_Tags/the_author">normalen Tags</a> nicht mehr aus. Dafür wird die Variable <code>$curauth</code> (Current Author) benötigt.</p>
<p>Allerdings muss vor der Abfrage aller Daten zum Member dieser Codeschnipsel eingefügt werden:</p>
<pre><code>&lt;?php
if(isset($_GET['author_name'])) :
$curauth = $get_userdatabylogin($author_name);
else :
$curauth = $get_userdata(intval($author));
endif;
?&gt;</code></pre>
<p>Danach können die ersten Tags eingefügt werden.</p>
<pre><code>&lt;h2&gt;&lt;?php echo $curauth-&gt;first_name . ' ' . $curauth-&gt;last_name; ?&gt;
&lt;img src="&lt;?php bloginfo('stylesheet_directory'); ?&gt;/images/authors/
&lt;php echo $curauth-&gt;last_name; ?&gt;.jpg" alt="&lt;?php echo $curauth-&gt;nickname ?&gt;"
class="author &lt;?php echo $curauth-&gt;nickname ?&gt; /&gt;</code></pre>
<p>Raffiniert dabei: Man erstellt sich im Template Ordner unter /images einen weiteren Ordner den man "authors" nennt. Danach lädt man dort die Userbilder benannt nach dem Nachnamen des Users hoch, in meinem Fall würde das Bild "schwarz.jpg" heissen. Mit ein bisschen CSS lässt sich dann das Ergebnis getrost anschauen:</p>
<div id="attachment_1970" class="wp-caption aligncenter" style="width: 310px"><a href="http://wp-magazin.ch/wp-content/uploads/claudio-member.jpg"><img class="size-medium wp-image-1970" title="Claudio Schwarz" src="http://wp-magazin.ch/wp-content/uploads/claudio-member-300x166.jpg" alt="Claudio Schwarz" width="300" height="166" /></a><p class="wp-caption-text">Claudio Schwarz</p></div>
]]></content:encoded>
			<wfw:commentRss>http://wp-magazin.ch/blog/memberseiten-in-wordpress-1918/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Arbeiten mit WordPress in Dreamweaver</title>
		<link>http://wp-magazin.ch/blog/arbeiten-mit-wordpress-in-dreamweaver-600/</link>
		<comments>http://wp-magazin.ch/blog/arbeiten-mit-wordpress-in-dreamweaver-600/#comments</comments>
		<pubDate>Sun, 07 Sep 2008 08:03:38 +0000</pubDate>
		<dc:creator>Pascal Birchler</dc:creator>
				<category><![CDATA[Nützliches]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Dreamweaver]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Template Tags]]></category>

		<guid isPermaLink="false">http://wp-magazin.ch/?p=600</guid>
		<description><![CDATA[WordPress ist eines der beliebtesten Blog-Systemen der Welt und Dreamweaver ist eines der beliebtesten Code-Editoren der Welt. Ein Grund für mich, etwas genauer auf die zwei Plattformen einzugehen und zu versuchen, das gemeinsame Arbeiten der beiden Programme zu vereinfachen.]]></description>
			<content:encoded><![CDATA[<p><a title="WordPress.org" href="http://wordpress.org/">WordPress</a> ist eines der beliebtesten Blog-Systemen der Welt und <a title="Adobe Dreamweaver" href="http://www.adobe.com/products/dreamweaver/">Dreamweaver</a> ist eines der beliebtesten Code-Editoren der Welt. Ein Grund für mich, etwas genauer auf die zwei Plattformen einzugehen und zu versuchen, das gemeinsame Arbeiten der beiden Programme zu vereinfachen. Dass Dreamweaver gut mit der in WordPress genutzten Skriptsprache umgehen kann, ist wirklich kein Geheimnis. Aber damit unser Editor auch mit dem etwas komplizierten Template-System etwas anfangen kann, gibt es WordPress Dreamweaver Extensions.</p>
<p>Die Trennung von Inhalt und Design ist bei WordPress etwas umständlich, deshalb ist es von Vorteil, sich eine solche Extension zu installieren. Meine zwei Favoriten sind der <a href="http://wp-magazin.ch/wp-content/uploads/wp-builder.zip">WordPress Template Builder</a><a title="WordPress Template Builder für Dreamweaver" href="http://"></a> (Download-Link) und <a title="TAGStention für Dreamweaver" href="http://solutoire.com/tagstention/">TAGStention</a>. Noch bevor du dir jetzt diese zwei Extensions herunterlädst, muss ich darauf hinweisen, dass es für den Template Builder keinerlei Support gibt und TAGStention seit über zwei Jahren in der Version 0.3 vor sich hin dümpelt.</p>
<p>Im Grunde funktionieren beide Dreamweaver Extensions ähnlich: Mit ihnen kann man (fast) alle Template Tags einfügen. Von der Feed-URL bis zur umfangreichen Schleife ("Loop"). Mein persönlicher Favorit und die Extension, die ich jedem empfehle, ist TAGStention. Es ist sehr umfangreich und bietet Unterstützung für Ultimate Tag Warrior und deutlich mehr Template Tags, die man auch bequemer einfügen kann als im WordPress Template Builder.</p>
<p>Hier zwei Screenshots der Extensions mit Adobe Dreamweaver CS3:</p>
<div id="attachment_617" class="wp-caption alignnone" style="width: 310px"><a href="http://wp-magazin.ch/wp-content/uploads/tagstention.gif"><img class="size-medium wp-image-617" title="TAGStention" src="http://wp-magazin.ch/wp-content/uploads/tagstention-300x150.gif" alt="TAGStention" width="300" height="150" /></a><p class="wp-caption-text">TAGStention</p></div>
<div id="attachment_616" class="wp-caption alignnone" style="width: 310px"><a href="http://wp-magazin.ch/wp-content/uploads/wordpress-template-builder.gif"><img class="size-medium wp-image-616" title="WordPress Template Builder" src="http://wp-magazin.ch/wp-content/uploads/wordpress-template-builder-300x150.gif" alt="WordPress Template Builder" width="300" height="150" /></a><p class="wp-caption-text">WordPress Template Builder</p></div>
]]></content:encoded>
			<wfw:commentRss>http://wp-magazin.ch/blog/arbeiten-mit-wordpress-in-dreamweaver-600/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Alte Beiträge wieder auf die Startseite bringen</title>
		<link>http://wp-magazin.ch/blog/alte-beitraege-startseite-258/</link>
		<comments>http://wp-magazin.ch/blog/alte-beitraege-startseite-258/#comments</comments>
		<pubDate>Tue, 19 Aug 2008 19:20:19 +0000</pubDate>
		<dc:creator>Pascal Birchler</dc:creator>
				<category><![CDATA[Anleitungen]]></category>
		<category><![CDATA[Artikel]]></category>
		<category><![CDATA[Permalink]]></category>
		<category><![CDATA[query_posts]]></category>
		<category><![CDATA[Startseite]]></category>
		<category><![CDATA[Template Tags]]></category>

		<guid isPermaLink="false">http://www.wp-magazin.ch/?p=258</guid>
		<description><![CDATA[Was man heute schreibt, wird ein Besucher in einem Jahr wahrscheinlich nicht mehr zu Gesicht kriegen. Und das könnten durchaus lesenswerte Artikel sein. Doch wie zeigt man dem Besucher diese Beiträge?]]></description>
			<content:encoded><![CDATA[<p>Was man heute schreibt, wird ein Besucher in einem Jahr wahrscheinlich nicht mehr zu Gesicht kriegen. Und das könnten durchaus lesenswerte Artikel sein. Doch wie zeigt man dem Besucher diese Beiträge? Das geht ganz leicht, wenn man eine dieser zwei Varianten anwendet.</p>
<h3>Lösungswege</h3>
<h4>1. Beiträge aufsteigend nach Datum darstellen</h4>
<p>Jedes Blog hat eines gemeinsam: Der neuste Artikel steht zuoberst. Dass es auch anders geht, zeigen die <a title="WordPress Template Tags" href="http://codex.wordpress.org/Template_Tags/query_posts#Orderby_Parameters">Template Tags</a> von WordPress. Für unsere heutige Aufgabe ist besonders die Sortierung wichtig. Nebst den üblichen <em>orderby=</em> Parametern wie <em>author</em> oder <em>date</em> gibt es auch noch den Parameter <em>order=</em>, welcher entweder den Wert <em>ASC</em> und <em>DESC</em> hat, was für aufsteigend bzw. absteigend steht. Für unsere kleine Herausforderung brauchen wir also ASC (aufsteigend). <strong>Achtung</strong>: Grosssbuchstaben verwenden!</p>
<p>Um beispielsweise die ältesten 10 Beiträge der Kategorie mit der ID 4 anzuzeigen, kann man folgenden Code in Verbindung mit der Loop verwenden:</p>
<pre>query_posts('cat=4&amp;orderby=date&amp;order=ASC');</pre>
<p>Nachteil dieser Methode: Sie ist nicht flexibel, es werden <strong>immer</strong> die gleichen Beiträge zu sehen sein. Aber das wollen wir gar nicht, erwähnen die Funktion aber trotzdem. Ganz anders funktioniert dies mit Variante 2 zur Lösung des Problems!</p>
<p><a title="WordPress Codex - Template Tags" href="http://codex.wordpress.org/Template_Tags/">Template Tags im WordPress Codex</a></p>
<h4>2. Scheduled Post Shift Plugin</h4>
<p>Dieses Plugin funktioniert wesentlich anders als die erste Lösung: Es ändert das Datum von Beiträgen, die vor genau einem Jahr geschrieben wurden, auf den heutigen Tag. Es empfiehlt sich dann, diese Kategorie <a title="WordPress Magazin - Einzelne Seiten und Kategorien ausschliessen" href="http://www.wordpress-magazin.de/einzelne-seiten-und-kategorien-nicht-anzeigen-lassen/">auszuschliessen</a> und separat anzuzeigen.</p>
<p><strong>Nachteil</strong>: Falls man eine Permalinkstruktur wie z.B. 2008/08/19/toller-beitrag/ hat, wird dieser nach einem Jahr ungültig. Falls jemand darauf verlinkt hat, wird er dann blöd aus der Wäsche gucken. Das heisst, man muss ein Plugin wie das <a title="WordPress Plugins - Permalinks Moved Permanently" href="http://www.microkid.net/wordpress/permalinks-moved-permanently/">Permalinks Moved Permanently Plugin</a> installieren. Ansonsten sollte es keine Probleme geben.</p>
<p><a title="WordPress Plugins - Scheduled Post Shift Plugin" href="http://www.dagondesign.com/articles/scheduled-post-shift-plugin-for-wordpress/">Zum Download des Scheduled Post Shift Plugin</a></p>
]]></content:encoded>
			<wfw:commentRss>http://wp-magazin.ch/blog/alte-beitraege-startseite-258/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

