<?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:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>bueltge.de [by:ltge.de] &#187; Shortcode</title>
	<atom:link href="http://bueltge.de/tag/shortcode/feed/" rel="self" type="application/rss+xml" />
	<link>http://bueltge.de</link>
	<description>Frank Bültge schreibt auf bueltge.de zu den Themen Webentwicklung &#38; design, WordPress, Literatur und andere Themen bezüglich Internet und Development</description>
	<lastBuildDate>Mon, 06 Feb 2012 12:19:43 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>WordPress Shortcodes außerhalb des Content nutzen</title>
		<link>http://bueltge.de/wordpress-shortcodes-ausserhalb-content-nutzen/1210/</link>
		<comments>http://bueltge.de/wordpress-shortcodes-ausserhalb-content-nutzen/1210/#comments</comments>
		<pubDate>Tue, 31 Aug 2010 16:48:57 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Tipps]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Custom Fields]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Shortcode]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1210</guid>
		<description><![CDATA[Die Shortcode-API kann viele Möglichkeiten in den Editor holen und trotzdem die Arbeit für die Autoren übersichtlich halten. So ist mittels eines Shortcodes schnell externe Inhalte in den Content geladen. Anwendungsfälle gibt es ausreichend, wie beispielsweise die Idee der Werbung in einem Artikel zeigt.

Ab und an gibt es aber Fälle, da möchte man im Template den Shortcode nutzen oder die Daten nicht im Editor pflegen, sondern vie Custom Field oder ähnliches mitgeben. Kennt man oder gibt es dafür eine Funktion im Plugin oder der Erweiterung für WordPress, dann kann man dies aber trotzdem nutzen. Eine Funktion von WordPress für den zugriff auf Shortcodes hilft.]]></description>
			<content:encoded><![CDATA[<p>Die <a href="http://codex.wordpress.org/Shortcode_API">Shortcode-API</a> kann viele Möglichkeiten in den Editor holen und trotzdem die Arbeit für die Autoren übersichtlich halten. So ist mittels eines Shortcodes schnell externe Inhalte in den Content geladen. Anwendungsfälle gibt es ausreichend, wie beispielsweise die <a href="http://bueltge.de/werbung-shortcode-benutzerdefinierte-felder-wordpress/741/">Idee der Werbung</a> in einem Artikel zeigt.</p>
<p>Ab und an gibt es aber Fälle, da möchte man im Template den Shortcode nutzen oder die Daten nicht im Editor pflegen, sondern via Custom Field oder ähnliches mitgeben. Kennt man oder gibt es dafür eine Funktion im Plugin oder der Erweiterung für WordPress, dann kann man dies aber trotzdem nutzen. Eine Funktion von WordPress für den Zugriff auf Shortcodes hilft.<br />
<span id="more-1210"></span><br />
Der einfachste Fall ist der Zugriff auf einen Shortcode, bspw. <code>myshortcode</code>; erfolgt mittels der Funktion <code>do_shortcode()</code>. Ein Code-beispiel dazu soll es verdeutlichen; abgelegt wird es im Template - bspw. die <code>single.php</code> des Themes.</p>
<pre><code class="php">
echo do_shortcode('&#091myshortcode]');
</code></pre>
<p>Wenn man mit Parametern arbeitet; heißt, der Shortcode kann diese Parameter verarbeiten, dann kann man diese einfach mitgeben.</p>
<pre><code class="php">
echo do_shortcode('&#091myshortcode param="blahblahblah"]');
</code></pre>
<p><strong>Aufpassen:</strong> PHP unterscheidet ' und ", daher kann es beim Laien zu Problemen kommen. Zum Beispiel würde der folgenden Aufruf nicht klappen: </p>
<pre><code class="php">
echo do_shortcode('&#091myshortcode param='blahblahblah']');
</code></pre>
<p>übersichtlich und funktionierend wäre</p>
<pre><code class="php">
echo do_shortcode('&#091myshortcode param="blahblahblah"]');
</code></pre>
<p>Ein weiters Beispiel nutze aus dem benutzerdefinierten Feld <em>example-name</em> den Wert und übergibt dies an den Shortcode <code>example_shortcode</code> für den Parameter <code>product</code>.</p>
<pre><code>
&lt;?php
$example_product = get_post_meta( $post-&gt;ID, 'example-name', $single = true );
if ($example_product)
	echo do_shortcode('&#091example_shortcode product="' . $example_product . '"]');
?&gt;
</code></pre>
<p>Daraus ergeben sich viele Möglichkeiten, so zum Beispiel auch ein einfacher Zugriff auf die Gallery, die man pro Beitrag pflegt.</p>
<pre><code class="php">
echo do_shortcode('&#091gallery option1="value1"&#093');
</code></pre>
<p>Damit kann man im Template einfach die Gallery laden und ist unabhängig von den Shortcodes im Editor. Nebenbei spart man sich das Parsen des Filters und beim neuen Design, wenn die die Bilder wenig relevant sind, kann man diese einfach weg lassen und muss nicht den Content filtern oder den Editor vieler Beiträge bemühen. Alle weiteren Ideen überlasse ich gern euch.<br />
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://bueltge.de/wordpress-shortcodes-ausserhalb-content-nutzen/1210/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/wordpress-shortcodes-ausserhalb-content-nutzen/1210/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/favicon.ico" />
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>Kontrolle von Inhalt via Userrechten &amp; Zeit mit WordPress</title>
		<link>http://bueltge.de/kontrolle-inhalt-userrechten-zeit-wordpress/1177/</link>
		<comments>http://bueltge.de/kontrolle-inhalt-userrechten-zeit-wordpress/1177/#comments</comments>
		<pubDate>Wed, 04 Aug 2010 14:22:19 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Tipps]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[Shortcode]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1177</guid>
		<description><![CDATA[WordPress bringt eine eigene User-Verwaltung mit und so kann man auch auf Grund diverser Rollen und Objekte die Inhalte steuern. In einigen Fällen ist es eine typische Anforderung, dass man den kompletten Inhalt nur den registrierten Usern zugänglich macht. Gleiches gilt natürlich auch für Teile des Content. Es gibt sicher verschiedene Anwendungen - einige kleine Lösungsvorschläge möchte ich hier kurz vorstellen.]]></description>
			<content:encoded><![CDATA[<p>WordPress bringt eine eigene User-Verwaltung mit und so kann man auch auf Grund diverser Rollen und Objekte die Inhalte steuern. In einigen Fällen ist es eine typische Anforderung, dass man den kompletten Inhalt nur den registrierten Usern zugänglich macht. Gleiches gilt natürlich auch für Teile des Content. Es gibt sicher verschiedene Anwendungen - einige kleine Lösungsvorschläge möchte ich hier kurz vorstellen.<br />
<span id="more-1177"></span></p>
<h4>Rechte-Abfrage</h4>
<p>Eine einfache Möglichkeit ist die Abfrage der Rechte - die WordPress-Funktion <code>current_user_can()</code> erlaubt dies und kann einfach in Templates des Themes verwendet werden. Somit kann man steuern, dass nur geloggte User mit den entsprechenden Rechten den Inhalt sehen.<br />
Im einfachsten Fall könnte man dies wie folgt im Template einbauen:</p>
<pre><code class="php">
if ( current_user_can( 'manage_options' ) )
	the_content( the_title( '', '', false ) . ' ' . __( 'weiterlesen &raquo;', FB_BASIS_TEXTDOMAIN ) );
else
	_e( 'Nur für geloggte User zug&auml;nglich', FB_BASIS_TEXTDOMAIN );
</code></pre>
<p>Ohne die einzelnen Rechte abzufragen genügt die Abfrage mittels der Funktion <code>is_user_logged_in()</code>. Damit wird geprüft, ob der User geloggt ist.</p>
<p>Hier gibt es sicher diverse Ansätze und Möglichkeiten, die aber leicht nutzbar sind und trotzdem die unterschiedlichen Rollen und Objekte berücksichtigen. Die Objekte je Rolle sind übersichtlich im <a href="http://codex.wordpress.org/Roles_and_Capabilities">Codex</a> beschrieben.</p>
<h4>Prüfung auf Login via Funktion</h4>
<p>Nun ist die Integration im Template recht einfach, sorgt aber dafür dass man in der Regel jedes Template anpassen muss. Da WordPress mit Hooks arbeitet, kann man hier auch einhaken und zentral via Plugin oder <code>functions.php</code> im Theme eine Funktion dafür ablegen.</p>
<p>Die folgende Funktion ist so ein Beispiel und prüft in dem Fall unabhängig von den Rechten, sondern lediglich ob der User geloggt ist - wenn ja, dann darf der Inhalt gesehen werden. Über den Hook the_content wird hier zentral gesteuert - so dass die Ausgabe im Theme, welche via dem Template Tag <code>the_content()</code> kommt, nur dann den Content wieder gibt, wenn man als User geloggt ist.<br />
Parallel wurde hier auch explizit im Feed nur ausgegeben, wenn man geloggt ist - <code>!is_feed()</code>.</p>
<p>Als Alternative für nicht geloggte User wird ein Abschnitt des Content ausgegeben - dazu gibt es verschieden Ansätze, hier wurde explizit mit Zeichen gearbeitet. So entsteht quasi ein Teaser für den Leser.</p>
<pre><code class="php">
function content_only4logged_in($content) {

	// alle geloggten User
	if ( is_user_logged_in() &#038;&
			!is_null($content) &#038;&
			!is_feed()
		 ) {

		return $content;
	} else {

		$content  = wp_html_excerpt( $content, 80 );
		$content .= ' &hellip;';
		$content .= __( 'Sorry, more of this content is only available for logged users.', FB_TEXTDOMAIN );
		return $content;
	}
}
add_action( 'the_content', 'content_only4logged_in' );
</code></pre>
<h4>Inhalte via Shortcode einschränken</h4>
<p>Eine weitere Alternative ist es, nur einen bestimmten Abschnitt des Content nur für geloggte User frei zu geben. Dies könnte man beispielsweise über die Shortcode-API von WordPress tun. Auch dazu ein Beispiel. Hier wird der Shortcode <code>[member]</code> eingesetzt. Alles innerhalb dieses Elementes ist nur für geloggte User sichtbar.<br />
Auch dieser Code gehört in ein Plugin oder die Schnittstelle des Themes für neue Funktionen.</p>
<pre><code class="php">
function fb_check_logged_in( $atts, $content = null ) {
	if ( is_user_logged_in() &#038;&
		!is_null($content) &#038;&
		!is_feed()
		 ) {

		return $content;
	} else {

		return __( 'Sorry, this content is only available for logged users.', FB_TEXTDOMAIN );
	}
}
add_shortcode( 'member', 'fb_check_logged_in' );
</code></pre>
<h4>Zeitabhängig ausgeben</h4>
<p>Eine denkbare Alternative ist auch das Ausgeben von Inhalten nach einem bestimmten Zeitraum. Diese Möglichkeit kann sicher beliebig erweitert werden. So lohnt sicher die Erweiterung um eine <a href="http://bueltge.de/wordpress-plugin-flexibilitaet-schreiben/1086/">Metabox</a> zur Eingabe eines Datums an den Beiträgen oder Erweiterung von Parametern um den Zeitrahmen in einem <a href="http://bueltge.de/tag/shortcode/">Shortcode</a> abzufragen.</p>
<pre><code class="php">
function content_only4time($content) {

	$date = strtotime( '01-10-2010' ); // day-month-year
	$now  = strtotime( date('d-m-Y') );
	echo $now . ' - ' . $date;
	if ( $date &#038;& ( $date < $now ) ) {

		return $content;
	} else {

		return __( 'Sorry, die Zeit ist noch nicht reif.', FB_TEXTDOMAIN );
	}
}
add_action( 'the_content', 'content_only4time' );
</code></pre>
<p>In diesem Zusammenhang kann das Plugin <a href="http://playground.ebiene.de/316/wpsleep-wordpress-plugin-zeitliche-steuerung-der-bestandteile-eines-artikels/">wpSleep</a> genutzt werden, welches via Shortcode und den Parametern der Zeit die Ausgabe steuert.</p>
<h4>Mehr</h4>
<p>Die Liste der Ansätze und vor allem der Möglichkeiten lässt sich beliebig fort führen - mit den Möglichkeiten kommt man eventuell auf eigene Ideen und kann die aufgezeigten Ansätze nutzen. Gern können weitere Ideen und Möglichkeiten in den Kommentaren untergebracht werden.<br />
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://bueltge.de/kontrolle-inhalt-userrechten-zeit-wordpress/1177/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/kontrolle-inhalt-userrechten-zeit-wordpress/1177/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/favicon.ico" />
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>Werbung via Shortcode und benutzerdefinierte Felder in WordPress</title>
		<link>http://bueltge.de/werbung-shortcode-benutzerdefinierte-felder-wordpress/741/</link>
		<comments>http://bueltge.de/werbung-shortcode-benutzerdefinierte-felder-wordpress/741/#comments</comments>
		<pubDate>Tue, 26 Aug 2008 11:45:36 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Themes]]></category>
		<category><![CDATA[Tipps]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Custom Fields]]></category>
		<category><![CDATA[Shortcode]]></category>
		<category><![CDATA[WP]]></category>
		<category><![CDATA[WP2.5]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=741</guid>
		<description><![CDATA[Seit Version 2.5 wird WordPress mit der Shortcode-API ausgeliefert, näheres dazu hatte ich im Artikel „WordPress 2.5 Shortcode API“ erläutert. Nun hatten ich ihm Rahmen mit einem lieben Leser eine Anforderung, die sicher nicht selten vorkommt und die man mit Hilfe dieser Shortcode-API und den benutzerdefinierten Feldern sehr schön lösen kann. Pro Artikel hinterlegt der [...]]]></description>
			<content:encoded><![CDATA[<p>Seit Version 2.5 wird WordPress mit der Shortcode-API ausgeliefert, näheres dazu hatte ich im Artikel „<a href="http://bueltge.de/wordpress-25-shortcode-api/620/">WordPress 2.5 Shortcode API</a>“ erläutert. Nun hatten ich ihm Rahmen mit einem lieben <a href="http://www.aus-der-apotheke.info/">Leser</a> eine Anforderung, die sicher nicht selten vorkommt und die man mit Hilfe dieser Shortcode-API und den benutzerdefinierten Feldern sehr schön lösen kann.</p>
<p>Pro Artikel hinterlegt der Autor drei benutzerdefinierte Felder, in <a href="http://bueltge.de/wordpress-benutzerdefinerte-felder-custom-fields/525/">einem weiteren Artikel</a> schon mal näher erläutert: <em>bild, link, linktext</em>. Im Text kann er den Shortcode <code>[werbung]</code> setzen. Diesen erkennt WordPress und mit Hilfe der folgenden Funktion werden die entsprechenden Daten geladen und die Werbung wir dann an dieser Stelle eingebunden.<br />
<span id="more-741"></span><br />
<a href="http://bueltge.de/wp-content/images/wp/shortcode_werbung.png"><img class="centered" src="http://bueltge.de/wp-content/images/wp/shortcode_werbung.thumb.png" alt="Shortcode und benutzerdefinierte Felder in WordPress" /></a></p>
<p>Die folgende Funktion kann als Plugin oder in der <code>functions.php</code> des Themes abgelegt werden.</p>
<pre><code class="php">
function example_link() {
	global $wp_query;

	$postID     = $wp_query-&gt;post-&gt;ID;
	$mylink     = get_post_custom_values('link', $postID);
	$mypic      = get_post_custom_values('bild', $postID);
	$mylinktext = get_post_custom_values('linktext', $postID);

	return '&lt;a href=&quot;' . $mylink[0] . '&quot;&gt;&lt;img title=&quot;' . $mylinktext[0] . '&quot; src=&quot;' . $mypic[0] . '&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;';
}

add_shortcode('werbung', 'example_link');
</code></pre>
<p>Im Text erscheint nun auf recht einfache Weise das Bild mit Link und Linktext. Die Lösung zeigt nur einen Lösungsweg und kann sicher in der einen oder anderem Form Anwendung finden. Trotzdem sollte man überlegen, wie man die Shortcodes nutzen will und die Funktion darauf hin anpassen. Ähnlich könnte auch die Daten für Link, Bild, und Linktext aus anderen Datenfeldern kommen, die Shortcode-API erleichtert es aber, dass Autoren derartige Inhalte in den Artikel einbinden können.<br />
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://bueltge.de/werbung-shortcode-benutzerdefinierte-felder-wordpress/741/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/werbung-shortcode-benutzerdefinierte-felder-wordpress/741/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/wp/shortcode_werbung.thumb.png" />
		<media:content url="http://bueltge.de/wp-content/images/wp/shortcode_werbung.thumb.png" medium="image">
			<media:title type="html">Shortcode und benutzerdefinierte Felder in WordPress</media:title>
		</media:content>
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>WordPress 2.5 Shortcode API</title>
		<link>http://bueltge.de/wordpress-25-shortcode-api/620/</link>
		<comments>http://bueltge.de/wordpress-25-shortcode-api/620/#comments</comments>
		<pubDate>Fri, 28 Mar 2008 12:11:29 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Plugin]]></category>
		<category><![CDATA[Tipps]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Shortcode]]></category>
		<category><![CDATA[WP]]></category>
		<category><![CDATA[WP2.5]]></category>

		<guid isPermaLink="false">http://bueltge.de/wordpress-25-shortcode-api/620/</guid>
		<description><![CDATA[WordPress 2.5 hat die Tagging-Funktionen ausgebaut und viele kleine Details spendiert. Dabei ist unter anderem die Shortcode API abgefallen, mit der man schnell und einfach Strings im Content mit entsprechendem Inhalt füllen kann. Damit wird das Ansprechen derartiger Möglichkeiten aus anderen Funktionen, sei es in einem Plugin oder einer Theme-Funktion einfacher. Die Möglichkeiten von Shortcodes [...]]]></description>
			<content:encoded><![CDATA[<p>WordPress 2.5 hat die Tagging-Funktionen ausgebaut und viele kleine Details spendiert. Dabei ist unter anderem die Shortcode API abgefallen, mit der man schnell und einfach Strings im Content mit entsprechendem Inhalt füllen kann. Damit wird das Ansprechen derartiger Möglichkeiten aus anderen Funktionen, sei es in einem Plugin oder einer Theme-Funktion einfacher.</p>
<p>Die Möglichkeiten von Shortcodes sind vielfältig, viele andere Applikationen lieben diese Funktion und mit der neuen Funktionalität kann man dem Kunden das Schreiben im Backend damit recht gut erleichtern. Um die Shortcodes noch in das Quicktag-Menu zu bekommen, empfiehlt sich die Verwendung des Plugin <a href="http://bueltge.de/wp-addquicktags-de-plugin/120/">AddQuicktag</a>.</p>
<p>Die Übergabe ist einfach und schnell verstanden. Eine kleine Einführung und ersichtliche Erfolge gibt es in Kurzversion in den folgenden Zeilen.<span id="more-620"></span> <a href="http://planetozh.com/blog/2008/03/wordpress-25-shortcodes-api-overview/">Wie es genau geht und ein Plugin mit verschiedenen Beispielen gibt es bei Ozh</a>, der derzeit auch die neue WordPress Funktion durchleuchtet.</p>
<h4>Die Möglichkeiten</h4>
<pre><code>
[shortcode ]
[shortcode /]
[shortcode foo="bar" /]
[shortcode foo="bar" baz="bing" /]
[shortcode ]content[shortcode /]
[shortcode foo="bar"]content[/shortcode]
</code></pre>
<h4>Erläuterungen</h4>
<p>In kurzen Zügen und als kleine Übersicht hier nun die Funktionsweise, verantwortlich ist die Funktion <code>add_shortcode()</code>. Näheres findet man in <code>/wp-includes/shortcodes.php</code>, inklusive einer &#8222;kleinen&#8220; Dokumentation.</p>
<p>Das folgende Beispiel, in einem Plugin oder Theme hinterlegt, sorgt dafür, dass wenn der Syntax <code>[tag1]</code> im Content vergeben wird, dann erscheint im Frontend, auf das Blog also, der Text <code>Some Longer Text</code>.</p>
<pre><code>
// [tag1] --> Some Longer Text
function shortcode_example() {

	return 'Some Longer Text';
}

add_shortcode('tag1', 'shortcode_example');
</code></pre>
<p>Im Screenshot sollte das ganze dann deutlicher werden.<br />
<img class="centered" src="http://bueltge.de/wp-content/images/wp25/wp25_shortcode.png" alt="WP 2.5 Shortcode" /></p>
<ul>
<li><a href="http://codex.wordpress.org/Shortcode_API">Offizielle Dokumentation</a></li>
</ul>
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://bueltge.de/wordpress-25-shortcode-api/620/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/wordpress-25-shortcode-api/620/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/wp25/wp25_shortcode.png" />
		<media:content url="http://bueltge.de/wp-content/images/wp25/wp25_shortcode.png" medium="image">
			<media:title type="html">WP 2.5 Shortcode</media:title>
		</media:content>
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
	</channel>
</rss>

