<?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>elektro:elch &#187; Uncategorized</title>
	<atom:link href="http://elektroelch.de/blog/category/uncategorized/feed/" rel="self" type="application/rss+xml" />
	<link>http://elektroelch.de</link>
	<description>Es ist nicht ungefährlich, wenn ein Volk lesen und schreiben kann.</description>
	<lastBuildDate>Fri, 11 May 2012 10:20:57 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
	<atom:link rel='hub' href='http://elektroelch.de/?pushpress=hub'/>
		<item>
		<title>Einfachere Plugin-Entwicklung durch Verschieben des Plugin-Verzeichnisses</title>
		<link>http://elektroelch.de/blog/2011/12/22/einfachere-plugin-entwicklung-durch-verschieben-des-plugin-verzeichnisses/</link>
		<comments>http://elektroelch.de/blog/2011/12/22/einfachere-plugin-entwicklung-durch-verschieben-des-plugin-verzeichnisses/#comments</comments>
		<pubDate>Thu, 22 Dec 2011 12:49:30 +0000</pubDate>
		<dc:creator>latz</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://elektroelch.de/?p=2641</guid>
		<description><![CDATA[Als erfahrener Plugin-Programmierer testet man seine Plugins nicht nur mit der allerneuesten WordPress-Version, sondern auch mit vorherigen Versionen, denn es gibt eine Menge älterer WordPress-Installationen. Man hat also die verschiedensten Versionen auf dem Entwicklungsserver installiert und möchte sein neuesten Codeänderungen mit jeder dieser Versionen testen. Man könnte also bei jeder Codeänderung das Plugin manuell in [...]]]></description>
			<content:encoded><![CDATA[<p>Als erfahrener Plugin-Programmierer testet man seine Plugins nicht nur mit der allerneuesten WordPress-Version, sondern auch mit vorherigen Versionen, denn es gibt <a href="http://hackertarget.com/wordpress-infographic/">eine Menge älterer WordPress-Installationen</a>. Man hat also die verschiedensten Versionen auf dem Entwicklungsserver installiert und möchte sein neuesten Codeänderungen mit jeder dieser Versionen testen.<span id="more-2641"></span></p>
<p>Man könnte also bei jeder Codeänderung das Plugin manuell in die einzelnen Pluginverzeichnisse jeder Version kopieren&#8230; aber wir sind Programmierer, also ist dies keine Option, oder?</p>
<p>Wenn das Entwicklungssystem unter einem *nix-System läuft kann man versuchen, das Problem mit symbolischen Links zu lösen. Das klappt leider auch nicht, aber das ist kein Bug in WordPress, sondern <a href="https://bugs.php.net/bug.php?id=46260">in PHP</a>.</p>
<p>Glücklicherweise enthält WordPress ein paar Konstanten, mit denen man sich das Leben trotzdem einfacher<br />
machen kann: <code>WP_PLUGIN_DIR</code> und <code>WP_PLUGIN_URL</code>. Diese Konstanten zeigen auf das Pluginverzeichnis der jeweiligen WordPress-Installation. Sie sind seit WordPress 2.6 definiert und eine Unterstützung älterer Versionen ist nicht sehr sinnvoll.</p>
<p>Um die Plugins für jede WordPress-Installation zugänglich zu machen verschiebt man die Plugins einfach in ein zentrales Verzeichnis und definiert die Konstanten entsprechend:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #990000;">define</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'WP_PLUGIN_DIR'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'/var/www/plugins'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// oder mit XAMPP C:/xampp/htdocs/plugins</span>
<span style="color: #990000;">define</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'WP_PLUGIN_URL'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'http://localhost/plugins'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>In diesem Beispiel liegt die Plugins in &#8222;plugins&#8220; im Root-Verzeichns des Webservers. Wenn man jetzt die obigen Konstanten jeder WordPress-Installation auf dieses Verzeichnis verweisen lässt, kann man sehr einfach neuen Code mit jeder dieser Versionen testen.</p>
<p>(Danke <a href="http://profiles.wordpress.org/users/johnbillion">John Blackbourn</a> in der <a href="http://lists.automattic.com/mailman/listinfo/wp-hackers">wp-hackers-Liste</a> für die Idee.)</p>
<h3>Hinweis für Multisite-Benutzer (mit Dank an an <a href="http://www.bueltge.de">Frank</a>)</h3>
<p>Das funktioniert auch mit WordPress MultiSite:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">    <span style="color: #990000;">define</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'WPMU_PLUGIN_DIR'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'/var/www/multisite-plugins'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #990000;">define</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'WPMU_PLUGIN_URL'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'http://localhost/multisite-plugins'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://elektroelch.de/blog/2011/12/22/einfachere-plugin-entwicklung-durch-verschieben-des-plugin-verzeichnisses/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

