<?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/"
	xmlns:series="http://unfoldingneurons.com/"
	>

<channel>
	<title>Wordpress &#8226;  Stichwort &#8226; [TiSiE] Blog</title>
	<atom:link href="http://tisie.de/stichwort/wordpress/feed" rel="self" type="application/rss+xml" />
	<link>http://tisie.de</link>
<description>Wenn man einen Blog mit Wordpress betreibt, bleibt es nicht aus, daß man früher oder später auf platformspezifische Probleme trifft. So geht&#8217;s auch mir. Über meine Erfahrungen, Probleme und deren Lösungen berichte ich in diesen Artikeln.
</description>
	<lastBuildDate>Tue, 08 Mar 2011 09:30:31 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=5405</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Shortcodes mit gemischter Schreibweise in einem Artikel</title>
		<link>http://tisie.de/allgemeines/shortcodes-gemischte-schreibweisen-in-artikel</link>
		<comments>http://tisie.de/allgemeines/shortcodes-gemischte-schreibweisen-in-artikel#kommentare</comments>
		<pubDate>Fri, 11 Sep 2009 13:19:56 +0000</pubDate>
		<dc:creator>Mathias Gelhausen</dc:creator>
				<category><![CDATA[Allgemeines]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://tisie.de/?p=433</guid>
		<description><![CDATA[Über die &#8220;Shortcode-API&#8221; von Wordpress gibt es schon viele Artikel und Anleitungen. Auch über die verschiedenen Schreibweisen, die unterstützt werden:


[shortcode]
[shortcode attribut="wert" /]
[shortcode]Inhalt[/shortcode]


Interessant wird es nun aber, wenn man &#8211; so wie ich &#8211; einen Shortcode geschrieben hat, der sowohl   in der &#8220;self-contained&#8221; (Variante 1 und 2) als auch als &#8220;enclosing&#8221; (Variante 3) Form [...]]]></description>
			<content:encoded><![CDATA[<p  style="margin:0 0 10px;text-align:justify;font-size:12px;color:#333;">Über die &#8220;<a href="http://codex.wordpress.org/Shortcode_API" rel="external nofollow"  class="external_link"  title="Die Wordpress Shortcode API"   style="color:#3B5998;">Shortcode-API</a>&#8221; von <a href="http://www.wordpress.org" rel="external nofollow"  class="external_link"  title="Wordress Seite"   style="color:#3B5998;">Wordpress</a> gibt es schon viele Artikel und Anleitungen. Auch über die verschiedenen Schreibweisen, die unterstützt werden:</p>

<ul  style="margin-left:10px;padding-bottom:10px;list-style-type:disc;">
<li  style="list-style-position:outside;font-size:12px;color:#333;">[shortcode]</li>
<li  style="list-style-position:outside;font-size:12px;color:#333;">[shortcode attribut="wert" /]</li>
<li  style="list-style-position:outside;font-size:12px;color:#333;">[shortcode]Inhalt[/shortcode]</li>
</ul>

<p  style="margin:0 0 10px;text-align:justify;font-size:12px;color:#333;">Interessant wird es nun aber, wenn man &#8211; so wie ich &#8211; einen Shortcode geschrieben hat, der sowohl   in der &#8220;self-contained&#8221; (Variante 1 und 2) als auch als &#8220;enclosing&#8221; (Variante 3) Form vorkommen können soll. Verwendet man nämlich beides in dem gleichen Artikel, dann führt das zu unerwarteten Ergebnissen<sup id="fnref:1" ><a href="#fn:1"  rel="footnote"   style="color:#3B5998;">1</a></sup>.</p>

<p  style="margin:0 0 10px;text-align:justify;font-size:12px;color:#333;"><span id="weiterlesen" ></span></p>

<h3 id="problem"   style="border-bottom:1px dashed #CCCCCC;clear:both;font-size:14px;font-weight:bold;margin-bottom:2px;color:#333;">Das Problem</h3>

<p  style="margin:0 0 10px;text-align:justify;font-size:12px;color:#333;">In meinem Fall der Shortcode &#91;link], mit dessen Hilfe ich auf Artikel oder Seiten linken kann. Dabei habe ich &#8211; faul wie ich nunmal bin &#8211; die Möglichkeit eingebaut, entweder nur &#91;link to=&#8221;post_slug|ID&#8221;] zu schreiben oder &#91;link to=&#8221;post_slug|ID&#8221;]Irgendein text, der statt dem Artikel- oder Seitentitel angezeigt werden soll, wobei ein %s mit dem Titel ersetzt wird &#91;/link].</p>

<p  style="margin:0 0 10px;text-align:justify;font-size:12px;color:#333;">Das klappte auch alles soweit ganz gut, bis ich in einem Test-Artikel beide Varianten mischte<sup id="fnref:2" ><a href="#fn:2"  rel="footnote"   style="color:#3B5998;">2</a></sup>:</p>

<pre  style="border:1px solid #ddd;font-size:12px;"><code>\{link to="erdbeer-tiramisu"]

\{link to="stroppy-me-in-concert"]Auftritt\{/link]
</code></pre>

<p  style="margin:0 0 10px;text-align:justify;font-size:12px;color:#333;">Das Resultat war ähnlich dem Folgenden:</p>

<pre  style="border:1px solid #ddd;font-size:12px;"><code>\{link to="stroppy-me-in-concert"]Auftritt
</code></pre>

<p  style="margin:0 0 10px;text-align:justify;font-size:12px;color:#333;">wobei der Text zum Artikel &#8220;Erdbeer-Tiramisu&#8221; verlinkt war.</p>

<p  style="margin:0 0 10px;text-align:justify;font-size:12px;color:#333;">Nach stundenlanger Suche fand ich die Ursache im regulären Ausdruck, der die Shortcodes herausfiltert. Und da Ursachen finden immer der erste Schritt zur Lösung eines Problems ist, war nach ein bißchen ausprobieren und <a href="http://www.regular-expressions.info/lookaround.html" rel="external nofollow"  class="external_link"  title="Regex Tutorial - Lookahead and Lookbehind Zero-Width Assertions"   style="color:#3B5998;">Dokumentation</a> lesen die Lösung auch schon gefunden.</p>

<h3 id="behebung"   style="border-bottom:1px dashed #CCCCCC;clear:both;font-size:14px;font-weight:bold;margin-bottom:2px;color:#333;">Die Lösung</h3>

<p  style="margin:0 0 10px;text-align:justify;font-size:12px;color:#333;">Wie bei vielen Problemen, so ist auch hier die Lösung &#8211; so die Ursache erst einmal gefunden ist &#8211; verblüffend einfach.</p>

<p  style="margin:0 0 10px;text-align:justify;font-size:12px;color:#333;">In der Datei wp-includes/shortcodes.php einfach den regulären Ausdruck von</p>


<div class="wp_syntax"   style="border: 1px solid #ddd;margin-bottom: 10px;"><table><tr><td class="line_numbers"   style="background-color:#f7f7f7;border-right:1px solid #e9e9e9;"><pre    style="border:1px solid #ddd;font-size:12px;border:none;font-size:12px;">178
</pre></td><td class="code" ><pre class="php"       style="font-family:monospace;border:1px solid #ddd;font-size:12px;border:none;font-size:12px;"><span class="kw1" >return</span> <span class="st_h" >'(.?)\[('</span><span class="sy0" >.</span><span class="re0" >$tagregexp</span><span class="sy0" >.</span><span class="st_h" >')\b(.*?)(?:(\/))?\](?:(.+?)\[\/\2\])?(.?)'</span><span class="sy0" >;</span></pre></td></tr></table></div>


<p  style="margin:0 0 10px;text-align:justify;font-size:12px;color:#333;">ändern in</p>


<div class="wp_syntax"   style="border: 1px solid #ddd;margin-bottom: 10px;"><table><tr><td class="line_numbers"   style="background-color:#f7f7f7;border-right:1px solid #e9e9e9;"><pre    style="border:1px solid #ddd;font-size:12px;border:none;font-size:12px;">178
</pre></td><td class="code" ><pre class="php"       style="font-family:monospace;border:1px solid #ddd;font-size:12px;border:none;font-size:12px;"><span class="kw1" >return</span> <span class="st_h" >'(.?)\[('</span><span class="sy0" >.</span><span class="re0" >$tagregexp</span><span class="sy0" >.</span><span class="st_h" >')\b(.*?)(?:(\/))?\](?:((?:.(?!\[\2))+?)\[\/\2\])?(.?)'</span><span class="sy0" >;</span></pre></td></tr></table></div>


<p  style="margin:0 0 10px;text-align:justify;font-size:12px;color:#333;">und schon kann man beide Varianten der Shortcodes für einen Tag in einem Artikel mischen und es funktioniert wie erwartet.</p>

<p  style="margin:0 0 10px;text-align:justify;font-size:12px;color:#333;">Dazu brauchte es nur einen negativen Lookahead, der auschließt, daß das Suchmuster passt, wenn im Inhalt des Shortcodes derselbe Shortcode noch einmal geöffnet wird<sup id="fnref:3" ><a href="#fn:3"  rel="footnote"   style="color:#3B5998;">3</a></sup>.</p>

<p  style="margin:0 0 10px;text-align:justify;font-size:12px;color:#333;"><span class="blockhead"   style="border-left:1px dashed #CCCCCC;font-size:12px;font-weight:bold;padding-left:5px;color:#333;">Einen Nachteil hat diese Lösung jedoch:</span> Man ändert eine Kern-Datei von <a rel="tag"  title="Alle Artikel mit Stichwort Wordpress ansehen"  class="auto_tag_link"  href="http://tisie.de/stichwort/wordpress"   style="color:#3B5998;">Wordpress</a>, d.h. man muss beim nächsten Aktualisieren die Änderung wieder einfügen. Ich habe (noch) keine Ahnung, wo oder wie man dem <a rel="tag"  title="Alle Artikel mit Stichwort Wordpress ansehen"  class="auto_tag_link"  href="http://tisie.de/stichwort/wordpress"   style="color:#3B5998;">Wordpress</a>-Team Bugs melden kann, und bis ich das herausgefunden habe, werde ich diese Änderung wohl nach jeder Aktualisierung vergessen &#8211; und diesen Artikel wieder lesen :)</p>

<div class="footnotes"   style="border-top:1px dashed #ccc;margin-bottom:10px;">
<hr  style="display:none;"/>
<ol  style="margin-left:10px;padding-bottom:10px;list-style-type:decimal;">

<li id="fn:1"   style="list-style-position:outside;font-size:12px;color:#333;">
<p  style="margin:0 0 10px;text-align:justify;font-size:12px;color:#333;">Einfach mal ausprobieren. Alles was zwischen dem letzten self-contained Shortcode und dem schließenden Tag des nächsten enclosing Shortcode steht, wird als Inhalt des letzten self-contained Shortcode angesehen und so behandelt.&#160;<a href="#fnref:1"  rev="footnote"   style="color:#3B5998;">&#8617;</a></p>
</li>

<li id="fn:2"   style="list-style-position:outside;font-size:12px;color:#333;">
<p  style="margin:0 0 10px;text-align:justify;font-size:12px;color:#333;">irgendwie verträgt sich Markdown und das Escapen von Shortcodes auch nicht so richtig, deshalb die &#8220;{&#8221; als Startzeichen. &#8211; vielleicht kümmer ich mich darum als 
nächstes ;)&#160;<a href="#fnref:2"  rev="footnote"   style="color:#3B5998;">&#8617;</a></p>
</li>

<li id="fn:3"   style="list-style-position:outside;font-size:12px;color:#333;">
<p  style="margin:0 0 10px;text-align:justify;font-size:12px;color:#333;">Ganz genau: <code>(.+?)</code> wird zu <code>(?:(.(?!&#91;\2)+?))</code>, wobei <code>(?!&#91;\2)</code> der negative Lookahead ist.&#160;<a href="#fnref:3"  rev="footnote"   style="color:#3B5998;">&#8617;</a></p>
</li>

</ol>
</div>


<h3 style="border-bottom:1px dashed #CCCCCC;clear:both;font-size:14px;font-weight:bold;margin-bottom:2px;">Ähnliche Artikel</h3><ul style="margin-left:10px;padding-bottom:10px;"><li style="list-style-position:outside;list-style-type:disc;font-size:12px;"><a href='http://tisie.de/allgemeines/meine-seite-ist-online' rel='bookmark' title='Permanent Link: Meine neue Seite ist endlich online'>Meine neue Seite ist endlich online</a></li>
</ul>
<p style="border-top: 1px solid #ccc; margin: 2px 5px 10px; padding: 2px 0 0; font-size: 10px; color: #999;">  
<a style="color:#3B5998;" title="Die Inhalte dieses Artikels, sofern nicht anders angegeben oder Inhalte Dritter, stehen unter einer Creative Commons Namensnennung-Keine kommerzielle Nutzung-Keine Bearbeitung 3.0 Deutschland Lizenz" href="http://creativecommons.org/licenses/by-nc-nd/3.0/de/" rel="license">(cc-by-nc-nd)</a>
2009 Mathias Gelhausen
</p>
]]></content:encoded>
			<wfw:commentRss>http://tisie.de/allgemeines/shortcodes-gemischte-schreibweisen-in-artikel/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Keine Wordpress-Erweiterungen für Artikel-Serien</title>
		<link>http://tisie.de/tiraden/keine-wordpress-artikel-serien-erweiterungen</link>
		<comments>http://tisie.de/tiraden/keine-wordpress-artikel-serien-erweiterungen#kommentare</comments>
		<pubDate>Thu, 30 Jul 2009 22:32:01 +0000</pubDate>
		<dc:creator>Mathias Gelhausen</dc:creator>
				<category><![CDATA[Tiraden]]></category>
		<category><![CDATA[Frust]]></category>
		<category><![CDATA[Unmut]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://tisie.de/?p=213</guid>
		<description><![CDATA[Ich bin jetzt seit 2 Tagen dabei, eine Wordpress   Erweiterung zu suchen, die mir erlaubt, Artikel zu Serien zusammenzufassen.

Aber entweder, es gibt Fehler, oder sie funktionieren nur teilweise!. Mal ganz davon abgesehen, daß es kaum welche gibt. Ich glaube, ich habe sie alle durch:


Organize Series
In Series
Series
Hackadelic Series
EG-Series


Wobei die erste Erweiterung bei weitem die [...]]]></description>
			<content:encoded><![CDATA[<p  style="margin:0 0 10px;text-align:justify;font-size:12px;color:#333;">Ich bin jetzt seit 2 Tagen dabei, eine <a rel="tag"  title="Alle Artikel mit Stichwort Wordpress ansehen"  class="auto_tag_link"  href="http://tisie.de/stichwort/wordpress"   style="color:#3B5998;">Wordpress</a>   Erweiterung zu suchen, die mir erlaubt, Artikel zu Serien zusammenzufassen.</p>

<p  style="margin:0 0 10px;text-align:justify;font-size:12px;color:#333;"><span class="blockhead"   style="border-left:1px dashed #CCCCCC;font-size:12px;font-weight:bold;padding-left:5px;color:#333;">Aber entweder, es gibt Fehler, oder sie funktionieren nur teilweise!</span>. Mal ganz davon abgesehen, daß es kaum welche gibt. Ich glaube, ich habe sie alle durch:</p>

<ul  style="margin-left:10px;padding-bottom:10px;list-style-type:disc;">
<li  style="list-style-position:outside;font-size:12px;color:#333;"><a href="http://wordpress.org/extend/plugins/organize-series/" rel="external nofollow"  class="external_link"   style="color:#3B5998;">Organize Series</a></li>
<li  style="list-style-position:outside;font-size:12px;color:#333;"><a href="http://wordpress.org/extend/plugins/in-series/" rel="external nofollow"  class="external_link"   style="color:#3B5998;">In Series</a></li>
<li  style="list-style-position:outside;font-size:12px;color:#333;"><a href="http://wordpress.org/extend/plugins/series/" rel="external nofollow"  class="external_link"   style="color:#3B5998;">Series</a></li>
<li  style="list-style-position:outside;font-size:12px;color:#333;"><a href="http://wordpress.org/extend/plugins/hackadelic-series/" rel="external nofollow"  class="external_link"   style="color:#3B5998;">Hackadelic Series</a></li>
<li  style="list-style-position:outside;font-size:12px;color:#333;"><a href="http://wordpress.org/extend/plugins/eg-series/" rel="external nofollow"  class="external_link"   style="color:#3B5998;">EG-Series</a></li>
</ul>

<p  style="margin:0 0 10px;text-align:justify;font-size:12px;color:#333;">Wobei die erste Erweiterung bei weitem die vielverprechendste war, wenn denn die &#8220;Permalinks&#8221; auch funktioniert hätten.</p>

<p  style="margin:0 0 10px;text-align:justify;font-size:12px;color:#333;"><span class="blockhead"   style="border-left:1px dashed #CCCCCC;font-size:12px;font-weight:bold;padding-left:5px;color:#333;">Ich habe sogar versucht</span> &#8211; trotz der eher mageren Dokumentation &#8211; meine eigene Serien-Lösung zu programmieren, aber &#8211; wegen der mangelnden Dokumentation &#8211; wieder aufgegeben.</p>

<p  style="margin:0 0 10px;text-align:justify;font-size:12px;color:#333;">Sollte ich also irgendwann auf die Idee kommen, Serien zu verfassen, wird das in Handarbeit geschehen.</p>

<h3  style="border-bottom:1px dashed #CCCCCC;clear:both;font-size:14px;font-weight:bold;margin-bottom:2px;color:#333;">Nachtrag am 03. August 2009</h3>

<p  style="margin:0 0 10px;text-align:justify;font-size:12px;color:#333;"><span class="blockhead"   style="border-left:1px dashed #CCCCCC;font-size:12px;font-weight:bold;padding-left:5px;color:#333;">Ich habe es nun doch geschafft!</span> Mal eben die Permalink-Struktur geändert (&#8220;artikel/%post_title%&#8221; -> &#8220;%category%/%post_title%&#8221;) und schon lief <a href="http://wordpress.org/extend/plugins/organize-series/" rel="external nofollow"  class="external_link"   style="color:#3B5998;">Organize Series</a> fast schon perfekt.</p>

<p  style="margin:0 0 10px;text-align:justify;font-size:12px;color:#333;">Lediglich visuell musste ich einiges anpassen und sogar die Kerndateien anpacken, aber nun ist <del>fast</del> alles so, wie ich mir das vorgestellt habe.</p>

<div class="signature" ></div>

<p style="border-top: 1px solid #ccc; margin: 2px 5px 10px; padding: 2px 0 0; font-size: 10px; color: #999;">  
<a style="color:#3B5998;" title="Die Inhalte dieses Artikels, sofern nicht anders angegeben oder Inhalte Dritter, stehen unter einer Creative Commons Namensnennung-Keine kommerzielle Nutzung-Keine Bearbeitung 3.0 Deutschland Lizenz" href="http://creativecommons.org/licenses/by-nc-nd/3.0/de/" rel="license">(cc-by-nc-nd)</a>
2009 Mathias Gelhausen
</p>
]]></content:encoded>
			<wfw:commentRss>http://tisie.de/tiraden/keine-wordpress-artikel-serien-erweiterungen/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

