<?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>Thomas Welt &#187; Wordpress</title>
	<atom:link href="http://www.thomas-loschen.de/tag/wordpress/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.thomas-loschen.de</link>
	<description>Gedanken und Meinungen zu Büchern, Musik, Design, Politik und Hobbies von Thomas Loschen</description>
	<lastBuildDate>Tue, 07 Feb 2012 15:24:44 +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 PlugIn Entwicklung</title>
		<link>http://www.thomas-loschen.de/2011/wordpress-plugin-entwicklung/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=wordpress-plugin-entwicklung</link>
		<comments>http://www.thomas-loschen.de/2011/wordpress-plugin-entwicklung/#comments</comments>
		<pubDate>Wed, 09 Mar 2011 09:19:05 +0000</pubDate>
		<dc:creator>tloschen</dc:creator>
				<category><![CDATA[...allem Möglichen]]></category>
		<category><![CDATA[...Design]]></category>
		<category><![CDATA[Debugging]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[Plug In]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[Template]]></category>
		<category><![CDATA[Web- und Multimedia]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.thomas-loschen.de/?p=419</guid>
		<description><![CDATA[<br />
<b>Warning</b>:  call_user_func_array() [<a href='function.call-user-func-array'>function.call-user-func-array</a>]: First argument is expected to be a valid callback, 'Array' was given in <b>/hp/bj/ac/rt/www/thomasloschen/wp-includes/plugin.php</b> on line <b>170</b><br />
]]></description>
			<content:encoded><![CDATA[<p>Um bei der Entwicklung von Plugins für WordPress nicht im Blindflug artbeiten zu müssen, sollte man das Debugging anstellen. Dieses geschieht, indem man in der Datei
<pre><strong>"wp-config.php"</strong></pre>
<p> die Zeile
<pre><code>define('WP_DEBUG', false);</code></pre>
<p>ändert. <span id="more-419"></span><br />
Folgende Zeilen müssen stattdessen eingefügt werden:</p>
<pre><code>
// Turns WordPress debugging on
define('WP_DEBUG', true);

// Tells WordPress to log everything to the /wp-content/debug.log file
define('WP_DEBUG_LOG', true);

// Doesn't force the PHP 'display_errors' variable to be on
define('WP_DEBUG_DISPLAY', false);

// Hides errors from being displayed on-screen
@ini_set('display_errors', 0);

</code></pre>
<p>Eine gute Idee ist natürlich, vorher eine Sicherungskopie der Datei anzulegen.</p>
<p>Wenn diese Einstellungen gemacht sind, erhält man zum Beispiel eine solche Meldung in der neu angelegten Datei <strong>/wp-content/debug.log</strong>:</p>
<p><em>[15-Feb-2011 20:09:14] PHP Notice: get_usermeta is deprecated since version 3.0! Use get_user_meta() instead. in C:\Code\Plugins\wordpress\wp-includes\functions.php on line 3237</em></p>
<p>Die Datei &#8220;debug.log&#8221; gibt also eine gute Hilfe bei der Entwicklung.</p>
<p>Will man nun eigene Meldungen ausgeben, benötigt man folgende Funktion in den PHP-Dateien:</p>
<pre><code>function log_me($message) {
	if (WP_DEBUG === true) {
		if (is_array($message) || is_object($message)) {
		error_log(print_r($message, true));
	} else {
		error_log($message);
		}
	}
}</code></pre>
<p>Die Funktion ruft man in dieser Form auf:</p>
<pre><code>log_me(array('This is a message' =&gt; 'for debugging purposes'));
log_me('This is a message for debugging purposes');</code></pre>
<p><small>Gefunden bei <a href="http://www.smashingmagazine.com/2011/03/08/ten-things-every-wordpress-plugin-developer-should-know/">www.smashingmagazine.com</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.thomas-loschen.de/2011/wordpress-plugin-entwicklung/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress multilingual mit WPML Teil 2</title>
		<link>http://www.thomas-loschen.de/2010/wordpress-multilingual-mit-wpms-teil-2/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=wordpress-multilingual-mit-wpms-teil-2</link>
		<comments>http://www.thomas-loschen.de/2010/wordpress-multilingual-mit-wpms-teil-2/#comments</comments>
		<pubDate>Thu, 23 Sep 2010 15:23:22 +0000</pubDate>
		<dc:creator>tloschen</dc:creator>
				<category><![CDATA[...allem Möglichen]]></category>
		<category><![CDATA[...Design]]></category>
		<category><![CDATA[Web- und Multimedia]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[WPMS]]></category>

		<guid isPermaLink="false">http://www.thomas-loschen.de/?p=315</guid>
		<description><![CDATA[<br />
<b>Warning</b>:  call_user_func_array() [<a href='function.call-user-func-array'>function.call-user-func-array</a>]: First argument is expected to be a valid callback, 'Array' was given in <b>/hp/bj/ac/rt/www/thomasloschen/wp-includes/plugin.php</b> on line <b>170</b><br />
]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">Teil 2 beschäftigt sich mit den etwas &#8220;banaleren&#8221; Dingen eines Blogs mit WPML-Unterstützung – der Bearbeitung und Übersetzung der Inhalte.<br />
Hat man nun die Hürde der Einrichtung des Templates genommen und das CMS eingerichtet, sollen nun die Inhalte übersetzt werden. Der Normalfall wird sein, dass eine Sprachfassung vorliegt und dann übersetzt werden soll.</p>
<p style="text-align: left;">Mit WPML erscheint wie in Teil 1 schon erwähnt in der Artikelübersicht eine neue Spalte mit den <a class="thickbox" href="http://www.thomas-loschen.de/wp-content/uploads/2010/09/wpml_articles.jpg" target="_blank">Symbolen + oder Bleistift</a> zum hinzufügen oder bearbeiten einer Sprachvariante eines Artikels. Ist noch kein Inhalt in der neuen Sprache angelegt, wählt man das Plus-Symbol, möchte man eine Übersetzung anlegen, wählt man den Bleistift. Man gelangt auf die leicht veränderte Eingabeseite von WordPress.<span id="more-315"></span>Hier gibt es oben rechts ein <a class="thickbox" href="http://www.thomas-loschen.de/wp-content/uploads/2010/09/wpml_languages.jpg" target="_blank">neues Feld: &#8220;Sprache&#8221;</a>, in dem man einstellen kann, in welcher Sprache der aktuelle Artikel angelegt ist und welche weiteren Übersetzungen dieses Artikels es gibt. Man kann in diesem Feld auch angeben, zu welcher Sprache der aktuell bearbeitete Artikel gehören soll und welcher Artikel die &#8220;Mutter&#8221; ist.<br />
Der ursprüngliche Inhalt (also die erste Sprachfassung) wird hier aber nicht angezeigt, so dass es sinnvoll ist ein zweites Fenster oder einen Tab mit dieser Fassung zu öffnen. Hat man in dem Artikel auch Bilder eingebettet, sollte man den kompletten Inhalt des Eingabefelds aus Fassung A in die neue Fassung hineinkopieren. So hat man die einmal angelegte Formatierung vorliegen und kann den Text einfach &#8220;überschreiben&#8221;  und Bilder einfach an ihrem einmal zugewiesenen Platz belassen. Das erleichtert die Übersetzungsarbeit und verhindert, Bilddaten eventuell doppelt hochzuladen.<br />
Leider wird die Auswahl der Kategorie nicht von der einen in die andere Fassung übernommen. Meiner Meinung nach ist das ein Manko von WPML. Ich würde es begrüßen, wenn die Struktur eines Artikels komplett sprachunabhängig angelegt und so in allen Sprachvarianten gleich wäre. Wenn ich aber in jeder Variante eine andere Strukturierung anlegen kann, ist die Gefahr gross, hier etwas durcheinander zu bringen.<br />
Dies zeigt sich auch in der Verwaltung der Kategorien: anders als bei den Artikeln gibt es hier nicht die Symbole &#8220;Plus&#8221; und &#8220;Bleistift&#8221;, sondern <a class="thickbox" href="http://www.thomas-loschen.de/wp-content/uploads/2010/09/wpml_categories.jpg" target="_blank">oberhalb der Liste</a> die Sortierung nach den verschiedenen Sprachen. In meinem Fall war die zweite Sprache gleich der schwerste Brocken: chinesisch! Hier fällt natürlich die Zuordnung eines Artikels zu einer Kategorie schwer, wenn man der Sprache nicht mächtig ist. Es wäre sinnvoll, wenn wenigstens die gleiche Kategorie in allen Sprachen schon angewählt wäre, oder man irgendwie erkennen könnte, welche Kategorien zusammengehören. Das relativiert sich natürlich etwas, wenn man beide Sprachen beherrscht.</p>
<p style="text-align: left;">Auch der &#8220;Slug&#8221;, also die Kurzfassung einer Kategorie darf nicht die gleiche sein. Dies betrifft zwar in erster Linie die Programmierung der Templates und wird durch den Automatismus in WPML abgefangen, erleichtert aber nicht unbedingt den Umgang mit einem multilingualen Blog.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thomas-loschen.de/2010/wordpress-multilingual-mit-wpms-teil-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress multilingual mit WPML</title>
		<link>http://www.thomas-loschen.de/2010/wordpress-multilingual-mit-wpml/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=wordpress-multilingual-mit-wpml</link>
		<comments>http://www.thomas-loschen.de/2010/wordpress-multilingual-mit-wpml/#comments</comments>
		<pubDate>Tue, 03 Aug 2010 12:22:37 +0000</pubDate>
		<dc:creator>tloschen</dc:creator>
				<category><![CDATA[...allem Möglichen]]></category>
		<category><![CDATA[...Design]]></category>
		<category><![CDATA[Web- und Multimedia]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[Mehrsprachig]]></category>
		<category><![CDATA[mehrsprachige Blogs]]></category>
		<category><![CDATA[multilingual]]></category>
		<category><![CDATA[Templates]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[WPML]]></category>

		<guid isPermaLink="false">http://www.thomas-loschen.de/?p=302</guid>
		<description><![CDATA[<br />
<b>Warning</b>:  call_user_func_array() [<a href='function.call-user-func-array'>function.call-user-func-array</a>]: First argument is expected to be a valid callback, 'Array' was given in <b>/hp/bj/ac/rt/www/thomasloschen/wp-includes/plugin.php</b> on line <b>170</b><br />
]]></description>
			<content:encoded><![CDATA[<p>Vor kurzem habe ich das erste Mal eine Webseite auf Basis von WordPress mehrsprachig umgesetzt. Nach einiger Recherche fiel die Entscheidung auf die Verwendung des <a href="http://wpml.org/de/">PlugIns WPML (WordPress Multilingual)</a> zur Übersetzung der Inhalte. Hier nun ein kleiner Erfahrungsbericht. <span id="more-302"></span><br />
WPML ist deswegen zur Auswahl gekommen, weil es &#8220;echte&#8221; Übersetzungen erlaubt. Es kursieren unter dem Stichwort &#8220;mulitlingual&#8221; oder &#8220;multi language&#8221; auch etliche PlugIns, die eine automatisierte Übersetzung via Google Translate oder ähnlichen Diensten einfügen &#8211; die Qualität dieser Übersetzungen kennt man ja aus etlichen <a href="http://www.visualblog.de/2010/07/dr-rod-thompson-kostlich/">merkwürdigen Spam-Mails</a>.<br />
WPML bietet also die Möglichkeit, weitere Sprachfassungen zu allen Inhalten anzulegen. Dazu wird im Backend zum einen ein neuer Bereich ins Menü (WPML) und je eine neue Spalte in die Übersichten eingefügt, die anzeigt, ob zu einem Inhalt auch eine Übersetzung in den angelegten Sprachen vorhanden ist. Oben erscheint eine Flagge und in der Spalte darunter Symbole zum Anlegen (ein Plus) oder Ändern (ein Bleistift) eines Posts. Das Menü bietet Grundeinstellungen und Funktionen wie zum Beispiel die Übersetzung von einzelnen Phrasen aus den Templates an. Alles in allem ganz nett und intuitiv soweit. An der Integration ins WordPress-System jedenfalls kann man nicht meckern.<br />
Viel komplexer wird es allerdings, die Templates auch entsprechend umzubauen.<br />
Den größten Stolperstein bietet da meiner Meinung nach, dass Posts und Kategorien in den Sprachfassungen eine andere ID bekommen. Habe ich also einen deutschen Post mit der ID 5, hat der gleiche Post auf englisch eine andere ID, z.B. 354. Genau so verhält es sich mit Kategorien: auch diese haben andere IDs in den Sprachvarianten, auch die &#8220;Slugs&#8221;, die Kurzform in der Datenbank muss unterschiedlich sein.<br />
Hat man nun also &#8220;harte&#8221; Links in seinem Menü verwendet, werden diese eigentlich nicht mehr funktionieren. Hier greifen daher die Funktion <a href="http://wpml.org/de/documentation-3/support-2/mehrsprachige-wordpress-themen-erstellen/hart-codierte-themenlinks/">&#8220;icl_link_to_element&#8221;</a>, und die Funktion &#8220;ID-Adjust&#8221;. Die erste Funktion ersetzt bisher eingesetzte WordPress-Links, die zweite passt automatisch die IDs an, so dass es keine &#8220;toten&#8221; Links mehr geben sollte.<br />
Sofern noch nicht geschehen, sollten alle Theme-Dateien außerdem noch auf vorhandene Phrasen &#8220;Strings&#8221; überprüft werden. Diese kann man dann &#8220;maskieren&#8221; und so für WPMLs integrierte Funktion zur Übersetzung der Theme-Dateien zur Verfügung stellen. Die Maskierung geschieht über die Funktion
<pre><code>&lt;?php _e('STRING'); ?&gt;</code></pre>
<p>.</p>
<p>Was fehlt ist aber immer noch die Übersetzung fester Begriffe aus WordPress. Es können an keiner Stelle die Begriffe &#8220;more&#8230;&#8221; (für den automatischen Link zum Weiterlesen) oder für die Links zum Blättern in den Artikeln ersetzt werden. Diese kann man zwar in den Templates definieren, lassen sich aber nicht wie oben beschrieben maskieren (sie stehen ja schon in einer php-Funktion). Hier sehe ich noch Verbesserungspotential und habe noch keine Lösung für diesen Umstand gefunden. Hier sollte WPML noch eine Lösung anbieten. Man kann sich behelfen, indem man eine if/else-Abfrage schreibt, die aufgrund der URL einen anderen Code ausführt. Da man die Template-Tags durch Variablen ändern kann, ist eine Übersetzung über diesen Weg möglich.<br />
Auch das Verfahren, jeder Sprachfassung eines Posts eine neue ID zu geben und nur über die Funktion &#8220;icl_link_to_element&#8221; den Eintrag sprachneutral verlinken zu können, macht mehr Arbeit als notwendig. Hier geht das PlugIn <a href="http://wordpress.org/extend/plugins/qtranslate/">&#8220;qTranslate&#8221;</a> einen anderen Weg und speichert zunächst einmal einen Artikel, den man dann in verschiedenen Sprachvarianten anlegt. Ob die Übersetzung und Programmierung der Templates nun mit &#8220;qtranslate&#8221; besser als mit WPML funktioniert, kann ich leider nicht beurteilen. WPML kann ich aufgrund der Erfahrungen eigentlich schon empfehlen, gerade wenn man die hier beschriebenen Kniffe kennt.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thomas-loschen.de/2010/wordpress-multilingual-mit-wpml/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Seitenbaum in WordPress</title>
		<link>http://www.thomas-loschen.de/2010/seitenbaum-in-wordpress/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=seitenbaum-in-wordpress</link>
		<comments>http://www.thomas-loschen.de/2010/seitenbaum-in-wordpress/#comments</comments>
		<pubDate>Mon, 19 Jul 2010 14:58:43 +0000</pubDate>
		<dc:creator>tloschen</dc:creator>
				<category><![CDATA[...allem Möglichen]]></category>
		<category><![CDATA[...Design]]></category>
		<category><![CDATA[Web- und Multimedia]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[Pages]]></category>
		<category><![CDATA[Seiten]]></category>
		<category><![CDATA[Seitenbaum]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.thomas-loschen.de/?p=293</guid>
		<description><![CDATA[<br />
<b>Warning</b>:  call_user_func_array() [<a href='function.call-user-func-array'>function.call-user-func-array</a>]: First argument is expected to be a valid callback, 'Array' was given in <b>/hp/bj/ac/rt/www/thomasloschen/wp-includes/plugin.php</b> on line <b>170</b><br />
]]></description>
			<content:encoded><![CDATA[<p>Jetzt kann man auch in WordPress einen Seitenbaum verwenden. Mit <a href="http://eskapism.se/code-playground/cms-tree-page-view/">&#8220;CMS Page Tree View&#8221;</a> organisiert man Seiten in ähnlicher Form, wie man dies zum Beispiel im Windows-Explorer oder in verschiedenen Content Management Systemen wie z. B. typo3 kennt. Das Plugin ist gut in das System integriert und bietet sich auf jeden Fall an, wenn man WordPress eher als CMS als als Blog-System verwenden will. Gerade wenn man, wie in meinem älteren Artikel beschrieben, WordPress als CMS einsetzen möchte, erleichtert ein solches PlugIn erheblich die Arbeit – die doch recht abstrakte Organisation von Seiten über die Vergabe von Nummern gehört damit der Vergangenheit an.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thomas-loschen.de/2010/seitenbaum-in-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress als CMS</title>
		<link>http://www.thomas-loschen.de/2010/wordpress-als-cms/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=wordpress-als-cms</link>
		<comments>http://www.thomas-loschen.de/2010/wordpress-als-cms/#comments</comments>
		<pubDate>Tue, 06 Jul 2010 08:27:27 +0000</pubDate>
		<dc:creator>tloschen</dc:creator>
				<category><![CDATA[...allem Möglichen]]></category>
		<category><![CDATA[...Design]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[Fold Page List]]></category>
		<category><![CDATA[Get Custom Field Values]]></category>
		<category><![CDATA[Secondary HTML Content]]></category>
		<category><![CDATA[Web- und Multimedia]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.thomas-loschen.de/?p=108</guid>
		<description><![CDATA[<br />
<b>Warning</b>:  call_user_func_array() [<a href='function.call-user-func-array'>function.call-user-func-array</a>]: First argument is expected to be a valid callback, 'Array' was given in <b>/hp/bj/ac/rt/www/thomasloschen/wp-includes/plugin.php</b> on line <b>170</b><br />
]]></description>
			<content:encoded><![CDATA[<p>Ich habe in den letzten Tagen an der Umsetzung einer neuen Webseite gearbeitet. Ziel war es, WordPress als Content Management System einzusetzen. Entgegen der Verwendung als Blogsystem stehen dann natürlich die statischen Seiten im Vordergrund und nicht so sehr die Blogging-Funktionen. Dabei ist natürlich die Bearbeitung der Inhalte etwas eingeschränkt, da es für jede Seite nur ein Eingabefeld gibt. In anderen Content Management Systemen wie etwa TYPO3 lassen sich mehrere Absätze  innerhalb einer Seite anlegen. Außerdem werden mehrer Spalten auf einer Seite unterstützt, welche sich bequem im Backend (der Benutzeroberfläche) anlegen und auch von ungeübten Nutzern bearbeiten. Wie es aber trotzdem möglich ist, klassische Firmenwebseiten in WordPress aufzubauen, schreibe ich hier. <span id="more-108"></span><br />
Zunächst geht es um die Struktur der Seite, die möglichst dynamisch angelegt sein soll, so dass das Hinzufügen, Verschieben und Ändern von Seiten innerhalb von WordPress geschehen kann. Es verbietet sich also somit, feste Links in die Menüs einzufügen.<br />
Die Seiten anzulegen und die Struktur aufzubauen ist erst einmal kein Problem, hier gibt man beim Anlegen der Seiten die Reihenfolge an. So kann man die Seiten sehr einfach in verschiedenen Hierarchien anlegen.</p>
<p><a title="www.susan-reinhold.de" href="http://www.susan-reinhold.de" target="_blank">Die Webseite, die aufgebaut werden sollte</a>, hat eine dreistufige Menüstruktur. In einer Hauptnavigation im Kopfbereich stehen Links zur ersten Ebene, in einem Submenü auf der linken Seite Links zu Seiten der zweiten und dritten Ebene.<br />
Die erste Ebene zu verlinken ist eigentlich kein Problem, hier reicht die Codezeile:</p>
<pre><code>
&lt;?php wp_list_pages('title_li=&amp;child_of=0&amp;depth=1'); ?&gt;
</code></pre>
<p>, um Links zur ersten Ebene zu erzeugen. Für das Submenü (2. und 3. Ebene) habe ich zuerst auf die Funktion &#8220;wp_list_pages&#8221; zurückgegriffen, was auch grundsätzlich funktioniert. Jedoch wurden mit dem Script, welches ich verwendete, ab der dritten Ebene die Links zu den Seiten der zweiten Ebene nicht mehr angezeigt.</p>
<p>Hier bietet das PlugIn &#8220;<a title="Fold Page List" href="http://www.webspaceworks.com/resources/wordpress/30/" target="_blank">Fold Page List</a>&#8221; Abhilfe. Mit diesem PlugIn können Navigationen realisiert werden, die erst auf Klick die Unterseiten anzeigen.<br />
Trotzdem ist auch hier noch eine etwas komplexere PHP-Abfrage notwendig, um die Navigation korrekt hinzubekommen.</p>
<pre><code>
&lt;?php
$g_page_id = $wp_query-&gt;get_queried_object_id();
$ancestorIDs = _wswwpx_page_get_ancestor_ids($g_page_id);
$grandParent = $ancestorIDs[1];
wswwpx_fold_page_list("title_li=&amp;sort_column=menu_order&amp;child_of=".$grandParent);?&gt;
</code></pre>
<p>fragt zunächst alle Page-IDs ab, ermittelt daraus alle IDs der Unterebenen und gibt dann alle &#8220;Kinder&#8221; über das PlugIn aus. Das Schöne daran ist, dass die Links zur dritten Ebene auch erst nach Klick angezeigt werden, also sich erst &#8220;aufblättern&#8221;, wenn es notwendig ist.</p>
<p>Als weiteres Problem stellte sich heraus, dass ich veränderbare Inhalte zu den Seiten hinzufügen wollte. Wie oben schon beschrieben, hat WordPress keine Funktion, mehrere Spalten in der Eingabemaske zu verwalten. Es gibt aber die &#8220;Spezialfelder&#8221;, mit denen man eine ähnliche Funktion einbauen kann. Für Text ist das kein Problem, hier kann man auf &#8220;&lt;?php the_meta(); ?&gt;&#8221; zurückgreifen, welches alle Inhalte der Spezialfelder als Liste ausgibt. Der Name des Spezialfeldes wird dabei auch mit ausgegeben und mit einer Span-Klasse markiert. So konnte ich zum Beispiel einen Kasten in einer Spalte aufbauen, auch wenn dabei noch ein klein wenig Code in der Eingabe notwendig war.</p>
<p><strong>UPDATE</strong>: Für die Einbindung von weiterem Content bietet sich übrigens auch das PlugIn &#8220;<strong>Secondary HTML Content</strong>&#8221; an! Dieses PlugIn einfach installieren und man hat eine komfortable Möglichkeit, Text in einen weiteren Inhaltscontainer einzuladen. Im Template muss dann über die Funktion &#8220;get_secondary_content()&#8221; der Inhalt eingebunden werden. Somit entfällt der bei umfangreicheren Texten doch recht mühselige Umgang mit den &#8220;Custom fields&#8221;.</p>
<p>Ein Nachteil dieser Lösung ist aber, dass die Funktion von WordPress alle Spezialfelder in einer Liste ausgibt. Nun sollte aber jede Seite auch noch mit einer individuellen Kopfgrafik aufgebaut werden, die VOR der Seitenüberschrift im Quelltext auftauchen sollte. Ich konnte diese Bilder also nicht über den Artikel einfügen, denn damit hätte ich das gewünschte Layout nicht hinbekommen und das Bild erschien unterhalb der Seitenüberschrift.</p>
<p>Mit dem PlugIn &#8220;<a title="Plugin-Website besuchen" href="http://coffee2code.com/wp-plugins/get-custom-field-values">Get Custom Field Values</a>&#8221; kann man Werte aus den Spezialfeldern auslesen und innerhalb eines Loops verwenden. So hatte ich die Möglichkeit, je ein Spezialfeld für die individuellen Kopfbilder und die rechten Spalten anzulegen, ohne daß über &#8220;the_meta()&#8221; gleich alle Inhalte angezeigt werden.</p>
<p>Innerhalb des Loops gebe ich dann Folgendes über der Seitenüberschrift aus:</p>
<pre><code>
&lt;?php echo c2c_get_custom('NameDesFeldes', '&lt;img class="NameDerKlasse" src="PfadZuDenBildern', '.jpg" /&gt;', 'blank'); ?&gt;
</code></pre>
<p>Damit lese ich das Feld &#8220;Name des Feldes&#8221; aus und erzeuge den Quelltext für die Einbindung des Bildes. Im Spezialfeld für das Kopfbild braucht man jetzt nur noch den Bildnamen einzugeben. Ach ja, die Bildverwaltung mache ich dann über das sehr schöne PlugIn &#8220;<a title="Plugin-Website besuchen" href="http://alexrabe.boelinger.com/?page_id=80">NextGEN Gallery</a>&#8220;. In der Albumübersicht kann der Pfad und auch der Bildname sehr einfach ermittelt werden.</p>
<p>Hier ein Link zur Webseite, um die es dabei ging: <a title="www.susan-reinhold.de" href="http://www.susan-reinhold.de" target="_blank">www.susan-reinhold.de</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.thomas-loschen.de/2010/wordpress-als-cms/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Neues Design online</title>
		<link>http://www.thomas-loschen.de/2009/neues-design-online/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=neues-design-online</link>
		<comments>http://www.thomas-loschen.de/2009/neues-design-online/#comments</comments>
		<pubDate>Thu, 08 Oct 2009 07:41:12 +0000</pubDate>
		<dc:creator>tloschen</dc:creator>
				<category><![CDATA[...allem Möglichen]]></category>
		<category><![CDATA[...Design]]></category>
		<category><![CDATA[Template]]></category>
		<category><![CDATA[Web- und Multimedia]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.thomas-loschen.de/?p=220</guid>
		<description><![CDATA[<br />
<b>Warning</b>:  call_user_func_array() [<a href='function.call-user-func-array'>function.call-user-func-array</a>]: First argument is expected to be a valid callback, 'Array' was given in <b>/hp/bj/ac/rt/www/thomasloschen/wp-includes/plugin.php</b> on line <b>170</b><br />
]]></description>
			<content:encoded><![CDATA[<p>Nach einigen Experimenten habe ich nun mein neues Design (fast) fertig. Leider fehlt noch die vollständige Unterstützung für den Internet Explorer, so dass ich im Moment darauf hinweisen muss, dass diese Seiten NUR MIT <a href="http://www.mozilla-europe.org/de/firefox/">FIREFOX </a>oder <a href="http://www.apple.com/de/safari/download/">SAFARI</a> oder dem <a href="http://www.microsoft.com/germany/windows/internet-explorer/">INTERNET EXPLORER 8</a> gut aussehen! Ich verwende abgerundete Ecken, die leider von älteren Internet Explorer Versionen nicht unterstützt werden. In der nächsten Zeit versuche ich auch für die älteren Windows-Browser eine Lösung zu finden.</p>
<p>Ein besonderer Gag des neuen Designs ist der Farbwähler oben links. Hier kann man sich seine Lieblingsfarbe einfach auswählen. Das wollte ich schon immer einmal nutzen. Ich würde mich über Kommentare zu meinem Design freuen.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thomas-loschen.de/2009/neues-design-online/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Navigation verbessert</title>
		<link>http://www.thomas-loschen.de/2009/navigation-verbessert/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=navigation-verbessert</link>
		<comments>http://www.thomas-loschen.de/2009/navigation-verbessert/#comments</comments>
		<pubDate>Fri, 09 Jan 2009 08:52:54 +0000</pubDate>
		<dc:creator>tloschen</dc:creator>
				<category><![CDATA[...allem Möglichen]]></category>
		<category><![CDATA[...Design]]></category>
		<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.thomas-loschen.de/?p=94</guid>
		<description><![CDATA[<br />
<b>Warning</b>:  call_user_func_array() [<a href='function.call-user-func-array'>function.call-user-func-array</a>]: First argument is expected to be a valid callback, 'Array' was given in <b>/hp/bj/ac/rt/www/thomasloschen/wp-includes/plugin.php</b> on line <b>170</b><br />
]]></description>
			<content:encoded><![CDATA[<p>Nachdem ich lange gesucht hatte, warum meine untere Seitennavigation nicht korrekt funktioniert hat, habe ich heute endlich den Fehler gefunden: ich hatte die Einträge auf der Startseite nach einer Kategorie filtern wollen, was aber dazu führte, dass der Standardbefehl zur Navigation nicht mehr funktionierte. Jetzt geht die untere Navigation wieder und man kann endlich auch meine älteren Posts wieder erreichen.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thomas-loschen.de/2009/navigation-verbessert/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

