<?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>Tim Einfeldt &#187; cms</title>
	<atom:link href="http://timeinfeldt.com/tag/cms/feed/" rel="self" type="application/rss+xml" />
	<link>http://timeinfeldt.com</link>
	<description>Blog</description>
	<lastBuildDate>Wed, 31 Mar 2010 00:17:55 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>WordPress als CMS: The Loop in Page Templates</title>
		<link>http://timeinfeldt.com/wordpress-content-management-system-loop-page-templates/</link>
		<comments>http://timeinfeldt.com/wordpress-content-management-system-loop-page-templates/#comments</comments>
		<pubDate>Tue, 08 Apr 2008 17:07:29 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[cms]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[templates]]></category>
		<category><![CDATA[themes]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://timeinfeldt.com/?p=35</guid>
		<description><![CDATA[Der Loop ist das zentrale Element, um in WordPress dynamisch auf Inhalte zugreifen zu können. Nutzt man WordPress ausschließlich als Plattform zum bloggen, braucht man meistens nur wenig anzupassen. Durch die Funktion von Pages bietet sich WordPress auch als Content Management System an. Der Standardloop, wie er in der Dokumentation beschrieben ist: //Header einbinden //posts [...]]]></description>
			<content:encoded><![CDATA[<p>Der Loop ist das zentrale Element, um in <a href="http://wordpress.org/">WordPress</a> dynamisch auf Inhalte zugreifen zu können. Nutzt man WordPress ausschließlich als Plattform zum bloggen, braucht man meistens nur wenig anzupassen. Durch die Funktion von Pages bietet sich WordPress auch als Content Management System an.</p>
<p><span id="more-35"></span></p>
<p>Der Standardloop, wie er in der <a href="http://codex.wordpress.org/The_Loop">Dokumentation</a> beschrieben ist:</p>
<pre lang="php">
//Header einbinden
<?php get_header(); ?>

//posts vorhanden?
<?php if (have_posts()) : ?>

//wenn ja, posts nacheinander ausgeben
<?php while (have_posts()) : the_post(); ?>
<div class="post">
<h2><?php the_title(); ?></h2>

<span><?php the_time('F jS, Y') ?></span>
<?php the_content('Read on...'); ?>
</div>

<?php endwhile; ?>

//wenn nein, Nachricht ausgeben
<?php else : ?>
<h2>Not Found</h2>

<?php _e("Sorry, not found."); ?>

//Ende des Loops
<?php endif; ?></div>

//Sidebar und Footer einbinden
<?php get_sidebar(); ?>
<?php get_footer(); ?>
</pre>
<p>Platziert man dieses schöne Konstrukt innerhalb der index.php im Themeverzeichnis, werden alle vorhandenen Einträge nacheinander aufgelistet, entsprechend der Struktur innerhalb des while-Blocks.</p>
<p>Angenommen, eine auf WordPress basierende Website soll eine Unterseite namens &#8220;News&#8221; haben, auf der die Einträge erscheinen. Ab ins Verzeichnis des Themes, news.php erstellen. Der oben genannte Code wird am Anfang mit dem benötigten Template Name erweitert, damit WordPress das Template erkennt.</p>
<pre lang="php">
<?php
/*
Template Name: News
*/
?>
</pre>
<p>In der Administrationsoberfläche wird entsprechend eine Seite mit dem Namen &#8220;News&#8221; erstellt, die das Template zugewiesen bekommt.</p>
<p>Stolz die frische Seite getestet:</p>
<p><a href="http://timeinfeldt.com/wp-content/uploads/2008/04/bild-1.png"><img class="alignnone size-medium wp-image-36" title="bild-1" src="http://timeinfeldt.com/wp-content/uploads/2008/04/bild-1.png" alt="" width="346" height="217" /></a></p>
<p>Unspektakulär. Statt Titel und Uhrzeit der jeweiligen Einträge nacheinander auszugeben, erscheint nur der Titel der angelegten Page und das momentane Datum.</p>
<p>Um den Loop in Page Templates zu verwenden, muss folgende Zeile zu Anfang des Loops hinzugefügt werden:</p>
<pre lang="php">
<?php query_posts("order=DSC"); ?>
</pre>
<p>Die Funktion query_posts stellt die benötigte Anfrage, damit anschließend Einträge ausgegeben werden können. Dabei kann man verschiedene Parameter übergeben. Das obige Beispiel gibt an, dass die Beiträge in absteigender Reihenfolge ausgegeben werden sollen. Weitere Beispiele für die Verwendung der Funktion gibt es in der <a href="http://codex.wordpress.org/Template_Tags/query_posts">Dokumentation</a>.</p>
<p>Der fertige Code:</p>
<pre lang="php">
<?php
/*
Template Name: News
*/
?>
<?php get_header(); ?>

<?php query_posts("order=DSC"); ?>
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
<div class="post">
<h2><?php the_title(); ?></h2>

<span><?php the_time('F jS, Y') ?></span>
<?php the_content('Read on...'); ?>
</div>

<?php endwhile; ?>
<?php else : ?>
<h2>Not Found</h2>

<?php _e("Sorry, not found."); ?>

<?php endif; ?>
</div>

<?php get_sidebar(); ?>
<?php get_footer(); ?>
</pre>
<p>Voilà.</p>
<p><a href="http://timeinfeldt.com/wp-content/uploads/2008/04/bild-2.png"><img class="alignnone size-medium wp-image-37" title="bild-2" src="http://timeinfeldt.com/wp-content/uploads/2008/04/bild-2.png" alt="" width="347" height="332" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://timeinfeldt.com/wordpress-content-management-system-loop-page-templates/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
