<?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>thomasr-vogt.de &#187; Wordpress</title>
	<atom:link href="http://www.thomasr-vogt.de/tag/wordpress/feed" rel="self" type="application/rss+xml" />
	<link>http://www.thomasr-vogt.de</link>
	<description>weblog and more</description>
	<lastBuildDate>Sun, 05 Sep 2010 21:27:06 +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>Nachtrag zum Dofollow</title>
		<link>http://www.thomasr-vogt.de/nachtrag-zum-dofollow</link>
		<comments>http://www.thomasr-vogt.de/nachtrag-zum-dofollow#comments</comments>
		<pubDate>Wed, 07 Jul 2010 17:25:58 +0000</pubDate>
		<dc:creator>Thomas</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[xHTML und Co.]]></category>
		<category><![CDATA[Attribute]]></category>
		<category><![CDATA[dofollow]]></category>
		<category><![CDATA[nofollow]]></category>

		<guid isPermaLink="false">http://www.thomasr-vogt.de/?p=1637</guid>
		<description><![CDATA[Nachdem ich am Sonntag etwas zum Für- und Wider (mehr zum Wider) des Nofollow-Attributs gebloggt hatte, möchte ich noch etwas dazu ergänzen. Bei der Internet-Recherche zu diesem doch schon älteren Diskussion, schließlich gibt es dieses Attribut schon seit 5&#160;Jahren, bin ich auf eine elegante Lösung gestoßen. Anstelle eines Plugins schlägt Thomas Scholz den Einbau einer [...]]]></description>
			<content:encoded><![CDATA[<p>Nachdem ich am Sonntag etwas zum Für- und Wider (mehr zum Wider) des Nofollow-Attributs <a href="http://www.thomasr-vogt.de/folgen-oder-nicht-folgen">gebloggt hatte</a>, möchte ich noch etwas dazu ergänzen.</p>
<p>Bei der Internet-Recherche zu diesem doch schon älteren Diskussion, schließlich gibt es dieses Attribut schon seit  5&nbsp;Jahren, bin ich auf eine elegante Lösung gestoßen. Anstelle eines Plugins schlägt <a href="http://toscho.de/" class="newWindow" title="externer Link">Thomas Scholz</a> den <a href="http://toscho.de/2009/no-no-no-nofollow/" class="newWindow" title="externer Link">Einbau einer PHP-Funktion</a> in die functions.php des Themes vor.</p>
<p>Das habe ich natürlich sofort ausprobiert, spart das doch den Aufruf zusätzlicher Dateien ein. Seit 2 Tagen läuft es in beiden Blogs problemlos und erfüllt seinen Zweck. Kleiner Tipp: Vor dem Anpassen der funktions.php unbedingt das Dofollow-Plugin deaktivieren.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thomasr-vogt.de/nachtrag-zum-dofollow/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Folgen oder nicht folgen</title>
		<link>http://www.thomasr-vogt.de/folgen-oder-nicht-folgen</link>
		<comments>http://www.thomasr-vogt.de/folgen-oder-nicht-folgen#comments</comments>
		<pubDate>Sun, 04 Jul 2010 08:22:55 +0000</pubDate>
		<dc:creator>Thomas</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[xHTML und Co.]]></category>
		<category><![CDATA[Attribute]]></category>
		<category><![CDATA[dofollow]]></category>
		<category><![CDATA[nofollow]]></category>

		<guid isPermaLink="false">http://www.thomasr-vogt.de/?p=1602</guid>
		<description><![CDATA[das ist ja öfter mal die Frage bei twitter. Auch wenn ich mich da manchmal wundere, wie es z.B. Leute mit einer einstelligen Anzahl von Tweets zu dreistelligen Followerzahlen bringen, soll das heute nicht das Thema sein. Mir geht es um das sogenannte NoFollow-Attribut, das WordPress seit der Version 1.5 automatisch an alle Links in [...]]]></description>
			<content:encoded><![CDATA[<p>das ist ja öfter mal die Frage bei <a href="http://www.twitter.com" class="newWindow" title="externer Link">twitter</a>. Auch wenn ich mich da manchmal wundere, wie es z.B. Leute mit einer einstelligen Anzahl von Tweets zu dreistelligen Followerzahlen bringen, soll das heute nicht das Thema sein.</p>
<p>Mir geht es um das sogenannte <a href="http://de.wikipedia.org/wiki/Nofollow" class="newWindow" title="externer Link" rel="nofollow">NoFollow-Attribut</a>, das <a href="http://www.wordpress.org" class="newWindow" title="externer Link">WordPress</a> seit der Version 1.5 automatisch an alle Links in den Kommentaren anhängt. Eingeführt wurde diese rel=&#8221;nofollow&#8221; 2005 auf Betreiben von Google. Intention war, damit den Kommentar-Spam zu reduzieren, weil so gekennzeichnete Links nicht für die Berechnung der Linkpopularität herangezogen werden. So sollte der Anreiz für die Spammer wegfallen, durch Blogkommentare das Suchmaschinen-Ranking der beworbenen Seiten zu steigern.</p>
<p>Wie jeder Blog-Betreiber aus eigener Erfahrung weiß, hat dieser Ansatz nicht funktioniert. Spamkommentare kommen immer noch in großer Zahl und müssen mit entsprechenden Plugins bekämpft werden. Und als negativen Nebeneffekt werden Links der erwünschten Kommentatoren durch Nichtbeachtung durch die Suchmaschinen bestraft. </p>
<p>Durch einen <a href="http://birgitengelhardt.de/blog/2010/06/wordpress-plugins-meine-empfehlungen/" class="newWindow" title="externer Link">Artikel bei Birgit Engelhardt</a> bin ich wieder an diese, schon recht alte, Problematik erinnert worden. Ich bin wie Birgit der Meinung, wer sich die Mühe macht zu kommentieren soll wenigstens ein wenig bei Google davon haben. Deshalb habe ich sowohl hier als auch in meinem <a href="http://www.vothografie.de/" class="newWindow" title="externer Link">Fotografie-Blog</a> das <a href="http://wordpress.org/extend/plugins/sem-dofollow/" class="newWindow" title="externer Link">Dofollow-Plugin</a> von Denis de Bernardy installiert.</p>
<p>Ab sofort gibt es hier im Blog keine Links zweiter Klasse für die Kommentatoren.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thomasr-vogt.de/folgen-oder-nicht-folgen/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>test (erfolgreich)</title>
		<link>http://www.thomasr-vogt.de/test</link>
		<comments>http://www.thomasr-vogt.de/test#comments</comments>
		<pubDate>Mon, 29 Sep 2008 10:28:53 +0000</pubDate>
		<dc:creator>Thomas</dc:creator>
				<category><![CDATA[Nur so]]></category>
		<category><![CDATA[Bilder]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.thomasr-vogt.de/index.php/archiv/test</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><a title="Neugierig" href="http://www.thomasr-vogt.de/wp-content/uploads/2008/09/2008-028-18-beschn.jpg"><img src="http://www.thomasr-vogt.de/wp-content/uploads/2008/09/2008-028-18-beschn-150x150.jpg" alt="Neulich im Museum" width="75" height="128" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.thomasr-vogt.de/test/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Beiträge oben &#8220;festkleben&#8221;</title>
		<link>http://www.thomasr-vogt.de/beitrage-oben-festkleben</link>
		<comments>http://www.thomasr-vogt.de/beitrage-oben-festkleben#comments</comments>
		<pubDate>Fri, 22 Oct 2004 23:33:09 +0000</pubDate>
		<dc:creator>Thomas</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[xHTML und Co.]]></category>

		<guid isPermaLink="false">http://www.thomasr-vogt.de/?p=30</guid>
		<description><![CDATA[Um Beiträge, wie die Begrüssung auf der Startseite, immer als erste anzuzeigen gibt es verschiedene Plugins. Ich verwende AH Select Custom for WordPress 1.2 von Andrew Hall. Das Plugin nutzt die benutzerdefinierten Felder, die zu einem Beitrag hinzugefügt werden können. Um einen Beitrag oben &#8220;festzukleben&#8221; (in englischsprachigen Foren werden diese Art Beiträge als &#8220;sticky&#8221; = [...]]]></description>
			<content:encoded><![CDATA[<p>Um Beiträge, wie die Begrüssung auf der Startseite, immer als erste anzuzeigen gibt es verschiedene Plugins.<br />
Ich verwende <a href="http://www.andrew-hall-artist.com/journal/index.php?cat=30">AH Select Custom for WordPress 1.2</a> von Andrew Hall.<br />
Das Plugin nutzt die benutzerdefinierten Felder, die zu einem Beitrag hinzugefügt werden können.</p>
<p>Um einen Beitrag oben &#8220;festzukleben&#8221; (in englischsprachigen Foren werden diese Art Beiträge als &#8220;sticky&#8221; = klebrig bezeichnet) fügt man in der erweiterten Editansicht ein benutzerdefiniertes Feld mit dem Namen &#8220;sticky&#8221; und dem Wert &#8220;1&#8243; ein. Die erweiterte Ansicht kann in den Optionen unter Schreiben voreingestellt werden. ( &#8220;Bei Beginn eines Beitrags, zeige:  Erweiterte Kontrollen&#8221;)</p>
<p>Die Beiträge &#8220;kleben&#8221; in ihren jeweiligen Kategorien oben. Auf der Startseite &#8220;kleben&#8221; nur die Beiträge der &#8220;Default&#8221;-Kategorie. Alle anderen erscheinen als normale Beiträge.</p>
<p>Die Installation läuft nach dem bekannten Muster, Plugin in Plugin-Ordner kopieren &#8211; aktivieren und die <code>index.php</code> anpassen, ab.<br />
<span id="more-30"></span><br />
Nach dem Download und Entpacken des Plugin-Archivs wird zuerst die Datei <code>ah_select_custom.php</code> ins Plugin-Verzeichnis kopiert und über den Plugin-Manager aktiviert.</p>
<p>Für die Anpassung der <code>index.php</code>, öffnen wir diese mit einem Texteditor. Alternativ geht es auch über die WordPress-Verwaltungsoberfläche unter Templates. Vorraussetzung dazu ist, dass die Dateirechte auf Lesen und Schreiben (chmod 666)  gesetzt sind.</p>
<p>Zunächst bnötigen wir eine Kopie der &#8220;Loop&#8221;. Das ist der Bereich in der <code>index.php</code>, der für die Anzeige der Beiträge zuständig ist. In der unveränderten Form sieht das so aus:</p>
<blockquote><p><code>&lt;?php if ($posts) : foreach ($posts as $post) : start_wp(); ?&gt;</code></p>
<p><code>&lt;?php the_date('','&lt;h2&gt;','&lt;/h2&gt;'); ?&gt;</code></p>
<p><code>&lt;div class="post"&gt;<br />
	 &lt;h3 class="storytitle" id="post-&lt;?php the_ID(); ?&gt;"&gt;&lt;a href="&lt;?php the_permalink() ?&gt;" rel="bookmark" title="Permanent Link: &lt;?php the_title(); ?&gt;"&gt;&lt;?php the_title(); ?&gt;&lt;/a&gt;&lt;/h3&gt;<br />
	&lt;div class="meta"&gt;&lt;?php _e("Filed under:"); ?&gt; &lt;?php the_category() ?&gt; &#8212; &lt;?php the_author() ?&gt; @ &lt;?php the_time() ?&gt; &lt;?php edit_post_link(); ?&gt;&lt;/div&gt;</code></p>
<p>	<code>&lt;div class="storycontent"&gt;<br />
		&lt;?php the_content(); ?&gt;<br />
	&lt;/div&gt;</code></p>
<p>	<code>&lt;div class="feedback"&gt;<br />
            &lt;?php wp_link_pages(); ?&gt;<br />
            &lt;?php comments_popup_link(__('Comments (0)'), __('Comments (1)'), __('Comments (%)')); ?&gt;<br />
	&lt;/div&gt;</code></p>
<p>	<code>&lt;!--<br />
	&lt;?php trackback_rdf(); ?&gt;<br />
	--&gt;</code></p>
<p><code>&lt;?php include(ABSPATH . 'wp-comments.php'); ?&gt;<br />
&lt;/div&gt;</code></p>
<p><code>&lt;?php endforeach; else: ?&gt;<br />
&lt;p&gt;&lt;?php _e('Sorry, no posts matched your criteria.'); ?&gt;&lt;/p&gt;<br />
&lt;?php endif; ?&gt;</code></p></blockquote>
<p>Die Zeilennummern sind bei mir 31 bis 60. Diesen ganzen bereich kopieren wir und setzen ihn direkt davor wieder ein. Die &#8220;Loop&#8221; steht jetzt also zweimal hintereinander in der Datei.<br />
Für unsere Zwecke verändern wir die <strong>obere</strong> Kopie.</p>
<p>Direkt davor kommt in eine neue Zeile<br />
<blockquote><code>&lt;?php select_customfield('sticky'); ?&gt;</code></p></blockquote>
<p>Wenn das benutzerdefinierte Feld anders benannt wurde, kommt dieser Wert als Parameter in den Funktionsaufruf. Man kann auch die Anzahl der &#8220;sticky&#8221;-Beiträge begrenzen. Bei einer maximalen Anzahl von 3 lautet die Funktion dann<br />
<blockquote><code>&lt;?php select_customfield('sticky', 3); ?&gt;</code></p></blockquote>
<p>Dann ersetzen wir in der ersten &#8220;Loop&#8221;<br />
<blockquote><code>&lt;?php if ($posts) : foreach ($posts as $post) : start_wp(); ?&gt;</code></p></blockquote>
<p>mit</p>
<blockquote><p><code>&lt;?php if ($sc_posts) : foreach ($sc_posts as $post) : start_wp(); ?&gt;</code></p></blockquote>
<p>Ausserdem noch<br />
<blockquote><code>&lt;?php endforeach; else: ?&gt;<br />
&lt;p&gt;&lt;?php _e('Sorry, no posts matched your criteria.'); ?&gt;&lt;/p&gt;<br />
&lt;?php endif; ?&gt;</code></p></blockquote>
<p>mit</p>
<blockquote><p><code>&lt;?php endforeach; ?&gt;<br />
     &lt;?php endif; ?&gt;</code></p></blockquote>
<p>In der zweiten &#8220;Loop&#8221; muss auch noch etwas ergänzt werden damit die Beiträge nicht zweimal angezeigt werden.</p>
<p>Gleich nach<br />
<blockquote><code>&lt;?php if ($posts) : foreach ($posts as $post) : start_wp(); ?&gt;</code></p></blockquote>
<p>wird die Zeile<br />
<blockquote><code>&lt;?php if (sc_skipdupe ()) continue ?&gt;</code></p></blockquote>
<p> eingefügt.</p>
<p>Nun sollte alles funktionieren. Ich habe noch die Anzeige der &#8220;sticky&#8221;-beiträge angepasst, indem ich alles aus der ersten &#8220;Loop&#8221; entfernt habe, was mich dort gestört hatte, wie z.B. die Anzeige, wann der Beitrag verfasst wurde.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thomasr-vogt.de/beitrage-oben-festkleben/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress als CMS</title>
		<link>http://www.thomasr-vogt.de/wordpress-als-cms</link>
		<comments>http://www.thomasr-vogt.de/wordpress-als-cms#comments</comments>
		<pubDate>Thu, 21 Oct 2004 22:45:36 +0000</pubDate>
		<dc:creator>Thomas</dc:creator>
				<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.thomasr-vogt.de/?p=28</guid>
		<description><![CDATA[Mit WordPress müsste sich auch eine komplette private Homepage verwalten lassen. Zusätzlich zum Blog fehlen dazu nur noch ein paar statische Seiten. Zum Beispiel eine kurze Beschreibung der Person, die hinter dem Blog steht, eine Beschreibung der Hobbies und, schliesslich blogge ich in Deutschland, das Impressum. Wie man solche &#8220;About Me&#8221;-Seiten in WordPress einbindet, wird [...]]]></description>
			<content:encoded><![CDATA[<p>Mit <a href="http://wordpress.org" class="newWindow">WordPress</a> müsste sich auch eine komplette private Homepage verwalten lassen. Zusätzlich zum Blog fehlen dazu nur noch ein paar statische Seiten. Zum Beispiel eine kurze Beschreibung der Person, die hinter dem Blog steht, eine Beschreibung der Hobbies und, schliesslich blogge ich in Deutschland, das Impressum.</p>
<p>Wie man solche &#8220;About Me&#8221;-Seiten in WordPress einbindet, wird auf verschiedenen Seiten im Internet beschrieben. Es geht hier nicht darum auf bestehende HTML-Dateien zu verweisen, das funktioniert sehr gut mit dem Linkmanager. Die Seiten sollen später auch mit WordPress verändert werden und zum Layout passen. Dadurch  ist der Aufwand am Anfang zwar etwas grösser, die Pflege, d.h. das Aktuellhalten der Informationen ist später aber leichter.</p>
<p>Ich habe mich an die Vorgehensweise von <a href="http://www.chrisjdavis.org/2004/07/15/faking-it-wordpress-as-cms" class="newWindow" title="Sillyness Spelled Wrong Intentionally » Faking it: WordPress as CMS pt. 1:">Chris Davis</a> gehalten und diese etwas variiert.<br />
<span id="more-28"></span><br />
Eine Seite wie die <a href="http://www.thomasr-vogt.de/about.php?p=6">&#8220;Über mich&#8221;-Seite</a> zu erstellen, benötigt etwas Vorarbeit. Zur Trennung der Blogseiten von den &#8220;statischen&#8221; Seiten nutzen wir das Kategoriesystem von WordPress.<br />
Als erstes braucht es eine oder mehrere Kategorien, die für die statischen Seiten vorgesehen werden. Für jedes auf Quelltext-Ebene abweichende Layout sollte eine Kategorie vorgesehen werden. Für jede Kategorie gibt es dann eine eigene php-Datei. Wenn also z.B. das Impressum deutlich anders als die Seite über die Hobbies aussehen soll, empfiehlt es sich eine Kategorie &#8220;Impressum&#8221; und eine Kategorie &#8220;Hobbies&#8221; anzulegen. Die ID (Nummer) dieser Kategorie(n) brauchen wir noch.</p>
<p>Hier komme ich mit einer Kategorie aus. Diese &#8220;about me&#8221;-Kategorie hat die ID 2.  Damit die Beiträge aus dieser Kategorie nicht im Blog erscheinen, muss die <code>index.php</code> angepasst werden. An den Anfang der Datei fügen wir folgende Zeile genau vor dem <code>require('./wp-blog-header.php');</code> ein:</p>
<blockquote><p><code>$cat="1 3 4 5 6 7 8 9 10 11 12 13 14 15 16";</code></p></blockquote>
<p>Es fällt auf, dass die ID meiner &#8220;About me&#8221;-Kategorie fehlt. Mit nur einer Kategorie, kann die Zeile auch so aussehen:</p>
<blockquote><p><code>$cat="-2";</code></p></blockquote>
<p>WordPress akzeptiert nur einen negative Wert in dieser Anweisung. Für mehrere Kategorien, die nicht angezeigt werden sollen, müssen wir die Kategorien angeben, die angezeigt werden dürfen. Um eventuelle Erweiterungen zu erleichtern, bin ich bei der ersten Möglichkeit geblieben.</p>
<p>Die einfachste Möglichkeit die Seiten für unsere Spezialkategorien zu erstellen, ist es die <code>index.php</code> zu nehmen und als z.B. <code>about.php</code> abzuspeichern. Der Dateianfang dieser neuen Datei sieht dann entsprechend so aus:</p>
<blockquote><p><code>&lt;?php<br />
/* Don't remove this line. */<br />
$cat="2";<br />
require('./wp-blog-header.php');<br />
?&gt;<br />
&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;<br />
&lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;<br />
</code></p></blockquote>
<p>Dann löschen wir alles, was nicht angezeigt werden soll oder nicht benötigt wird. Es ist z.B. für mich nicht sinnvoll die Kommentarfunktion im Impressum aktiv zu haben.</p>
<p>In der Liste der Kategorien in der Menüleiste tauchen die neuen Kategorien auf, sobald wir den ersten Text schreiben. Dazu ändern wir noch eine Kleinigkeit in den Dateien.</p>
<p>Das für die Auflistung der Kategorien zuständige Template<br />
<blockquote><code>&lt;?php wp_list_cats(); ?&gt;</code></p></blockquote>
<p>ändern wir zu</p>
<blockquote><p><code>&lt;?php wp_list_cats('exclude=2'); ?&gt;</code></p></blockquote>
<p>um die Auflistung &#8220;unserer&#8221; Kategorie zu unterdrücken.</p>
<p>Nun können wir unsere Selbstdarstellungsseite schreiben. Wenn wir diese nur unserer Spezial-Kategorie zuordnen, kann sie im Moment leider keiner lesen. Dazu müssen wir noch etwas Hand anlegen.</p>
<p>Zunächst legen wir über den Linkmanager eine neue Link-Kategorie an. Als Bezeichnung bietet sich &#8220;Menü&#8221; an.<br />
Dann fügen wir für unseren gerade erstellten Beitrag einen neuen Link mit einer aussagefähigen Bezeichnung in dieser Kategorie an. Die Linkadresse kann man am einfachsten im Editieren-Menü ermitteln. Mit dem <a href="http://firefox-browser.de" class="newWindow">Firefox</a> genügt ein Rechts-Klick  auf die Titelzeile und über &#8220;Copy Link-Location&#8221; bzw. &#8220;Linkadresse kopieren&#8221; ist die Adresse in der Zwischenablage.<br />
Nach dem Einfügen der URL ersetzen wir noch das <code>index.php</code> durch ein <code>about.php</code>. Und schon ist der Beitrag zugänglich.<br />
Eine andere Möglichkeit ist es sich die ID des Beitrags zu merken. Meine &#8220;Über mich&#8221;-Seite hat zum Beispiel die ID 6. Die URL für unseren Link ist also die <code>about.php?p=6</code>, der Name kann frei gewählt werden, z.B. &#8220;Privates&#8221;.</p>
<p>So lassen sich auch mehrere Menüpunkte erstellen. Ein Link zurück auf die Startseite des Blogs hat z.B. ganz einfach die URL <code>index.php</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.thomasr-vogt.de/wordpress-als-cms/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>News-Anzeige einbauen</title>
		<link>http://www.thomasr-vogt.de/news-anzeige-einbauen</link>
		<comments>http://www.thomasr-vogt.de/news-anzeige-einbauen#comments</comments>
		<pubDate>Wed, 20 Oct 2004 11:38:53 +0000</pubDate>
		<dc:creator>Thomas</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[xHTML und Co.]]></category>
		<category><![CDATA[RSS]]></category>

		<guid isPermaLink="false">http://www.thomasr-vogt.de/?p=25</guid>
		<description><![CDATA[Jede Weblog-Software, die was auf sich hält, bietet die Möglichkeit RSS-Feeds zu erzeugen. Dies ist eine Möglichkeit, Nachrichten über ein genormtes Format auszutauschen. Verschiedene Nachrichtenmagazine bieten z.B. Newsfeeds an. Mit einem passenden Programm kann man sich so immer die neuesten Meldungen z.B. vom Spiegel auf den Bildschirm holen. So einen Newsfeed möchte ich mit den [...]]]></description>
			<content:encoded><![CDATA[<p>Jede Weblog-Software, die was auf sich hält, bietet die Möglichkeit RSS-Feeds zu erzeugen. Dies ist eine Möglichkeit, Nachrichten über ein genormtes Format auszutauschen. Verschiedene Nachrichtenmagazine bieten z.B. Newsfeeds an. Mit einem passenden Programm kann man sich so immer die neuesten Meldungen z.B. vom <a href="http://www.spiegel.de" class="newWindow">Spiegel</a> auf den Bildschirm holen. So einen Newsfeed möchte ich mit den <a href="http://www.websozis.de" class="newWindow">WebSozi</a>-News den Besuchern meiner Homepage ebenfalls anbieten.</p>
<p>Da <a href="http://wordpress.org" class="newWindow">WordPress</a> keine eingebaute Funktion für diesen Zweck hat, kommt mal wieder ein Plugin zum Einsatz. Die Suche im <a href="http://wiki.wordpress.org/Plugin" class="newWindow">WordPress-Wiki</a> brachte mich zu <a href="http://www.chait.net/index.php?p=85" class="newWindow">CG-Feedread</a> von David Chait.<br />
<span id="more-25"></span><br />
Die Installation ist etwas aufwändiger, da das Skript auch ohne WordPress eingesetzt werden kann.  <img src="http://thomasr-vogt.de/wp-content/cgfeedread1.png" width="295" height="135" alt="Ordnerstruktur" class="thumb_r" />Das ganze Archiv sollte unter Beibehaltung der Ordnrstruktur entpackt werden.<br />
Wenn alles richtig lief, sehen nach dem Upload die WordPress-Ordner auf dem Server so aus wie rechts dargestellt.<br />
Um den Newsfeeds nicht bei jedem Laden der Seite anfordern zu müssen, werden die Nachrichten im Ordner <code>cache_rssfeeds</code> zwischengespeichert. Deshalb müssen die Zugriffsrechte auf Lesen und Schreiben für alle (chmod 666) eingestellt werden. Mit dem FTP-Programm lässt sich das einfach erledigen.</p>
<p>Die Einbindung in die Seite erfolgt mit einem Mehrzeiler. Ein Beispiel wäre<br />
<blockquote><code>&lt;?php  $feedUrl = "http://news.com.com/2547-1040_3-0-5.xml";<br />
 $feedOut = parseURL($feedUrl, 4, false, "feed-cnetttech", '', 36, false);<br />
  if ($feedOut)<br />
    echo $feedOut;<br />
?&gt;</code></p></blockquote>
<p>In der ersten Zeile wird mit <code>$feedUrl = "http://news.com.com/2547-1040_3-0-5.xml";</code> die Adresse des Newsfeeds angegeben. Über <code>$feedOut = parseURL($feedUrl, 4, false, "feed-cnetttech", '', 36, false);</code> wird die Darstellung eingestellt. Hat alles geklappt, werden die Nachrichten angezeigt.<br />
Die Darstellung lässt sich auf die eigenen Wünsche anpassen. Dazu dienen die Parameter der Funktion <code>parseURL();</code></p>
<h3>Einstellungen vornehmen</h3>
<p>Die Funktion <code>parseURL()</code> kann mit 10 Parameter aufgerufen werden, die hier nochmals erklärt werden.</p>
<blockquote><p><code>function parseURL($InUrl, $numberOfItems, $showDetails, $cacheName, $filterCat='',$tLimit = -1, $dLimit = -1,$noHTML = 1, $showTime = false, $likeWPPosts = false))</code></p></blockquote>
<p> $InUrl<br />
Die vollständige URL für den Newsfeed.</p>
<p> $numberOfItems<br />
Anzahl der angezeigten Nachrichten. Sortiert von Neu nach Alt.</p>
<p> $showDetails<br />
Nur die Überschrift anzeigen, oder auch noch die Einzelheiten?</p>
<p> $cacheName<br />
Der Dateiname für die Zwischenspeicherung. Für jeden Newsfeed muss ein eigener Name vergeben werden.<br />
Hinweis: Die globale Variable $CACHE_TIME legt die Zeit fest, nach der der Newsfeed wieder neu angefordert wird. Wenn hierzu nichts angegeben wird, gilt die Voreinstellung von 24 Stunden.</p>
<p> $filterCat<br />
Kann auf &#8221; belassen werden. Die Variable kann benutzt werden Meldungen mit einem hier bestimmten String herauszufiltern. z.B. um Feeds mit vielen Meldungen auf ein Thema zu reduzieren, wenn keine Unter-Kategorien angeboten werden.</p>
<p> $tLimit<br />
Maximale Länge der Meldungstitel. (Längere Titel werden auf die angegebene Buchstabenzahl gekürzt) Um nichts abzuschneiden wird der Wert auf -1 gesetzt.</p>
<p> $dLimit<br />
Maximale Länge der Einzelheiten. (Längere Meldungstexte werden auf die angegebene Buchstabenzahl gekürzt) Um nichts abzuschneiden wird der Wert auf -1 gesetzt.</p>
<p> $noHTML<br />
entfernt HTML-Tags aus den Beschreibungen um die Sicherheit zu verbessern. Die Voreinstellung ist &#8220;true&#8221;. Um die Meldungen ungeändert anzuzeigen, ist der Wert auf &#8220;false&#8221; zu ändern.</p>
<p> $showTime<br />
Schaltet die Anzeige von Zeitangaben aus den Feeds ein. Die unformatierten Angaben werden nach dem Titel und den Einzelheiten angehängt.  Die Voreinstellung ist false == off.</p>
<p> $likeWPPosts<br />
Versucht die Nachrichten ähnlich den Beiträgen in WordPress auszugeben. Dies ist geeignet um Nachrichten im Fliesstext anzuzeigen. Für Listen oder seitlichen Spalten weniger geeignet. Die Voreinstellung ist false == off.</p>
<p>Auf die Seite kommen die Nachrichten mit folgendem Code:</p>
<blockquote><p><code>&lt;?php<br />
  $feedUrl = "http://newscontent.de/websozis.xml"; // enter your feed's url here<br />
  $feedOut = parseURL($feedUrl, 4, true, 'ws', '', -1 ); // enter a cache name<br />
  if (!empty($feedOut))<br />
  {<br />
    start_block("News powered by", "feedread", "div");<br />
     echo $feedOut;<br />
    end_block();<br />
  }<br />
?&gt;</code></p></blockquote>
<p>Durch das <code>start_block("News powered by", "feedread", "div");</code> kommt ein <code>&lt;div id="feedread"&gt;</code> um den Newsfeed. Dadurch kann die CSS-Formatierung genau angepasst werden. Vor die Feed-Bezeichnung kommt dann noch ein &#8220;News powered by&#8221;.  Damit wäre die Anzeige der 4 neuesten <a href="http://www.websozis.de" class="newWindow">WebSozi-Nachrichten</a> mit Anrisstext fertig, wenn ich nicht den <a href="http://validator.w3.org/" class="newWindow">Validator</a> auf die Seite losgelassen hätte.</p>
<h3>Validierung</h3>
<p>Dieser meckert in der Grundeinstellung eine ungültige Versachtelung von Block- und Inline-Elementen an. Um dies valide zu bekommen, ist eine Änderung des Quellcodes notwendig. Um die Zeile 312 von <code>wp-content/plgins/cg-plugins/phpread.php</code> herum ersetzte ich<br />
<blockquote><code>			if ($likeWPPosts)<br />
				$output .= "&lt;/h3&gt;".$lf; /* close each item */<br />
			else<br />
				$output .= "&lt;/div&gt;&lt;/li&gt;".$lf; /* close each item */</code></p>
<p>			<code>if ($showDetails)<br />
			{<br />
				if ($likeWPPosts)<br />
					$output .= "&lt;div class='storycontent'&gt;$itemDescription&lt;/div&gt;".$lf;<br />
				else<br />
					$output .= "&lt;p class='feedItemDescription'&gt;$itemDescription&lt;/p&gt;".$lf;<br />
			}<br />
			</code></p></blockquote>
<p>durch</p>
<blockquote><p><code>			if ($likeWPPosts)<br />
				$output .= "&lt;/h3&gt;".$lf; /* close each item */<br />
			else<br />
				$output .= "&lt;/span&gt;&lt;br /&gt;".$lf; /* close each item */</code></p>
<p>			<code>if ($showDetails)<br />
			{<br />
				if ($likeWPPosts)<br />
					$output .= "&lt;div class='storycontent'&gt;$itemDescription&lt;/div&gt;".$lf;<br />
				else<br />
					$output .= "&lt;span</p>
<p>class='feedItemDescription'&gt;$itemDescription&lt;/span&gt;".$lf."&lt;/li&gt;".$lf;<br />
			}<br />
			else $output .= "&lt;/li&gt;".$lf;</code></p></blockquote>
<p>Durch die Änderung bleibt das HTML auch bei ausgeschaltetem Anrisstext valide.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thomasr-vogt.de/news-anzeige-einbauen/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>WordPress anpassen, Teil 3 (Plugins)</title>
		<link>http://www.thomasr-vogt.de/wordpress-anpassen-teil-3-plugins</link>
		<comments>http://www.thomasr-vogt.de/wordpress-anpassen-teil-3-plugins#comments</comments>
		<pubDate>Mon, 18 Oct 2004 21:23:47 +0000</pubDate>
		<dc:creator>Thomas</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[xHTML und Co.]]></category>

		<guid isPermaLink="false">http://www.thomasr-vogt.de/?p=23</guid>
		<description><![CDATA[Einige Dinge, die ich hier eingebaut habe, sind in der Grundinstallation von WordPress nicht enthalten. Es ist aber relativ leicht, neue Funktionen über Plugins nachzurüsten. Ich verwende mehrere Plugins auf meiner Seite. Einige erleichtern das Erstellen der Posts, andere beeinflussen die Darstellung des Weblogs. Acronym Replacer von Joel Bennett CG-Feedread von David Chait Image Browser [...]]]></description>
			<content:encoded><![CDATA[<p>Einige Dinge, die ich hier eingebaut habe, sind in der Grundinstallation von <a href="http://wordpress.org">WordPress</a> nicht enthalten. Es ist aber relativ leicht, neue Funktionen über <a href="http://wiki.wordpress.org/Plugin">Plugins</a> nachzurüsten.</p>
<p>Ich verwende mehrere Plugins auf meiner Seite. Einige erleichtern das Erstellen der Posts, andere beeinflussen die Darstellung des Weblogs.</p>
<ul>
<li><a href="http://www.huddledmasses.org/">Acronym Replacer</a> von Joel Bennett</li>
<li><a href="http://www.chait.net/index.php?p=85">CG-Feedread</a> von David Chait</li>
<li><a href="http://www.bistr-o-mathik.org/code/wordpress-plugins/">Image Browser</a> von Florian Jung</li>
<li><a href="http://www.coffee2code.com/wp-plugins/">Random File</a> von Scott Reilly</li>
<li><a href="http://mookitty.co.uk/devblog/catagories/show-categories/">Show Category Posts</a> von Kitten</li>
<li><a href="http://www.ifelse.co.uk/archives/2004/08/17/time-of-day-plugin-v1/">Dunstan&#8217;s Time of Day</a> von Phu Ly &#038; Dunstan Orchard</li>
<li><a href="http://www.andrew-hall-artist.com/journal/index.php?cat=30">AH Select Custom for WP 1.2</a>  von Andrew Hall</li>
</ul>
<p>Die Konfiguration und Anpassung ist unterschiedlich schwer. Deshalb möchte ich ein paar Hinweise geben, die mir beim Installieren aufgefallen sind.<br />
<span id="more-23"></span><br />
Sehr einfach ist die Installation von<a href="http://www.ifelse.co.uk/archives/2004/08/17/time-of-day-plugin-v1/">Dunstan&#8217;s Time of Day</a>. Der Zweck diese Plugins ist es, die Angabe der Zeit, wann der Beitrag verffentlich wurde von dem sehr technischen 17.10.2004, 8:05:12 auf Zeitangaben wie &#8220;am frühen Nachmittag&#8221; oder &#8220;abends&#8221; umzustellen.<br />
Zur Anpassung habe ich zunächst in der Datei <code>timeofday.php</code> die englischen Zeitangaben übersetzt. Die geänderte Datei kommt ins Plugin-Verzeichnis. Nach dem Aktivieren über den Plugin-Manager ist noch eine kleine Anpassung der <code>index.php</code> notwendig.</p>
<blockquote><p><code>&lt;div class="meta"&gt;&lt;?php _e("Filed under:"); ?&gt; &lt;?php the_category() ?> &#8212; &lt;?php the_author() ?&gt; @ &lt;?php the_time() ?&gt; &lt;?php edit_post_link(); ?&gt;&lt;/div&gt;</code></p></blockquote>
<p>wird ersetzt durch</p>
<blockquote><p><code>&lt;div class="meta"&gt;&lt;?php _e("Filed under:"); ?&gt; &lt;?php the_category() ?> &#8212; &lt;?php the_author() ?&gt; schrieb &lt;?php time_of_day(abs(strtotime($post->post_date))); ?&gt; &lt;?php edit_post_link(); ?&gt;&lt;/div&gt;</code></p></blockquote>
<p>Bei der Ausgabe erscheint dann &#8220;Thomas schrieb abends&#8221; statt &#8220;Thomas @ 19:55:04&#8243;.</p>
<p>Der <a href="http://www.huddledmasses.org/">Acronym Replacer</a> erfordert gar keine Änderung an der <code>index.php</code>.  Nach dem Kopieren ins Plugin-Verzeichnis und dem Aktivieren werden alle in der <code>acronyms.php</code> definierten Abkürzungen durch ein <code>&lt;acronym title="Erklärung"&gt;</code> umschlossen.<br />
Es gibt aber eine kleine Stolperstelle, die es zu vermeiden gilt. Die Datei wird im Quelltext zum Download angeboten. Beim Kopieren in eine Datei muss man darauf achten, dass nach dem letzten <code>?&gt;</code> kein Leerzeichen oder Zeilenumbruch kommt. Dies führt sonst zu seltsamen Fehlermeldungen  wie &#8220;Header alredy sent&#8221;.</p>
<p>Um eine neue Erklärung hinzuzufügen muss nur eine Zeile wie</p>
<blockquote><p> <code>"$SPD$" =&gt; "Sozialdemokratische Partei Deutschlands",</code></p></blockquote>
<p>hinzugefügt werden. Das Komma am Ende ist wichtig.<br />
Nach ein paar Anpassungen an die von mir verwendeten Abkürzungen war das Plugin einsatzbereit. Jetzt werden Abkürzungen in meinen Beiträgen speziell formatiert. Beim Daraufzeigen mit der Maus ändert sich der Mauszeiger und die Erklärung wird als sogenannter Quicktipp angezeigt.<br />
So sieht der entsprechende CSS-Abschnitt aus:</p>
<blockquote><p><code>#content div.post acronym {<br />
	text-decoration: none;<br />
	border-bottom: 1px dotted Black;<br />
	cursor:help;<br />
}</code></p></blockquote>
<p>Neben dem <code>&lt;acronym&gt;</code>-Tag, das eigentlich für Abkürzungen steht, gibt es in den HTML-Standards auch noch das &lt;abbr&gt;-Tag, das abgekürzte Schreibweisen kennzeichnet. Die Übergänge sind fliessend. Ausserdem wird &lt;abbr&gt; vom Internet Explorer nicht unterstützt. Somit bleibe ich bei <code>&lt;acronym&gt;</code>, auch wenn es nicht ganz genau den Standards entspricht .</p>
<p>Der <a href="http://www.bistr-o-mathik.org/code/wordpress-plugins/">Image Browser</a> von Florian Jung wird einfach ins Plugin-Verzeichnis kopiert und aktiviert. Es steht dann bei aktiviertem Javaskript ein zusätzlicher Link beim Beitragschreiben zur Verfügung. Dieser öffnet ein neues Browser-Fenster, das alle Bilder im Upload-Verzeichnis zur Auswahl anbietet. Ein Klick auf &#8220;Select&#8221; zeigt das ausgewählte Bild an. Man hat dann die Möglichkeit eine Bildbeschreibung anzugeben und das Bild entweder direkt in den Beitrag zu übernehmen oder einen Link auf das Bild einzufügen. Mit &#8220;Get the Code&#8221; wird der HTML-Code angezeigt, der mit &#8220;Add it to the post!&#8221; in den Beitrag übernommen wird.</p>
<p>Mit <a href="http://www.coffee2code.com/wp-plugins/">Random File</a> von Scott Reilly wird das Bild in der linken Spalte zufällig ausgewählt und angezeigt. Die Bilder haben die gleiche Breite und liegen alle in einem Unterverzeichnis. Nach dem Installieren des Plugins (Kopieren und Aktivieren) erfolgt der Aufruf in der <code>index.php</code> folgendermassen:</p>
<blockquote><p><code>&lt;img alt="Zufallsbild" class="randomimg" src="&lt;?php echo random_file('/wp-content/thumbs/'); ?&gt;" /&gt;</code></p></blockquote>
<p>D.h. das Plugin wählt eine Datei aus dem Verzeichnis &#8220;/wp-content/thumbs/&#8221; aus und schreibt den Dateinamen zusammen mit dem Pfad an die entsprechende Stelle in der <code>index.php</code>. Mit anderen Parametren aufgerufen kann man damit auch Zufallszitate ausgeben. Die englische Installationsanleitung bietet dazu einige Beispiele.</p>
<p><a href="http://www.andrew-hall-artist.com/journal/index.php?cat=30">AH Select Custom for WP 1.2</a> von Andrew Hall nutze ich um die Begrüssung am Anfang der Seite zu halten. Die Installationsanleitung ist für diesen Beitrag etwas zu aufwändig. Ähnliches gilt auch für <a href="http://www.chait.net/index.php?p=85">CG-Feedread</a> von David Chait. Das Plugin ist für die Einblendung der Websozi-News zuständig. Und mit <a href="http://mookitty.co.uk/devblog/catagories/show-categories/">Show Category Posts</a> von Kitten steuere ich die Anzeige der &#8220;About me&#8221;-Seiten. Also Impressum, Privates und andere Seiten, die sich nicht sooft ändern, auf die aber direkt über das Menü zugegriffen werden soll.</p>
<p>Die nächsten 3 technischen Beitäge zu WordPress stehen also vom Thema schon fest.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thomasr-vogt.de/wordpress-anpassen-teil-3-plugins/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>
