<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10germanfull.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" xml:lang="de"><title type="text">H.-Peter Pfeufer - Blog</title><link rel="alternate" type="text/html" href="http://blog.ppfeufer.de" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/ppfeufer" /><subtitle type="html">Meine kleine Ecke im weltweiten Netz ...</subtitle><updated>2012-05-10T20:38:47+00:00</updated><generator>http://wordpress.org/?v=3.3.2</generator><sy:updatePeriod xmlns:sy="http://purl.org/rss/1.0/modules/syndication/">hourly</sy:updatePeriod><sy:updateFrequency xmlns:sy="http://purl.org/rss/1.0/modules/syndication/">1</sy:updateFrequency><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/ppfeufer" /><feedburner:info uri="ppfeufer" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://blog.ppfeufer.de/?pushpress=hub" /><link rel="license" type="text/html" href="http://creativecommons.org/licenses/by-sa/3.0/" /><logo>http://creativecommons.org/images/public/somerights20.gif</logo><feedburner:emailServiceId>ppfeufer</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><feedburner:feedFlare href="http://add.my.yahoo.com/content?lg=de&amp;url=http%3A%2F%2Ffeeds.feedburner.com%2Fppfeufer" src="http://us.i1.yimg.com/us.yimg.com/i/de/my/addtomyyahoo4.gif">Subscribe with Mein Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fppfeufer" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/ppfeufer" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fppfeufer" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fppfeufer" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fppfeufer" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare href="http://www.plusmo.com/add?url=http%3A%2F%2Ffeeds.feedburner.com%2Fppfeufer" src="http://plusmo.com/res/graphics/fbplusmo.gif">Subscribe with Plusmo</feedburner:feedFlare><feedburner:feedFlare href="http://www.thefreedictionary.com/_/hp/AddRSS.aspx?http%3A%2F%2Ffeeds.feedburner.com%2Fppfeufer" src="http://img.tfd.com/hp/addToTheFreeDictionary.gif">Subscribe with The Free Dictionary</feedburner:feedFlare><feedburner:feedFlare href="http://www.bitty.com/manual/?contenttype=rssfeed&amp;contentvalue=http%3A%2F%2Ffeeds.feedburner.com%2Fppfeufer" src="http://www.bitty.com/img/bittychicklet_91x17.gif">Subscribe with Bitty Browser</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsalloy.com/?rss=http%3A%2F%2Ffeeds.feedburner.com%2Fppfeufer" src="http://www.newsalloy.com/subrss3.gif">Subscribe with NewsAlloy</feedburner:feedFlare><feedburner:feedFlare href="http://www.live.com/?add=http%3A%2F%2Ffeeds.feedburner.com%2Fppfeufer" src="http://tkfiles.storage.msn.com/x1piYkpqHC_35nIp1gLE68-wvzLZO8iXl_JMledmJQXP-XTBOLfmQv4zhj4MhcWEJh_GtoBIiAl1Mjh-ndp9k47If7hTaFno0mxW9_i3p_5qQw">Subscribe with Live.com</feedburner:feedFlare><feedburner:feedFlare href="http://mix.excite.eu/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fppfeufer" src="http://image.excite.co.uk/mix/addtomix.gif">Subscribe with Excite MIX</feedburner:feedFlare><feedburner:feedFlare href="http://download.attensa.com/app/get_attensa.html?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fppfeufer" src="http://www.attensa.com/blogs/attensa/WindowsLiveWriter/BadgeredintoBadges_10C02/attensa_feed_button5.gif">Subscribe with Attensa for Outlook</feedburner:feedFlare><feedburner:feedFlare href="http://www.webwag.com/wwgthis.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fppfeufer" src="http://www.webwag.com/images/wwgthis.gif">Subscribe with Webwag</feedburner:feedFlare><feedburner:feedFlare href="http://www.podcastready.com/oneclick_bookmark.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fppfeufer" src="http://www.podcastready.com/images/podcastready_button.gif">Subscribe with Podcast Ready</feedburner:feedFlare><feedburner:feedFlare href="http://www.flurry.com/pushRssFeed.do?r=fb&amp;url=http%3A%2F%2Ffeeds.feedburner.com%2Fppfeufer" src="http://www.flurry.com/images/flurry_rss_logo2.gif">Subscribe with Flurry</feedburner:feedFlare><feedburner:feedFlare href="http://www.wikio.com/subscribe?url=http%3A%2F%2Ffeeds.feedburner.com%2Fppfeufer" src="http://www.wikio.com/shared/img/add2wikio.gif">Subscribe with Wikio</feedburner:feedFlare><feedburner:feedFlare href="http://www.dailyrotation.com/index.php?feed=http%3A%2F%2Ffeeds.feedburner.com%2Fppfeufer" src="http://www.dailyrotation.com/rss-dr2.gif">Subscribe with Daily Rotation</feedburner:feedFlare><feedburner:feedFlare href="http://hub.netomat.net/account/account.autoSubscribe.jspa?urls=http%3A%2F%2Ffeeds.feedburner.com%2Fppfeufer" src="http://www.netomat.net/blogger/images/icon_netomat_feedbutton.gif">Subscribe with netomat Hub</feedburner:feedFlare><feedburner:feedFlare href="http://www.yourminis.com/subscribe.aspx?u=http%3A%2F%2Ffeeds.feedburner.com%2Fppfeufer" src="http://www.yourminis.com/images/addtoyourminisbadge.gif">Subscribe with Yourminis.com</feedburner:feedFlare><entry><title type="text">WordPress-Plugin: No Piwik for me</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ppfeufer/~3/HgpcYK-MMvk/" /><category term="WordPress-Plugins" /><category term="Piwik" /><category term="Plugin" /><category term="WordPress" /><author><name>H.-Peter Pfeufer</name></author><updated>2012-05-09T16:11:40-07:00</updated><id>http://blog.ppfeufer.de/?p=4351</id><summary type="html">Immer wieder flammt die Diskussion um den heißgeliebten Datenschutz auf. Die Analyse des Nutzerverhaltens auf der eigenen Webseite steht immer wieder im Fokus. Viele wechseln daher zur quell offenen Analysesoftware Piwik als Alternative zu Google Analytics. Doch auch hier sollte &amp;#8230; &lt;a href="http://blog.ppfeufer.de/wordpress-plugin-no-piwik-for-me/"&gt;Weiterlesen &lt;span class="meta-nav"&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt;</summary><content type="html">&lt;p&gt;Immer wieder flammt die Diskussion um den heißgeliebten Datenschutz auf. Die Analyse des Nutzerverhaltens auf der eigenen Webseite steht immer wieder im Fokus. Viele wechseln daher zur quell offenen Analysesoftware Piwik als Alternative zu Google Analytics. Doch auch hier sollte dem Besucher die Möglichkeit gegeben werden das Tracking zu deaktivieren.&lt;/p&gt;&lt;p&gt;&lt;span id="more-4351"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;No Piwik for me&lt;/strong&gt; macht genau dies. Piwik selbst bietet eine Lösung mit einem einzelnen Klick das Tracking für den Nutzer zu deaktivieren. Dazu wird beim Nutzer, der dies wünsch durch genau diesen einen Klick ein Cookie hinterlegt, welcher von Piwik erkannt wird. Ist dieser Cookie im Browser zu finden, so wird Piwik veranlasst diesen Besucher nicht zu erfassen.&lt;/p&gt;&lt;p&gt;Diese Funktion bringt &lt;strong&gt;No Piwik for me&lt;/strong&gt; als simplen Shortcode in euer WordPress. Damit dies funktioniert muss natürlich &lt;a title="WordPress-Plugin: WP-Piwik" href="http://wordpress.org/extend/plugins/wp-piwik/"&gt;WP-Piwik&lt;/a&gt; bei euch installiert sein.&lt;/p&gt;&lt;div id="downloadbutton" class="dlbuttoncenter"&gt;&lt;a href="http://blog.ppfeufer.de/download/no-piwik-for-me" &gt;&lt;span&gt;Download&lt;/span&gt;&lt;em&gt;No Piwik for me (Version 1.0)&lt;/em&gt;&lt;/a&gt;&lt;/div&gt; 
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/lj4d-foe_GtYmLHXTXaz-y0XS94/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/lj4d-foe_GtYmLHXTXaz-y0XS94/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/lj4d-foe_GtYmLHXTXaz-y0XS94/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/lj4d-foe_GtYmLHXTXaz-y0XS94/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ppfeufer/~4/HgpcYK-MMvk" height="1" width="1"/&gt;</content><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blog.ppfeufer.de/wordpress-plugin-no-piwik-for-me/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">1</slash:comments><feedburner:origLink>http://blog.ppfeufer.de/wordpress-plugin-no-piwik-for-me/</feedburner:origLink></entry><entry><title type="text">WordPress: Grundstruktur eines Sidebarwidgets</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ppfeufer/~3/TW_OJTHrFqI/" /><category term="WordPress" /><category term="HowTo" /><category term="Widget" /><author><name>H.-Peter Pfeufer</name></author><updated>2012-04-03T02:36:19-07:00</updated><id>http://blog.ppfeufer.de/?p=4293</id><summary type="html">Neben Plugins sind Widgets in WordPress eine schöne und recht einfache Möglichkeit das Frontend, also das was der Seitenbesucher sieht, anzupassen. WordPress selbst bietet hierfür eine Widget-API mit der es relativ einfach möglich ist ein solches Widget selbst zu erstellen. &amp;#8230; &lt;a href="http://blog.ppfeufer.de/wordpress-grundstruktur-eines-sidebarwidgets/"&gt;Weiterlesen &lt;span class="meta-nav"&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt;</summary><content type="html">&lt;p&gt;Neben Plugins sind Widgets in WordPress eine schöne und recht einfache Möglichkeit das Frontend, also das was der Seitenbesucher sieht, anzupassen. WordPress selbst bietet hierfür eine Widget-API mit der es relativ einfach möglich ist ein solches Widget selbst zu erstellen. Wie das funktioniert, möchte ich hier nun in ein paar kurzen Sätzen erklären.&lt;/p&gt;&lt;p&gt;&lt;span id="more-4293"&gt;&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;Die Widgetklasse&lt;/h2&gt;&lt;p&gt;Durch die &lt;a title="WordPress Widgets API" href="http://codex.wordpress.org/Widgets_API"&gt;Widget-API von WordPress&lt;/a&gt; ist schon eine gewisse Grundstruktur im PHP-Code für das neue Widget vorgegeben. Das ist recht praktisch, denn so muss man lediglich die Widget-Klasse von WordPress erweitern und sich nicht alles komplett neu aus den Fingern saugen. In diesem kleinen Beispiel, möchte ich nun zeigen, wie man ein simples Textwidget erstellt. Also ein Widget, dem man einen Titel und einen Freitext mitgeben kann.&lt;/p&gt;&lt;p&gt;Zunächst wird eine PHP-Datei erstellt, welche den schönen Namen &amp;#8220;&lt;em&gt;my-sidebar-widget.php&lt;/em&gt;&amp;#8221; trägt. In diese Datei kommt der gesamte Code des Widgets &amp;#8211; welches ich phantasievoller Weise auch &amp;#8220;&lt;em&gt;My Sidebar Widget&lt;/em&gt;&amp;#8221; getauft habe &amp;#8211; hinein.&lt;/p&gt;&lt;p&gt;Als erste Amtshandlung wird die Klasse WP-Widget erweitert.&lt;/p&gt;&lt;div class="codecolorer-container php geshi syntaxhighlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:99%;"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"&gt;&lt;div&gt;1&lt;br /&gt;2&lt;br /&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"&gt;&lt;span style="color: #666666; font-style: italic;"&gt;// Klassenaufruf&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;class&lt;/span&gt; My_Sidebar_Widget &lt;span style="color: #000000; font-weight: bold;"&gt;extends&lt;/span&gt; WP_Widget &lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p&gt;Dies führt dazu, dass bei Aufruf des Widgets alles über die Widget-API von WordPress läuft und somit auch alles richtig in WordPress eingebunden wird.&lt;/p&gt;&lt;p&gt;Im nächsten Schritt werden die &amp;#8220;Standardfunktionen&amp;#8221; erstellt. Also der Konstruktor der Klasse, das Formular mit den Einstellungen, die Updatefunktion um die Einstellungen zu speichern und die eigentliche Widgetfunktion zur Ausgabe des Widgets im Frontend.&lt;/p&gt;&lt;div class="codecolorer-container php geshi syntaxhighlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:99%;"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"&gt;&lt;div&gt;1&lt;br /&gt;2&lt;br /&gt;3&lt;br /&gt;4&lt;br /&gt;5&lt;br /&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"&gt;&lt;span style="color: #666666; font-style: italic;"&gt;// Grundfunktionen&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;function&lt;/span&gt; __construct&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;function&lt;/span&gt; form&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #000088;"&gt;$instance&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;function&lt;/span&gt; update&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #000088;"&gt;$new_instance&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &lt;span style="color: #000088;"&gt;$old_instance&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;function&lt;/span&gt; widget&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #000088;"&gt;$args&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &lt;span style="color: #000088;"&gt;$instance&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p&gt;Dies sind auch die vier Funktionen, welche ihre Gegenstücke in der Widget-API erweitern. Oder einfacher ausgedrückt, diese werden unbedingt gebraucht.&lt;/p&gt;&lt;h2&gt;Der Konstruktor&lt;/h2&gt;&lt;p&gt;Dieser enthält alle wichtigen Befehle zur Initialisierung des Widgets. Also den Widgetnamen, eine Kurzbeschreibung, eventuelle Hinweise zur Übersetzung der Texte.&lt;/p&gt;&lt;div class="codecolorer-container php geshi syntaxhighlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:99%;"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"&gt;&lt;div&gt;1&lt;br /&gt;2&lt;br /&gt;3&lt;br /&gt;4&lt;br /&gt;5&lt;br /&gt;6&lt;br /&gt;7&lt;br /&gt;8&lt;br /&gt;9&lt;br /&gt;10&lt;br /&gt;11&lt;br /&gt;12&lt;br /&gt;13&lt;br /&gt;14&lt;br /&gt;15&lt;br /&gt;16&lt;br /&gt;17&lt;br /&gt;18&lt;br /&gt;19&lt;br /&gt;20&lt;br /&gt;21&lt;br /&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"&gt;&lt;span style="color: #666666; font-style: italic;"&gt;// Konstruktor&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;function&lt;/span&gt; __construct&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &lt;span style="color: #000088;"&gt;$this&lt;/span&gt;&lt;span style="color: #339933;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #004000;"&gt;var_sTextdomain&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'my-sidebar-widget'&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009933; font-style: italic;"&gt;/**&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;* Übersetzungsfunktion für das Widget aktivieren.&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;* Die Sprachdateien liegen im Ordner &amp;quot;l10n&amp;quot; innerhalb des Widgets.&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;*/&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &lt;span style="color: #b1b100;"&gt;if&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;a href="http://www.php.net/function_exists"&gt;&lt;span style="color: #990000;"&gt;function_exists&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'load_plugin_textdomain'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; load_plugin_textdomain&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #000088;"&gt;$this&lt;/span&gt;&lt;span style="color: #339933;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #004000;"&gt;var_sTextdomain&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; PLUGINDIR &lt;span style="color: #339933;"&gt;.&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'/'&lt;/span&gt; &lt;span style="color: #339933;"&gt;.&lt;/span&gt; &lt;a href="http://www.php.net/dirname"&gt;&lt;span style="color: #990000;"&gt;dirname&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;plugin_basename&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #009900; font-weight: bold;"&gt;__FILE__&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #339933;"&gt;.&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'/l10n'&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &lt;a href="http://www.php.net/dirname"&gt;&lt;span style="color: #990000;"&gt;dirname&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;plugin_basename&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #009900; font-weight: bold;"&gt;__FILE__&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #339933;"&gt;.&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'/l10n'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &amp;nbsp; &amp;nbsp; &lt;span style="color: #000088;"&gt;$widget_options&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;a href="http://www.php.net/array"&gt;&lt;span style="color: #990000;"&gt;array&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;'classname'&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'my_sidebar_widget'&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;'description'&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&amp;gt;&lt;/span&gt; __&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'A little demonstration on programming a wordpress widget.'&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &lt;span style="color: #000088;"&gt;$this&lt;/span&gt;&lt;span style="color: #339933;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #004000;"&gt;var_sTextdomain&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &amp;nbsp; &amp;nbsp; &lt;span style="color: #000088;"&gt;$control_options&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;a href="http://www.php.net/array"&gt;&lt;span style="color: #990000;"&gt;array&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &amp;nbsp; &amp;nbsp; &lt;span style="color: #000088;"&gt;$this&lt;/span&gt;&lt;span style="color: #339933;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #004000;"&gt;WP_Widget&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'my_sidebar_widget'&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; __&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'My Sidebar Widget'&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &lt;span style="color: #000088;"&gt;$this&lt;/span&gt;&lt;span style="color: #339933;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #004000;"&gt;var_sTextdomain&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &lt;span style="color: #000088;"&gt;$widget_options&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &lt;span style="color: #000088;"&gt;$control_options&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt; &lt;span style="color: #666666; font-style: italic;"&gt;// END function __construct()&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p&gt;Wie hier zu erkennen ist, wird bereits die Textdomain für die Überstzung definiert und WordPress informiert, wo die Übersetzungsdateien liegen. Auch werden hier die Widgetoptionen und die Kontrolloptionen an die Widget-API übergeben. Zu den Kontrolloptionen muss gesagt sein, dass dieses Array im Allgemeinen leer bleiben kann, es sei denn, man braucht mehr als 250 Pixel Breite für die Widgeteinstellungen. In diesem Fall:&lt;/p&gt;&lt;div class="codecolorer-container php geshi syntaxhighlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:99%;"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"&gt;&lt;div&gt;1&lt;br /&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"&gt;&lt;span style="color: #000088;"&gt;$control_options&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;a href="http://www.php.net/array"&gt;&lt;span style="color: #990000;"&gt;array&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'width'&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color: #cc66cc;"&gt;400&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p&gt;Die Werte des Arrays &amp;#8220;$widget_options&amp;#8221; sind eigentlich fast selbsterklärend. Classname setzt den Namen der CSS-Klasse und Description ist die Kurzbeschreibung des Widgets, welche in der Widgetübersicht zu sehen ist.&lt;/p&gt;&lt;p&gt;Für eine Breite von 400 Pixel.&lt;/p&gt;&lt;h2&gt;Das Widgetformular&lt;/h2&gt;&lt;p&gt;In dieser Funktion wird das Formular des Widgets erstellt.  Also der Teil, in dem dann später der Titel und der Freitext dieses kleinen Demowidgets eingegeben werden kann.&lt;/p&gt;&lt;div class="codecolorer-container php geshi syntaxhighlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:99%;"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"&gt;&lt;div&gt;1&lt;br /&gt;2&lt;br /&gt;3&lt;br /&gt;4&lt;br /&gt;5&lt;br /&gt;6&lt;br /&gt;7&lt;br /&gt;8&lt;br /&gt;9&lt;br /&gt;10&lt;br /&gt;11&lt;br /&gt;12&lt;br /&gt;13&lt;br /&gt;14&lt;br /&gt;15&lt;br /&gt;16&lt;br /&gt;17&lt;br /&gt;18&lt;br /&gt;19&lt;br /&gt;20&lt;br /&gt;21&lt;br /&gt;22&lt;br /&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"&gt;&lt;span style="color: #666666; font-style: italic;"&gt;// Formular&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;function&lt;/span&gt; form&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #000088;"&gt;$instance&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009933; font-style: italic;"&gt;/**&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;* Standardwerte&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;*&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;* @var array&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;*/&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &lt;span style="color: #000088;"&gt;$instance&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; wp_parse_args&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;a href="http://www.php.net/array"&gt;&lt;span style="color: #990000;"&gt;array&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #000088;"&gt;$instance&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &lt;a href="http://www.php.net/array"&gt;&lt;span style="color: #990000;"&gt;array&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;'my-widget-title'&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;''&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;'my-widget-text'&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;''&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &amp;nbsp; &amp;nbsp; &lt;span style="color: #666666; font-style: italic;"&gt;// Titel&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &lt;span style="color: #b1b100;"&gt;echo&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'&amp;lt;p style=&amp;quot;border-bottom: 1px solid #DFDFDF;&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;'&lt;/span&gt; &lt;span style="color: #339933;"&gt;.&lt;/span&gt; __&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'Title'&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &lt;span style="color: #000088;"&gt;$this&lt;/span&gt;&lt;span style="color: #339933;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #004000;"&gt;var_sTextdomain&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #339933;"&gt;.&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;'&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &lt;span style="color: #b1b100;"&gt;echo&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'&amp;lt;p&amp;gt;&amp;lt;input id=&amp;quot;'&lt;/span&gt; &lt;span style="color: #339933;"&gt;.&lt;/span&gt; &lt;span style="color: #000088;"&gt;$this&lt;/span&gt;&lt;span style="color: #339933;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #004000;"&gt;get_field_id&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'my-widget-title'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #339933;"&gt;.&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'&amp;quot; name=&amp;quot;'&lt;/span&gt; &lt;span style="color: #339933;"&gt;.&lt;/span&gt; &lt;span style="color: #000088;"&gt;$this&lt;/span&gt;&lt;span style="color: #339933;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #004000;"&gt;get_field_name&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'my-widget-title'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #339933;"&gt;.&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'&amp;quot; type=&amp;quot;text&amp;quot; value=&amp;quot;'&lt;/span&gt; &lt;span style="color: #339933;"&gt;.&lt;/span&gt; &lt;span style="color: #000088;"&gt;$instance&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'my-widget-title'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#93;&lt;/span&gt; &lt;span style="color: #339933;"&gt;.&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'&amp;quot; /&amp;gt;&amp;lt;/p&amp;gt;'&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &lt;span style="color: #b1b100;"&gt;echo&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'&amp;lt;p style=&amp;quot;clear:both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;'&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &amp;nbsp; &amp;nbsp; &lt;span style="color: #666666; font-style: italic;"&gt;// Textfeld&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &lt;span style="color: #b1b100;"&gt;echo&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'&amp;lt;p style=&amp;quot;border-bottom: 1px solid #DFDFDF;&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;'&lt;/span&gt; &lt;span style="color: #339933;"&gt;.&lt;/span&gt; __&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'Textarea:'&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &lt;span style="color: #000088;"&gt;$this&lt;/span&gt;&lt;span style="color: #339933;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #004000;"&gt;var_sTextdomain&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #339933;"&gt;.&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;'&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &lt;span style="color: #b1b100;"&gt;echo&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'&amp;lt;p&amp;gt;&amp;lt;span style=&amp;quot;display:inline-block;&amp;quot;&amp;gt;'&lt;/span&gt; &lt;span style="color: #339933;"&gt;.&lt;/span&gt; __&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'Write some text here ...'&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &lt;span style="color: #000088;"&gt;$this&lt;/span&gt;&lt;span style="color: #339933;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #004000;"&gt;var_sTextdomain&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #339933;"&gt;.&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'&amp;lt;/span&amp;gt;&amp;lt;textarea style=&amp;quot;width:100%;&amp;quot; id=&amp;quot;'&lt;/span&gt; &lt;span style="color: #339933;"&gt;.&lt;/span&gt; &lt;span style="color: #000088;"&gt;$this&lt;/span&gt;&lt;span style="color: #339933;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #004000;"&gt;get_field_id&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'my-widget-text'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #339933;"&gt;.&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'&amp;quot; rows=&amp;quot;10&amp;quot; name=&amp;quot;'&lt;/span&gt; &lt;span style="color: #339933;"&gt;.&lt;/span&gt; &lt;span style="color: #000088;"&gt;$this&lt;/span&gt;&lt;span style="color: #339933;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #004000;"&gt;get_field_name&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'my-widget-text'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #339933;"&gt;.&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'&amp;quot;&amp;gt;'&lt;/span&gt; &lt;span style="color: #339933;"&gt;.&lt;/span&gt; &lt;span style="color: #000088;"&gt;$instance&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'my-widget-text'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#93;&lt;/span&gt; &lt;span style="color: #339933;"&gt;.&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'&amp;lt;/textarea&amp;gt;&amp;lt;/p&amp;gt;'&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &lt;span style="color: #b1b100;"&gt;echo&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'&amp;lt;p style=&amp;quot;clear:both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;'&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt; &lt;span style="color: #666666; font-style: italic;"&gt;// END function form($instance)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p&gt;Das Array $instance enthält hier die Werte aus der Datenbank, sofern diese gesetzt sind. Sollte für ein Feld noch kein Wert gesetzt sein, so werden mit &lt;em&gt;wp_parse_args&lt;/em&gt; die Standardwerte in das Array eingefügt. Zum PHP-Code dieser Funktion verliere ich nicht viele Worte, ich gehe einfach mal davon aus, dass zu erkennen ist, dass hier ein HTML-Formular erstellt wird in welches die Werte aus der Datenbank eingefügt werden.&lt;/p&gt;&lt;h2&gt;Speichern der Einstellungen&lt;/h2&gt;&lt;p&gt;Hier werden nun die Eingaben aus dem Formular übernommen, geprüft und gespeichert.&lt;/p&gt;&lt;div class="codecolorer-container php geshi syntaxhighlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:99%;"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"&gt;&lt;div&gt;1&lt;br /&gt;2&lt;br /&gt;3&lt;br /&gt;4&lt;br /&gt;5&lt;br /&gt;6&lt;br /&gt;7&lt;br /&gt;8&lt;br /&gt;9&lt;br /&gt;10&lt;br /&gt;11&lt;br /&gt;12&lt;br /&gt;13&lt;br /&gt;14&lt;br /&gt;15&lt;br /&gt;16&lt;br /&gt;17&lt;br /&gt;18&lt;br /&gt;19&lt;br /&gt;20&lt;br /&gt;21&lt;br /&gt;22&lt;br /&gt;23&lt;br /&gt;24&lt;br /&gt;25&lt;br /&gt;26&lt;br /&gt;27&lt;br /&gt;28&lt;br /&gt;29&lt;br /&gt;30&lt;br /&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"&gt;&lt;span style="color: #666666; font-style: italic;"&gt;// Speichern&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;function&lt;/span&gt; update&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #000088;"&gt;$new_instance&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &lt;span style="color: #000088;"&gt;$old_instance&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #000088;"&gt;$instance&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #000088;"&gt;$old_instance&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009933; font-style: italic;"&gt;/**&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;* Standrdwerte setzen&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;*&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;* @var array&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;*/&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &lt;span style="color: #000088;"&gt;$new_instance&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; wp_parse_args&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;a href="http://www.php.net/array"&gt;&lt;span style="color: #990000;"&gt;array&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #000088;"&gt;$new_instance&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &lt;a href="http://www.php.net/array"&gt;&lt;span style="color: #990000;"&gt;array&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;'my-widget-title'&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;''&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;'my-widget-text'&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;''&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009933; font-style: italic;"&gt;/**&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;* Einstellungen, welche über das Formular kommen auf ihre Richtigkeit hin prüfen.&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;* Somit wird sicher gestellt, dass kein Schadcode eingeschleust werden kann.&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;*&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;* @var array&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;*/&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &lt;span style="color: #000088;"&gt;$instance&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'my-widget-title'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#93;&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;string&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;a href="http://www.php.net/strip_tags"&gt;&lt;span style="color: #990000;"&gt;strip_tags&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #000088;"&gt;$new_instance&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'my-widget-title'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#93;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &lt;span style="color: #000088;"&gt;$instance&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'my-widget-text'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#93;&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;string&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;a href="http://www.php.net/strip_tags"&gt;&lt;span style="color: #990000;"&gt;strip_tags&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #000088;"&gt;$new_instance&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'my-widget-text'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#93;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009933; font-style: italic;"&gt;/**&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;* Array mit den Einstellungen an die verarbeitende Funktion zurückliefern.&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;* Diese liegt in der Klasse WP_Widget und speichert nun die Optionen&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;* in der Datenbank.&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;*/&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &lt;span style="color: #b1b100;"&gt;return&lt;/span&gt; &lt;span style="color: #000088;"&gt;$instance&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt; &lt;span style="color: #666666; font-style: italic;"&gt;// END function update($new_instance, $old_instance)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p&gt;Auch hier können wieder Standardwerte definiert werden, welche gespeichert werden, sollte eines der Formularfelder nichts enthalten. Dies kann zur Fehlerreduzierung durchaus nützlich sein.&lt;/p&gt;&lt;h2&gt;Ausgabe des Widgets&lt;/h2&gt;&lt;p&gt;In dieser Funktion wird die Ausgabe des Widgets gesteuert. Also was soll wann und wie ausgegeben werden.&lt;/p&gt;&lt;div class="codecolorer-container php geshi syntaxhighlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:99%;"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"&gt;&lt;div&gt;1&lt;br /&gt;2&lt;br /&gt;3&lt;br /&gt;4&lt;br /&gt;5&lt;br /&gt;6&lt;br /&gt;7&lt;br /&gt;8&lt;br /&gt;9&lt;br /&gt;10&lt;br /&gt;11&lt;br /&gt;12&lt;br /&gt;13&lt;br /&gt;14&lt;br /&gt;15&lt;br /&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"&gt;&lt;span style="color: #666666; font-style: italic;"&gt;// Ausgabe&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;function&lt;/span&gt; widget&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #000088;"&gt;$args&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &lt;span style="color: #000088;"&gt;$instance&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &lt;a href="http://www.php.net/extract"&gt;&lt;span style="color: #990000;"&gt;extract&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #000088;"&gt;$args&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &amp;nbsp; &amp;nbsp; &lt;span style="color: #b1b100;"&gt;echo&lt;/span&gt; &lt;span style="color: #000088;"&gt;$before_widget&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &amp;nbsp; &amp;nbsp; &lt;span style="color: #000088;"&gt;$title&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;a href="http://www.php.net/empty"&gt;&lt;span style="color: #990000;"&gt;empty&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #000088;"&gt;$instance&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'my-widget-title'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#93;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; ? &lt;span style="color: #0000ff;"&gt;''&lt;/span&gt; &lt;span style="color: #339933;"&gt;:&lt;/span&gt; apply_filters&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'my_widget_title'&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &lt;span style="color: #000088;"&gt;$instance&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'my-widget-title'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#93;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &amp;nbsp; &amp;nbsp; &lt;span style="color: #b1b100;"&gt;if&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #339933;"&gt;!&lt;/span&gt;&lt;a href="http://www.php.net/empty"&gt;&lt;span style="color: #990000;"&gt;empty&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #000088;"&gt;$title&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #b1b100;"&gt;echo&lt;/span&gt; &lt;span style="color: #000088;"&gt;$before_title&lt;/span&gt; &lt;span style="color: #339933;"&gt;.&lt;/span&gt; &lt;span style="color: #000088;"&gt;$title&lt;/span&gt; &lt;span style="color: #339933;"&gt;.&lt;/span&gt; &lt;span style="color: #000088;"&gt;$after_title&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt; &lt;span style="color: #666666; font-style: italic;"&gt;// END if(!empty($title))&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &amp;nbsp; &amp;nbsp; &lt;span style="color: #b1b100;"&gt;echo&lt;/span&gt; &lt;span style="color: #000088;"&gt;$this&lt;/span&gt;&lt;span style="color: #339933;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #004000;"&gt;my_widget_html_output&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #000088;"&gt;$instance&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &lt;span style="color: #b1b100;"&gt;echo&lt;/span&gt; &lt;span style="color: #000088;"&gt;$after_widget&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt; &lt;span style="color: #666666; font-style: italic;"&gt;// END function widget($args, $instance)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p&gt;&lt;div id="attachment_4315" class="wp-caption alignright" style="width: 370px"&gt;&lt;a href="http://blog.ppfeufer.de/wordpress-grundstruktur-eines-sidebarwidgets/my-sidebar-widget-ausgabe/" rel="attachment wp-att-4315"&gt;&lt;img src="http://cdn.blog.ppfeufer.de/wp-content/uploads/2012/04/my-sidebar-widget-ausgabe.jpg" alt="My Sidebar Widget Ausgabe" title="My Sidebar Widget Ausgabe" width="360" height="299" class="size-full wp-image-4315" /&gt;&lt;/a&gt;&lt;p class="wp-caption-text"&gt;My Sidebar Widget Ausgabe&lt;/p&gt;&lt;/div&gt;Wie hier zu sehen ist, bevorzuge ich für die Ausgabe des eigentlichen Inhalts des Widgets eine eigene Funktion, da ich persönlich dieses Vorgehen übersichtlicher finde und somit in dieser Funktion lediglich den &amp;#8220;Rahmen&amp;#8221; des Widgets erstellen lasse. Aber dies kann letztlich jeder für sich selbst entscheiden.&lt;/p&gt;&lt;p&gt;Und wenn man nun auch etwas Text und einen Titel im Backend in den Widgeteinstellungen eingegeben hat, könnte das Widget im Frontend so oder so ähnlich aussehen.&lt;/p&gt;&lt;h2&gt;Widget initialisieren&lt;/h2&gt;&lt;p&gt;Natürlich muss das Widget selbst noch initialisiert werden, denn sonst wei0t die Widget-API nichts von diesem Widget.&lt;/p&gt;&lt;div class="codecolorer-container php geshi syntaxhighlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:99%;"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"&gt;&lt;div&gt;1&lt;br /&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"&gt;add_action&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'widgets_init'&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &lt;a href="http://www.php.net/create_function"&gt;&lt;span style="color: #990000;"&gt;create_function&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;''&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'return register_widget(&amp;quot;My_Sidebar_Widget&amp;quot;);'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p&gt;Durch diese Initialisierung wird das Widget an die Widget-API übergeben. Die Konstruktorfunktionen werden automatisch gestartet und das Widget wird mit den dort hinterlegten Optionen in WordPress eingebunden.&lt;/p&gt;&lt;h2&gt;Gesamter PHP-Code&lt;/h2&gt;&lt;p&gt;Und um die Verwirrung nicht zu groß werden zu lassen, hier nochmal der gesamte PHP-Code des Beispielwidgets.&lt;/p&gt;&lt;div class="codecolorer-container php geshi syntaxhighlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:99%;"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"&gt;&lt;div&gt;1&lt;br /&gt;2&lt;br /&gt;3&lt;br /&gt;4&lt;br /&gt;5&lt;br /&gt;6&lt;br /&gt;7&lt;br /&gt;8&lt;br /&gt;9&lt;br /&gt;10&lt;br /&gt;11&lt;br /&gt;12&lt;br /&gt;13&lt;br /&gt;14&lt;br /&gt;15&lt;br /&gt;16&lt;br /&gt;17&lt;br /&gt;18&lt;br /&gt;19&lt;br /&gt;20&lt;br /&gt;21&lt;br /&gt;22&lt;br /&gt;23&lt;br /&gt;24&lt;br /&gt;25&lt;br /&gt;26&lt;br /&gt;27&lt;br /&gt;28&lt;br /&gt;29&lt;br /&gt;30&lt;br /&gt;31&lt;br /&gt;32&lt;br /&gt;33&lt;br /&gt;34&lt;br /&gt;35&lt;br /&gt;36&lt;br /&gt;37&lt;br /&gt;38&lt;br /&gt;39&lt;br /&gt;40&lt;br /&gt;41&lt;br /&gt;42&lt;br /&gt;43&lt;br /&gt;44&lt;br /&gt;45&lt;br /&gt;46&lt;br /&gt;47&lt;br /&gt;48&lt;br /&gt;49&lt;br /&gt;50&lt;br /&gt;51&lt;br /&gt;52&lt;br /&gt;53&lt;br /&gt;54&lt;br /&gt;55&lt;br /&gt;56&lt;br /&gt;57&lt;br /&gt;58&lt;br /&gt;59&lt;br /&gt;60&lt;br /&gt;61&lt;br /&gt;62&lt;br /&gt;63&lt;br /&gt;64&lt;br /&gt;65&lt;br /&gt;66&lt;br /&gt;67&lt;br /&gt;68&lt;br /&gt;69&lt;br /&gt;70&lt;br /&gt;71&lt;br /&gt;72&lt;br /&gt;73&lt;br /&gt;74&lt;br /&gt;75&lt;br /&gt;76&lt;br /&gt;77&lt;br /&gt;78&lt;br /&gt;79&lt;br /&gt;80&lt;br /&gt;81&lt;br /&gt;82&lt;br /&gt;83&lt;br /&gt;84&lt;br /&gt;85&lt;br /&gt;86&lt;br /&gt;87&lt;br /&gt;88&lt;br /&gt;89&lt;br /&gt;90&lt;br /&gt;91&lt;br /&gt;92&lt;br /&gt;93&lt;br /&gt;94&lt;br /&gt;95&lt;br /&gt;96&lt;br /&gt;97&lt;br /&gt;98&lt;br /&gt;99&lt;br /&gt;100&lt;br /&gt;101&lt;br /&gt;102&lt;br /&gt;103&lt;br /&gt;104&lt;br /&gt;105&lt;br /&gt;106&lt;br /&gt;107&lt;br /&gt;108&lt;br /&gt;109&lt;br /&gt;110&lt;br /&gt;111&lt;br /&gt;112&lt;br /&gt;113&lt;br /&gt;114&lt;br /&gt;115&lt;br /&gt;116&lt;br /&gt;117&lt;br /&gt;118&lt;br /&gt;119&lt;br /&gt;120&lt;br /&gt;121&lt;br /&gt;122&lt;br /&gt;123&lt;br /&gt;124&lt;br /&gt;125&lt;br /&gt;126&lt;br /&gt;127&lt;br /&gt;128&lt;br /&gt;129&lt;br /&gt;130&lt;br /&gt;131&lt;br /&gt;132&lt;br /&gt;133&lt;br /&gt;134&lt;br /&gt;135&lt;br /&gt;136&lt;br /&gt;137&lt;br /&gt;138&lt;br /&gt;139&lt;br /&gt;140&lt;br /&gt;141&lt;br /&gt;142&lt;br /&gt;143&lt;br /&gt;144&lt;br /&gt;145&lt;br /&gt;146&lt;br /&gt;147&lt;br /&gt;148&lt;br /&gt;149&lt;br /&gt;150&lt;br /&gt;151&lt;br /&gt;152&lt;br /&gt;153&lt;br /&gt;154&lt;br /&gt;155&lt;br /&gt;156&lt;br /&gt;157&lt;br /&gt;158&lt;br /&gt;159&lt;br /&gt;160&lt;br /&gt;161&lt;br /&gt;162&lt;br /&gt;163&lt;br /&gt;164&lt;br /&gt;165&lt;br /&gt;166&lt;br /&gt;167&lt;br /&gt;168&lt;br /&gt;169&lt;br /&gt;170&lt;br /&gt;171&lt;br /&gt;172&lt;br /&gt;173&lt;br /&gt;174&lt;br /&gt;175&lt;br /&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"&gt;&lt;span style="color: #000000; font-weight: bold;"&gt;&amp;lt;?php&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #009933; font-style: italic;"&gt;/**&lt;br /&gt; &amp;nbsp;* Plugin Name: My Sidebar Widget&lt;br /&gt; &amp;nbsp;* Plugin URI: http://blog.ppfeufer.de/wordpress-grundstruktur-eines-sidebarwidgets/&lt;br /&gt; &amp;nbsp;* Description: Ein simples Sidebarwidget um zu zeigen, wie Widgets bei WordPress aufgebaut sind.&lt;br /&gt; &amp;nbsp;* Version: 0.1&lt;br /&gt; &amp;nbsp;* Author: H.-Peter Pfeufer&lt;br /&gt; &amp;nbsp;* Author URI: http://ppfeufer.de&lt;br /&gt; &amp;nbsp;*/&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #b1b100;"&gt;if&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #339933;"&gt;!&lt;/span&gt;&lt;a href="http://www.php.net/class_exists"&gt;&lt;span style="color: #990000;"&gt;class_exists&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'My_Sidebar_Widget'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009933; font-style: italic;"&gt;/**&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;* Class My_Sidebar_Widget&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;*&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;* Diese Klasse ist die Grundstruktur eines WordPress-Widgets, wie es&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;* über die Widgetseite unter Design in einen der Widgetbereiche des Themes&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;* eingefügt werden kann.&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;*&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;* Gezeigt wird hier ein simples Textwidget.&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;* Eingabe von HTML ist hier im Text nicht möglich,&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;* die Formatierung des Textes erfolgt automatisch via wpautop();&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;*&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;* @author ppfeufer&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;*/&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &lt;span style="color: #000000; font-weight: bold;"&gt;class&lt;/span&gt; My_Sidebar_Widget &lt;span style="color: #000000; font-weight: bold;"&gt;extends&lt;/span&gt; WP_Widget &lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #000000; font-weight: bold;"&gt;private&lt;/span&gt; &lt;span style="color: #000088;"&gt;$var_sTextdomain&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt; &lt;span style="color: #666666; font-style: italic;"&gt;// Textdomain für die Übersetzungen des Widgets&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009933; font-style: italic;"&gt;/**&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;* Konstruktorfunktion (PHP4).&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;*&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;* Diese Funktion muss den gleichen Namen haben, wie das Klasse des Widgets.&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;* Somit wird diese Funktion direkt nach dem Initialisieren der Klasse&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;* aufgerufen und ausgeführt. Da dies der Konstuktor für PHP4 ist wird durch diesen&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;* direkt die Konstruktorfunktion für PHP5 aufgerufen.&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;*&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;* @see My_Sidebar_Widget::__construct()&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;*/&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #000000; font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;function&lt;/span&gt; My_Sidebar_Widget&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; My_Sidebar_Widget&lt;span style="color: #339933;"&gt;::&lt;/span&gt;__construct&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt; &lt;span style="color: #666666; font-style: italic;"&gt;// END function My_Sidebar_Widget()&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009933; font-style: italic;"&gt;/**&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;* Konstruktorfunktion (PHP5).&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;*&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;* @param array $widget_options Optional Passed to wp_register_sidebar_widget()&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;*&amp;nbsp; &amp;nbsp;- description: shown on the configuration page&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;*&amp;nbsp; &amp;nbsp;- classname&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;* @param array $control_options Optional Passed to wp_register_widget_control()&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;*&amp;nbsp; &amp;nbsp;- width: required if more than 250px&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;*&amp;nbsp; &amp;nbsp;- height: currently not used but may be needed in the future&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;*/&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #000000; font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;function&lt;/span&gt; __construct&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #000088;"&gt;$this&lt;/span&gt;&lt;span style="color: #339933;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #004000;"&gt;var_sTextdomain&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'my-sidebar-widget'&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009933; font-style: italic;"&gt;/**&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;* Übersetzungsfunktion für das Widget aktivieren.&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;* Die Sprachdateien liegen im Ordner &amp;quot;l10n&amp;quot; innerhalb des Widgets.&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;*/&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #b1b100;"&gt;if&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;a href="http://www.php.net/function_exists"&gt;&lt;span style="color: #990000;"&gt;function_exists&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'load_plugin_textdomain'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; load_plugin_textdomain&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #000088;"&gt;$this&lt;/span&gt;&lt;span style="color: #339933;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #004000;"&gt;var_sTextdomain&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; PLUGINDIR &lt;span style="color: #339933;"&gt;.&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'/'&lt;/span&gt; &lt;span style="color: #339933;"&gt;.&lt;/span&gt; &lt;a href="http://www.php.net/dirname"&gt;&lt;span style="color: #990000;"&gt;dirname&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;plugin_basename&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #009900; font-weight: bold;"&gt;__FILE__&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #339933;"&gt;.&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'/l10n'&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &lt;a href="http://www.php.net/dirname"&gt;&lt;span style="color: #990000;"&gt;dirname&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;plugin_basename&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #009900; font-weight: bold;"&gt;__FILE__&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #339933;"&gt;.&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'/l10n'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #000088;"&gt;$widget_options&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;a href="http://www.php.net/array"&gt;&lt;span style="color: #990000;"&gt;array&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;'classname'&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'my_sidebar_widget'&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;'description'&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&amp;gt;&lt;/span&gt; __&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'A little demonstration on programming a wordpress widget.'&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &lt;span style="color: #000088;"&gt;$this&lt;/span&gt;&lt;span style="color: #339933;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #004000;"&gt;var_sTextdomain&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #000088;"&gt;$control_options&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;a href="http://www.php.net/array"&gt;&lt;span style="color: #990000;"&gt;array&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #000088;"&gt;$this&lt;/span&gt;&lt;span style="color: #339933;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #004000;"&gt;WP_Widget&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'my_sidebar_widget'&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; __&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'My Sidebar Widget'&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &lt;span style="color: #000088;"&gt;$this&lt;/span&gt;&lt;span style="color: #339933;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #004000;"&gt;var_sTextdomain&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &lt;span style="color: #000088;"&gt;$widget_options&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &lt;span style="color: #000088;"&gt;$control_options&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt; &lt;span style="color: #666666; font-style: italic;"&gt;// END function __construct()&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009933; font-style: italic;"&gt;/**&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;* Widgetformular.&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;* Der Einstellungsbereich des Widgets.&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;*&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;* @see WP_Widget::form()&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;*/&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #000000; font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;function&lt;/span&gt; form&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #000088;"&gt;$instance&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009933; font-style: italic;"&gt;/**&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;* Standardwerte&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;*&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;* @var array&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;*/&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #000088;"&gt;$instance&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; wp_parse_args&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;a href="http://www.php.net/array"&gt;&lt;span style="color: #990000;"&gt;array&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #000088;"&gt;$instance&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &lt;a href="http://www.php.net/array"&gt;&lt;span style="color: #990000;"&gt;array&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;'my-widget-title'&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;''&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;'my-widget-text'&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;''&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #666666; font-style: italic;"&gt;// Titel&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #b1b100;"&gt;echo&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'&amp;lt;p style=&amp;quot;border-bottom: 1px solid #DFDFDF;&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;'&lt;/span&gt; &lt;span style="color: #339933;"&gt;.&lt;/span&gt; __&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'Title'&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &lt;span style="color: #000088;"&gt;$this&lt;/span&gt;&lt;span style="color: #339933;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #004000;"&gt;var_sTextdomain&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #339933;"&gt;.&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;'&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #b1b100;"&gt;echo&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'&amp;lt;p&amp;gt;&amp;lt;input id=&amp;quot;'&lt;/span&gt; &lt;span style="color: #339933;"&gt;.&lt;/span&gt; &lt;span style="color: #000088;"&gt;$this&lt;/span&gt;&lt;span style="color: #339933;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #004000;"&gt;get_field_id&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'my-widget-title'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #339933;"&gt;.&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'&amp;quot; name=&amp;quot;'&lt;/span&gt; &lt;span style="color: #339933;"&gt;.&lt;/span&gt; &lt;span style="color: #000088;"&gt;$this&lt;/span&gt;&lt;span style="color: #339933;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #004000;"&gt;get_field_name&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'my-widget-title'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #339933;"&gt;.&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'&amp;quot; type=&amp;quot;text&amp;quot; value=&amp;quot;'&lt;/span&gt; &lt;span style="color: #339933;"&gt;.&lt;/span&gt; &lt;span style="color: #000088;"&gt;$instance&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'my-widget-title'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#93;&lt;/span&gt; &lt;span style="color: #339933;"&gt;.&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'&amp;quot; /&amp;gt;&amp;lt;/p&amp;gt;'&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #b1b100;"&gt;echo&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'&amp;lt;p style=&amp;quot;clear:both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;'&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #666666; font-style: italic;"&gt;// Textfeld&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #b1b100;"&gt;echo&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'&amp;lt;p style=&amp;quot;border-bottom: 1px solid #DFDFDF;&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;'&lt;/span&gt; &lt;span style="color: #339933;"&gt;.&lt;/span&gt; __&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'Textarea:'&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &lt;span style="color: #000088;"&gt;$this&lt;/span&gt;&lt;span style="color: #339933;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #004000;"&gt;var_sTextdomain&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #339933;"&gt;.&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;'&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #b1b100;"&gt;echo&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'&amp;lt;p&amp;gt;&amp;lt;span style=&amp;quot;display:inline-block;&amp;quot;&amp;gt;'&lt;/span&gt; &lt;span style="color: #339933;"&gt;.&lt;/span&gt; __&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'Write some text here ...'&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &lt;span style="color: #000088;"&gt;$this&lt;/span&gt;&lt;span style="color: #339933;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #004000;"&gt;var_sTextdomain&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #339933;"&gt;.&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'&amp;lt;/span&amp;gt;&amp;lt;textarea style=&amp;quot;width:100%;&amp;quot; id=&amp;quot;'&lt;/span&gt; &lt;span style="color: #339933;"&gt;.&lt;/span&gt; &lt;span style="color: #000088;"&gt;$this&lt;/span&gt;&lt;span style="color: #339933;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #004000;"&gt;get_field_id&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'my-widget-text'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #339933;"&gt;.&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'&amp;quot; rows=&amp;quot;10&amp;quot; name=&amp;quot;'&lt;/span&gt; &lt;span style="color: #339933;"&gt;.&lt;/span&gt; &lt;span style="color: #000088;"&gt;$this&lt;/span&gt;&lt;span style="color: #339933;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #004000;"&gt;get_field_name&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'my-widget-text'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #339933;"&gt;.&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'&amp;quot;&amp;gt;'&lt;/span&gt; &lt;span style="color: #339933;"&gt;.&lt;/span&gt; &lt;span style="color: #000088;"&gt;$instance&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'my-widget-text'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#93;&lt;/span&gt; &lt;span style="color: #339933;"&gt;.&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'&amp;lt;/textarea&amp;gt;&amp;lt;/p&amp;gt;'&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #b1b100;"&gt;echo&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'&amp;lt;p style=&amp;quot;clear:both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;'&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt; &lt;span style="color: #666666; font-style: italic;"&gt;// END function form($instance)&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009933; font-style: italic;"&gt;/**&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;* Widgeteinstellungen in die Datenbank schreiben.&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;*&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;* @see WP_Widget::update()&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;*/&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #000000; font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;function&lt;/span&gt; update&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #000088;"&gt;$new_instance&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &lt;span style="color: #000088;"&gt;$old_instance&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #000088;"&gt;$instance&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #000088;"&gt;$old_instance&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009933; font-style: italic;"&gt;/**&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;* Standrdwerte setzen&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;*&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;* @var array&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;*/&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #000088;"&gt;$new_instance&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; wp_parse_args&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;a href="http://www.php.net/array"&gt;&lt;span style="color: #990000;"&gt;array&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #000088;"&gt;$new_instance&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &lt;a href="http://www.php.net/array"&gt;&lt;span style="color: #990000;"&gt;array&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;'my-widget-title'&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;''&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;'my-widget-text'&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;''&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009933; font-style: italic;"&gt;/**&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;* Einstellungen, welche über das Formular kommen auf ihre Richtigkeit hin prüfen.&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;* Somit wird sicher gestellt, dass kein Schadcode eingeschleust werden kann.&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;*&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;* @var array&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;*/&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #000088;"&gt;$instance&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'my-widget-title'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#93;&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;string&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;a href="http://www.php.net/strip_tags"&gt;&lt;span style="color: #990000;"&gt;strip_tags&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #000088;"&gt;$new_instance&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'my-widget-title'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#93;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #000088;"&gt;$instance&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'my-widget-text'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#93;&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;string&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;a href="http://www.php.net/strip_tags"&gt;&lt;span style="color: #990000;"&gt;strip_tags&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #000088;"&gt;$new_instance&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'my-widget-text'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#93;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009933; font-style: italic;"&gt;/**&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;* Array mit den Einstellungen an die verarbeitende Funktion zurückliefern.&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;* Diese liegt in der Klasse WP_Widget und speichert nun die Optionen&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;* in der Datenbank.&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;*/&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #b1b100;"&gt;return&lt;/span&gt; &lt;span style="color: #000088;"&gt;$instance&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt; &lt;span style="color: #666666; font-style: italic;"&gt;// END function update($new_instance, $old_instance)&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009933; font-style: italic;"&gt;/**&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;* Ausgabe des Widgets im Frontend.&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;*&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;* @see WP_Widget::widget()&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;*/&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #000000; font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;function&lt;/span&gt; widget&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #000088;"&gt;$args&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &lt;span style="color: #000088;"&gt;$instance&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href="http://www.php.net/extract"&gt;&lt;span style="color: #990000;"&gt;extract&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #000088;"&gt;$args&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #b1b100;"&gt;echo&lt;/span&gt; &lt;span style="color: #000088;"&gt;$before_widget&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #000088;"&gt;$title&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;a href="http://www.php.net/empty"&gt;&lt;span style="color: #990000;"&gt;empty&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #000088;"&gt;$instance&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'my-widget-title'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#93;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; ? &lt;span style="color: #0000ff;"&gt;''&lt;/span&gt; &lt;span style="color: #339933;"&gt;:&lt;/span&gt; apply_filters&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'my_widget_title'&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &lt;span style="color: #000088;"&gt;$instance&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'my-widget-title'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#93;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #b1b100;"&gt;if&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #339933;"&gt;!&lt;/span&gt;&lt;a href="http://www.php.net/empty"&gt;&lt;span style="color: #990000;"&gt;empty&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #000088;"&gt;$title&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #b1b100;"&gt;echo&lt;/span&gt; &lt;span style="color: #000088;"&gt;$before_title&lt;/span&gt; &lt;span style="color: #339933;"&gt;.&lt;/span&gt; &lt;span style="color: #000088;"&gt;$title&lt;/span&gt; &lt;span style="color: #339933;"&gt;.&lt;/span&gt; &lt;span style="color: #000088;"&gt;$after_title&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt; &lt;span style="color: #666666; font-style: italic;"&gt;// END if(!empty($title))&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #b1b100;"&gt;echo&lt;/span&gt; &lt;span style="color: #000088;"&gt;$this&lt;/span&gt;&lt;span style="color: #339933;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #004000;"&gt;my_widget_html_output&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #000088;"&gt;$instance&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #b1b100;"&gt;echo&lt;/span&gt; &lt;span style="color: #000088;"&gt;$after_widget&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt; &lt;span style="color: #666666; font-style: italic;"&gt;// END function widget($args, $instance)&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009933; font-style: italic;"&gt;/**&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;* HTML des Widgets&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;*&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;* @param array $args&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;*/&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #000000; font-weight: bold;"&gt;private&lt;/span&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;function&lt;/span&gt; my_widget_html_output&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #000088;"&gt;$args&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;a href="http://www.php.net/array"&gt;&lt;span style="color: #990000;"&gt;array&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009933; font-style: italic;"&gt;/**&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;* Widgetausgabe&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;* Hier wird nun das HTML für das Widget erstellt&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;*/&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #000088;"&gt;$var_sWidetHTML&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; wpautop&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #000088;"&gt;$args&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'my-widget-text'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#93;&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &lt;span style="color: #009900; font-weight: bold;"&gt;true&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #b1b100;"&gt;return&lt;/span&gt; &lt;span style="color: #000088;"&gt;$var_sWidetHTML&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt; &lt;span style="color: #666666; font-style: italic;"&gt;// private function my_widget_html_output($args = array())&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt; &lt;span style="color: #666666; font-style: italic;"&gt;// END class My_Sidebar_Widget extends WP_Widget&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009933; font-style: italic;"&gt;/**&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;* Widget initialisieren.&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;*/&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; add_action&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'widgets_init'&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &lt;a href="http://www.php.net/create_function"&gt;&lt;span style="color: #990000;"&gt;create_function&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;''&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'return register_widget(&amp;quot;My_Sidebar_Widget&amp;quot;);'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt; &lt;span style="color: #666666; font-style: italic;"&gt;// END if(!class_exists('My_Sidebar_Widget'))&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p&gt;Das Widget darf gerne hergenommen werden, um eigene Ideen umzusetzen. Ich würde mich freuen, wenn ihr mich wissen lasst, was ihr denn so daraus gemacht habt.&lt;/p&gt;&lt;p&gt;Ich habe das Ganze auch hier mal als Plugin zum Download zusammengeschnürt.&lt;br /&gt;&lt;div id="downloadbutton" class="dlbuttoncenter"&gt; &lt;a href="http://blog.ppfeufer.de/download/my-sidebar-widget" &gt; &lt;span&gt;Download&lt;/span&gt; &lt;em&gt;My Sidebar Widget&lt;/em&gt; &lt;/a&gt;&lt;/div&gt;&lt;/p&gt; 
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/hmM_bVClBDVs6JR1y6V7P1GNC9U/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hmM_bVClBDVs6JR1y6V7P1GNC9U/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/hmM_bVClBDVs6JR1y6V7P1GNC9U/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hmM_bVClBDVs6JR1y6V7P1GNC9U/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ppfeufer/~4/TW_OJTHrFqI" height="1" width="1"/&gt;</content><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blog.ppfeufer.de/wordpress-grundstruktur-eines-sidebarwidgets/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">3</slash:comments><feedburner:origLink>http://blog.ppfeufer.de/wordpress-grundstruktur-eines-sidebarwidgets/</feedburner:origLink></entry><entry><title type="text">WordPress: Tagcloud anpassen</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ppfeufer/~3/rv14YpLXTBQ/" /><category term="WordPress" /><category term="HowTo" /><category term="Tagcloud" /><author><name>H.-Peter Pfeufer</name></author><updated>2012-03-27T19:45:50-07:00</updated><id>http://blog.ppfeufer.de/?p=4264</id><summary type="html">Die Tagcloud &amp;#8211; zu deutsch Schlagwortwolke &amp;#8211; ist in vielen Blogs zu finden. Gerne wird sie genutzt um auf die meist verwendeten Schlagwörter der Artikel aufmerksam zu machen, nur selten passt sie wirklich ins Design des Themes. Letzteres ist der &amp;#8230; &lt;a href="http://blog.ppfeufer.de/wordpress-tagcloud-anpassen/"&gt;Weiterlesen &lt;span class="meta-nav"&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt;</summary><content type="html">&lt;p&gt;Die Tagcloud &amp;#8211; zu deutsch Schlagwortwolke &amp;#8211; ist in vielen Blogs zu finden. Gerne wird sie genutzt um auf die meist verwendeten Schlagwörter der Artikel aufmerksam zu machen, nur selten passt sie wirklich ins Design des Themes. Letzteres ist der Tatsache geschuldet, dass sie meist einfach mit den Standards geladen wird. Somit ist die Schrift mal zu groß, mal zu klein und so weiter. Doch, die Tagcloud lässt sich einfach beeinflussen.&lt;/p&gt;&lt;p&gt;&lt;span id="more-4264"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Um die Tagcloud von WordPress zu beeinflussen, muss man zunächst einmal wissen, wie diese aufgebaut ist, also welche Optionen überhaupt möglich sind und wie diese aufgerufen werden.&lt;/p&gt;&lt;h2&gt;Anpassung der Tagcloud im Theme&lt;/h2&gt;&lt;p&gt;Der generelle Aufruf der TagCloud geschieht mittels&lt;/p&gt;&lt;div class="codecolorer-container php geshi syntaxhighlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:99%;"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"&gt;&lt;div&gt;1&lt;br /&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"&gt;&lt;span style="color: #000000; font-weight: bold;"&gt;&amp;lt;?php&lt;/span&gt; wp_tag_cloud&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #000088;"&gt;$args&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;?&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p&gt;Wie hier unschwer zu erkennen nicht, sind verschiedene Argumente ($args) erlaubt und wer bissle englisch kann, dem muss auch nimmer erklärt werden, was die einzelnen Argumente bedeuten.&lt;/p&gt;&lt;div class="codecolorer-container php geshi syntaxhighlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:99%;"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"&gt;&lt;div&gt;1&lt;br /&gt;2&lt;br /&gt;3&lt;br /&gt;4&lt;br /&gt;5&lt;br /&gt;6&lt;br /&gt;7&lt;br /&gt;8&lt;br /&gt;9&lt;br /&gt;10&lt;br /&gt;11&lt;br /&gt;12&lt;br /&gt;13&lt;br /&gt;14&lt;br /&gt;15&lt;br /&gt;16&lt;br /&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"&gt;&lt;span style="color: #000088;"&gt;$args&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;a href="http://www.php.net/array"&gt;&lt;span style="color: #990000;"&gt;array&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;'smallest'&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color: #cc66cc;"&gt;8&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #666666; font-style: italic;"&gt;// The smallest tag (lowest count) is shown at size 8&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;'largest'&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color: #cc66cc;"&gt;22&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #666666; font-style: italic;"&gt;// The largest tag (highest count) is shown at size 22&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;'unit'&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'pt'&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #666666; font-style: italic;"&gt;// Describes 'pt' (point) as the font-size unit for the smallest and largest values&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;'number'&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color: #cc66cc;"&gt;45&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #666666; font-style: italic;"&gt;// Displays at most 45 tags&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;'format'&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'flat'&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #666666; font-style: italic;"&gt;// Displays the tags in flat (separated by whitespace) style&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;'separator'&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;&amp;quot;&lt;span style="color: #000099; font-weight: bold;"&gt;\n&lt;/span&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #666666; font-style: italic;"&gt;// Displays whitespace between tags&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;'orderby'&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'name'&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #666666; font-style: italic;"&gt;// Order the tags by name&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;'order'&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'ASC'&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #666666; font-style: italic;"&gt;// Sort the tags in ASCENDING fashion&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;'exclude'&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;''&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #666666; font-style: italic;"&gt;// Exclude no tags&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;'include'&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;''&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #666666; font-style: italic;"&gt;// Include all tags&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;'topic_count_text_callback'&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'default_topic_count_text'&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &lt;span style="color: #666666; font-style: italic;"&gt;// Uses function default_topic_count_text&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;'link'&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'view'&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #666666; font-style: italic;"&gt;// view&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;'taxonomy'&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'post_tag'&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #666666; font-style: italic;"&gt;// Use post tags for basis of cloud&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;'echo'&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color: #009900; font-weight: bold;"&gt;true&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #666666; font-style: italic;"&gt;// echo the results&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p&gt;Somit hätten wir die Tagcloud, wie sie im Theme selbst eingebunden werden kann. Also der Weg für Themeentwickler.&lt;/p&gt;&lt;h2&gt;Anpassung der Tagcloud im Widget&lt;/h2&gt;&lt;p&gt;Natürlich bietet WordPress von sich aus ein Widget, welches die Tagcloud darstellen kann und in einer der viele Widgetareas eingebunden werden kann. Auch hier ist es möglich das Verhalten und Aussehen der Tagcloud zu beeinflussen. Hierfür stell WordPress eigens einen Filter zur Verfügung, welcher den schönen Namen &lt;em&gt;widget_tag_cloud_args&lt;/em&gt; trägt. An diesen kann man sich mittels einer kleinen Funktion, welche in der functions.php des Themes hinterlegt wird, dranhängen.&lt;/p&gt;&lt;div class="codecolorer-container php geshi syntaxhighlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:99%;"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"&gt;&lt;div&gt;1&lt;br /&gt;2&lt;br /&gt;3&lt;br /&gt;4&lt;br /&gt;5&lt;br /&gt;6&lt;br /&gt;7&lt;br /&gt;8&lt;br /&gt;9&lt;br /&gt;10&lt;br /&gt;11&lt;br /&gt;12&lt;br /&gt;13&lt;br /&gt;14&lt;br /&gt;15&lt;br /&gt;16&lt;br /&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"&gt;&lt;span style="color: #009933; font-style: italic;"&gt;/**&lt;br /&gt; &amp;nbsp;* Tagclound anpassen.&lt;br /&gt; &amp;nbsp;*&lt;br /&gt; &amp;nbsp;* @param array $args&lt;br /&gt; &amp;nbsp;*/&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #b1b100;"&gt;if&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #339933;"&gt;!&lt;/span&gt;&lt;a href="http://www.php.net/function_exists"&gt;&lt;span style="color: #990000;"&gt;function_exists&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'my_tag_cloud'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &lt;span style="color: #000000; font-weight: bold;"&gt;function&lt;/span&gt; my_tag_cloud&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #000088;"&gt;$args&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;a href="http://www.php.net/array"&gt;&lt;span style="color: #990000;"&gt;array&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #000088;"&gt;$args&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'smallest'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#93;&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #cc66cc;"&gt;8&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt; &lt;span style="color: #666666; font-style: italic;"&gt;// Smalles font size&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #000088;"&gt;$args&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'largest'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#93;&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #cc66cc;"&gt;12&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt; &lt;span style="color: #666666; font-style: italic;"&gt;// Largest font size&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #000088;"&gt;$args&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'unit'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#93;&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'pt'&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt; &lt;span style="color: #666666; font-style: italic;"&gt;// Font size unit (pt, px, em)&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #b1b100;"&gt;return&lt;/span&gt; &lt;span style="color: #000088;"&gt;$args&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt; &lt;span style="color: #666666; font-style: italic;"&gt;// END function my_tag_cloud($args = array())&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &amp;nbsp; &amp;nbsp; add_filter&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'widget_tag_cloud_args'&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'my_tag_cloud'&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &lt;span style="color: #cc66cc;"&gt;90&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt; &lt;span style="color: #666666; font-style: italic;"&gt;// END if(!function_exists('my_tag_cloud'))&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p&gt;Die Argumente sind die Gleichen wie in der Templatevariante oben. Also&lt;/p&gt;&lt;div class="codecolorer-container php geshi syntaxhighlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:99%;"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"&gt;&lt;div&gt;1&lt;br /&gt;2&lt;br /&gt;3&lt;br /&gt;4&lt;br /&gt;5&lt;br /&gt;6&lt;br /&gt;7&lt;br /&gt;8&lt;br /&gt;9&lt;br /&gt;10&lt;br /&gt;11&lt;br /&gt;12&lt;br /&gt;13&lt;br /&gt;14&lt;br /&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"&gt;&lt;span style="color: #000088;"&gt;$args&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'smallest'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#93;&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #cc66cc;"&gt;8&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #000088;"&gt;$args&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'largest'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#93;&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #cc66cc;"&gt;12&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #000088;"&gt;$args&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'unit'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#93;&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'pt'&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #000088;"&gt;$args&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'number'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#93;&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #cc66cc;"&gt;45&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #000088;"&gt;$args&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'format'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#93;&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'flat'&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #000088;"&gt;$args&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'separator'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#93;&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;&amp;quot;&lt;span style="color: #000099; font-weight: bold;"&gt;\n&lt;/span&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #000088;"&gt;$args&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'orderby'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#93;&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'name'&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #000088;"&gt;$args&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'order'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#93;&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'ASC'&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #000088;"&gt;$args&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'exclude'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#93;&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;''&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #000088;"&gt;$args&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'include'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#93;&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;''&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #000088;"&gt;$args&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'topic_count_text_callback'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#93;&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'default_topic_count_text'&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #000088;"&gt;$args&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'link'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#93;&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'view'&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #000088;"&gt;$args&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'taxonomy'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#93;&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'post_tag'&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #000088;"&gt;$args&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'echo'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#93;&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #009900; font-weight: bold;"&gt;true&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p&gt;Nun kann eigentlich jeder sich seine Tagcloud anpassen wie er es gerne möchte.&lt;br /&gt; Eine genaue Beschreibung der einzelnen Elemente und einige Anwendungsbeispiele findet ihr natürlich wie immer in der &lt;a href="http://codex.wordpress.org/Function_Reference/wp_tag_cloud" title="Funktionsrefenz wp_tag_cloud im WordPress Codex"&gt;Funktionsrefenz zu wp_tag_cloud im WordPress Codex&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Ich wünsche viel Spaß dabei &lt;img src="http://cdn.blog.ppfeufer.de/wp-content/themes/ppfeufer/images/smilies/icon_smile.gif" alt="Smilie: :-)" title="Smilie: :-)" /&gt;&lt;/p&gt; 
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/sZ7_IkEfdUA_F33EJ9IzKaCu2co/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/sZ7_IkEfdUA_F33EJ9IzKaCu2co/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/sZ7_IkEfdUA_F33EJ9IzKaCu2co/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/sZ7_IkEfdUA_F33EJ9IzKaCu2co/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ppfeufer/~4/rv14YpLXTBQ" height="1" width="1"/&gt;</content><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blog.ppfeufer.de/wordpress-tagcloud-anpassen/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">12</slash:comments><feedburner:origLink>http://blog.ppfeufer.de/wordpress-tagcloud-anpassen/</feedburner:origLink></entry><entry><title type="text">(Gentoo) Linux: segfault at 10 ip 00007f96e1b38c0f sp 00007f96b2fc6b48 error 6 in libnvidia-tls.so.295.20[7f96e1b38000+3000]</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ppfeufer/~3/SZAfqORPA8Q/" /><category term="Gentoo Linux" /><category term="Linux" /><category term="Gentoo" /><category term="nVidia" /><author><name>H.-Peter Pfeufer</name></author><updated>2012-02-19T07:34:09-08:00</updated><id>http://blog.ppfeufer.de/?p=4207</id><summary type="html">Um es einfach mal Kurz zu machen: Dies ist wohl ein Bug im aktuellen nVidia-Treiber (295.20-r1). Report im Gentoo-Bugtracker ist schon eingereicht. Als Workaround vorerst einfach wieder die vorherige Version (290.10-r2) nutzen. Ich denke ein Fix wird nicht lange auf &amp;#8230; &lt;a href="http://blog.ppfeufer.de/gentoo-linux-segfault-at-10-ip-00007f96e1b38c0f-sp-00007f96b2fc6b48-error-6-in-libnvidia-tls-so-295-207f96e1b380003000/"&gt;Weiterlesen &lt;span class="meta-nav"&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt;</summary><content type="html">&lt;p&gt;Um es einfach mal Kurz zu machen:&lt;/p&gt;&lt;p&gt;Dies ist wohl ein Bug im aktuellen nVidia-Treiber (295.20-r1). &lt;a href="https://bugs.gentoo.org/show_bug.cgi?id=404261"&gt;Report im Gentoo-Bugtracker&lt;/a&gt; ist schon eingereicht. Als Workaround vorerst einfach wieder die vorherige Version (290.10-r2) nutzen. Ich denke ein Fix wird nicht lange auf sich warten lassen.&lt;/p&gt;&lt;div class="codecolorer-container bash geshi syntaxhighlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:99%;"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"&gt;&lt;div&gt;1&lt;br /&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"&gt;&lt;span style="color: #7a0874; font-weight: bold;"&gt;echo&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;&amp;quot;=x11-drivers/nvidia-drivers-295.20-r1&amp;quot;&lt;/span&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;/&lt;/span&gt;etc&lt;span style="color: #000000; font-weight: bold;"&gt;/&lt;/span&gt;portage&lt;span style="color: #000000; font-weight: bold;"&gt;/&lt;/span&gt;package.mask&lt;span style="color: #000000; font-weight: bold;"&gt;/&lt;/span&gt;x11-drivers_nvidia-drivers.conf&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt; 
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/zj0IXdmoVLojvH_qINQV9vI0yR0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/zj0IXdmoVLojvH_qINQV9vI0yR0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/zj0IXdmoVLojvH_qINQV9vI0yR0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/zj0IXdmoVLojvH_qINQV9vI0yR0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ppfeufer/~4/SZAfqORPA8Q" height="1" width="1"/&gt;</content><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blog.ppfeufer.de/gentoo-linux-segfault-at-10-ip-00007f96e1b38c0f-sp-00007f96b2fc6b48-error-6-in-libnvidia-tls-so-295-207f96e1b380003000/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">2</slash:comments><feedburner:origLink>http://blog.ppfeufer.de/gentoo-linux-segfault-at-10-ip-00007f96e1b38c0f-sp-00007f96b2fc6b48-error-6-in-libnvidia-tls-so-295-207f96e1b380003000/</feedburner:origLink></entry><entry><title type="text">Webmaster-Friday: Die Werte im Netz</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ppfeufer/~3/SZ8DqjteM0M/" /><category term="Webmaster-Friday" /><category term="Gedanken" /><category term="Werte" /><author><name>H.-Peter Pfeufer</name></author><updated>2012-02-16T15:02:35-08:00</updated><id>http://blog.ppfeufer.de/?p=4192</id><summary type="html">Ja, eine Woche geht wieder dem Ende entgegen und somit wird er wieder ausgerufen, der Webmaster-Friday. Das Thema diese Woche ist, wie ich finde, sehr interessant &amp;#8211; Werte in Blogosphäre und Social-Networks, also die Werte im weltweiten Netz. Grund genug &amp;#8230; &lt;a href="http://blog.ppfeufer.de/webmaster-friday-die-werte-im-netz/"&gt;Weiterlesen &lt;span class="meta-nav"&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt;</summary><content type="html">&lt;p&gt;Ja, eine Woche geht wieder dem Ende entgegen und somit wird er wieder ausgerufen, der Webmaster-Friday. Das Thema diese Woche ist, wie ich finde, sehr interessant &amp;#8211; &lt;a title="Webmaster-Friday: Werte in Blogosphäre und Social-Networks" href="http://www.webmasterfriday.de/blog/werte-in-blogosphare-und-social-networks"&gt;Werte in Blogosphäre und Social-Networks&lt;/a&gt;, also die Werte im weltweiten Netz. Grund genug für mich da auch mal wieder ein paar Worte zu verlieren und somit meinem Senf dazu zu geben. Denn schon die Einleitung zum Artikel stellt viele Fragen, welche durchaus berechtigt sind.&lt;/p&gt;&lt;p&gt;&lt;span id="more-4192"&gt;&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;Fragen über Fragen&lt;/h2&gt;&lt;p&gt;Ich bin hier nun einfach mal so frei und zitiere ganz frech aus dem Artikel beim Webmaster-Friday.&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Zählen klassische Werte wie Ehrlichkeit, Vertrauen, Bescheidenheit oder Mitgefühl auch im Internet? Haben diejenigen, die den klassischen Werten folgen, mehr Erfolg? Welche Werte kommen durch das Internet neu hinzu? Immer auf dem Laufenden sein? Leute im wirklichen Leben treffen? Klassenkasper sein? Nehmen und Geben oder Geben und Nehmen? Oder nur Geben? Oder nur Nehmen???&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Diese und weitere Fragen werden dort aufgeworfen. Und sind wir mal ganz ehrlich, wer hat sich diese nicht schon selbst einmal gestellt? Wer jetzt sagt &amp;#8220;Ich nicht&amp;#8221; der lügt. Denn schließlich geht es hierbei darum, wie man selbst im Netz auftritt, sich präsentiert &amp;#8211; ja teilweise sogar verkauft (im positiven Sinne) &amp;#8211; und wie man erwarten, dass andere einem begegnen.&lt;/p&gt;&lt;p&gt;Ich schreibe nun einfach mal meine Gedanken dazu nieder, wenn es etwas sprunghaft wird, bitte ich dies zu entschuldigen.&lt;/p&gt;&lt;h2&gt;Was zählt?&lt;/h2&gt;&lt;p&gt;Um dies gleich mal vorweg zu beantworten, Ehrlichkeit ist im Netz oftmals ein schmerzlich vermisstes Gut. Jeder ist etwas Besonderes, kann etwas Besonderes, kann mehr und besser als der andere, ringt somit um Beachtung. Somit ist der Begriff der Ehrlichkeit im Netz teilweise etwas inflationär und falsch genutzt. Ich denke da nur an die ganzen Möchtegern-Geschäftsleute, die einem &lt;strong&gt;die&lt;/strong&gt; ultimative Idee verkaufen wollen um schnell reich zu werden und so weiter. Aber ok, das ist vielleicht ein etwas sehr überzogenes Beispiel. Ich möchte hier jedoch nicht alle in einen Topf werfen, denn es gibt durchaus auch Menschen im Netz, die von ihrer Glaubwürdigkeit abhängig sind. Die im Netz auf solider Arbeit sich eine Kundschaft aufgebaut haben und diese natürlich auch halten müssen um zu überleben.&lt;/p&gt;&lt;p&gt;Aber zählen sie nun, die klassischen Werte, Ehrlichkeit, Vertrauen, Mitgefühl, Bescheidenheit? Meiner Meinung nach, ja. Denn durch solche Eigenschaften wird eine Person doch erst authentisch, oder etwa nicht? Wenn ich im Netz jemandem begegne, jemandem Neues, dann ist dieser Jemand erst mal ein Fremder für mich. Jemand den ich erst kennen lernen muss. Hab ich öfter mit dieser Person zu tun, bildet sich natürlich ein gewisses Vertrauensverhältnis, ok, nicht unbedingt vergleichbar mit dem &amp;#8220;echten&amp;#8221; Leben, aber schon so in der Art. Da wir ja im Netz unterwegs sind und ich dieser Person nicht in die Augen sehen kann, also eher unpersönlich Kommuniziere, ist der Weg natürlich etwas länger. Hier hilft es, wenn die Person mir gegenüber authentisch rüber kommt. Also ich nicht das Gefühl habe, der will mich über Tisch ziehen, sondern eher das Gefühl, dass man mit dem durchaus zusammen arbeiten kann, eventuell das eine oder andere Projekt auf die Beine stellen oder was auch immer.&lt;/p&gt;&lt;h2&gt;Werden diese Werte durch das  Netz verändert?&lt;/h2&gt;&lt;p&gt;Natürlich.&lt;/p&gt;&lt;p&gt;Der Mensch ist von Haus aus visuell veranlagt. Über einen Chat, Twitter, Facebook kann ich zwar auf gewisse Profilinformationen zurückgreifen, ich kann Google befragen, aber in wie weit ist das wirklich die Person die mit mir kommuniziert? Also begegnet man den Leuten doch schon mit einer gesunden Portion Misstrauen, so zumindest ich. Denn was zu gut klingt um wahr zu sein, ist es auch selten.&lt;/p&gt;&lt;p&gt;Auch solche Werte wie Solidarität erleben durch das Netz eine komplett neue und teilweise sehr abstrakte Definition. Im Artikel vom Webmaster-Friday wird es angesprochen.&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Können Bewegungen wie Anonymus davon profitieren, dass sich eventuell unreflektierte neue Werte in der Blogosphäre bzw. im Social Web verändern?&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Na, natürlich, definitiv. Gerade die, in meinem Augen Kiddies, die sich Anonymous nennen. Der Thomas hatte dazu mal nen &lt;a title="Anonymous, oder: die Sonderschule der Hacker" href="http://lokis-chaos.de/aufreger/anonymous-oder-die-sonderschule-der-hacker/"&gt;schönen Rant&lt;/a&gt; verfasst, den ich so wie er dort geschrieben steht, unterzeichnen würde. Das ist schlichtweg falsch verstandene Solidarität. Das geht auf Dauer ganz böse nach hinten los. Was bringt es, nur weil einer bekannten freien Whistleblower-Plattforn der Geldhahn zugedreht wird, die Server der ehemaligen finanziellen Unterstützer per DDoS anzugreifen und lahmzulegen? Richtig, nichts. Das ist keine Solidarität, das ist blanke Dummheit. Denn genau diese Aktionen sind doch das was der &amp;#8220;ach so bösen&amp;#8221; Netzgemeinde immer vorgeworfen wird. So wird genau dieses Vorturteil bestätigt. Alles kriminelle. Also nix mit Ehrlichkeit, Aufrichtigkeit und so weiter. Eine kleine Gruppe von Sinderschul-&amp;#8221;Hackern&amp;#8221; &amp;#8211; dürfen die sich überhaupt so nennen? &amp;#8211; ruiniert quasi den Ruf der Netzgemeinde. Da bleiben doch dann diese &amp;#8220;klassischen&amp;#8221; Werte im Netz schnell mal auf der Strecke. Aber ich merke es schon, ich steigre mich da gerade zu sehr in etwas hinein, eine Richtung die ich nicht einschlagen wollte.&lt;/p&gt;&lt;p&gt;Der größten Beeinflussung im Netz unterliegt die Kommunikation in Schriftform. Kleines Beispiel gefällig?&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;findet ihr es nicht auch grausam wenn immer alles komplett klein gschrieben wird nach möglichkeit dann auch noch völlig ohne korrekte interpunktion und sonstige satzzeichen so dass man irgendwann nicht mehr erkennt wann ein satz zu ende ist und der nächste beginnt oder macht euch das nichts aus und ihr habt quasi eine autokorrektur beim lesen&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Grausam, oder? Der Verzicht auf jede Art der Rechtschreibung, Grammatik und was nicht noch alles. Wo bleiben da die klassischen Werte? Verlernt man, sobald man im Netz kommuniziert wirklich alles was man jahrelang in der Schule gelernt hat? Denn gerade im Netz, wo ein Hauptteil der Kommunikation schriftlich stattfindet, sei es in Foren, Twitter oder Facebook, sollte man doch &amp;#8211; so denke ich jedenfalls &amp;#8211; darauf achten, dass diese Kommunikation so sauber wie möglich abläuft. Also auch ein Mindestmaß an Rechtschreibung beinhaltet. hier und da mal ein Komma, Substantive groß, Satzzeichen am Ende. Oder sehe ich das falsch? Ich gebe gut und gerne zu, dass meine Rechtschreibung auch nicht perfekt ist, aber ich versuche wenigstens darauf zu achten. Fehler passieren, dennoch ist es ein Unterschied, ob man dies vorsätzlich missachtet, oder es wirklich ein Flüchtigkeitsfehler ist. Für mich ist es einfach ein Zeichen des Respekts gegenüber meines Kommunikationspartners, wenn ich ihm keinen Buchstabensalat vor die Füße werfe. Auch so ein &amp;#8220;klassischer&amp;#8221; Wert, oder?&lt;/p&gt;&lt;h2&gt;Abgesang&lt;/h2&gt;&lt;p&gt;Ok, ich muss zugeben, wer es bis hier her geschafft hat, Respekt &lt;img src="http://cdn.blog.ppfeufer.de/wp-content/themes/ppfeufer/images/smilies/icon_smile.gif" alt="Smilie: :-)" title="Smilie: :-)" /&gt;&lt;/p&gt;&lt;p&gt;Wie ich eingangs schon erwähnte, schreibe ich hier einfach mal meine Gedanken dazu auf, ohne große Ordnung, einfach tippen, was mir in dem Moment durch den Kopf geht. Eine Frage jedoch finde ich noch sehr interessant.&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Oder ist das Internet letztlich doch nur ein virtuelles Abbild unserer Gesellschaft?&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Nun, ein ganz klares Jain. Die Grenzen sind dazu, meines Erachtens nach, zu sehr verschwommen. Es ist nicht mehr klar und deutlich auszumachen, was was beeinflusst. Ob das Netz die reale Gesellschaft, oder doch andersrum. Beeinflussung ist definitiv von beiden Seiten in beide Richtungen vorhanden. Immer positiv? Nein &amp;#8230;&lt;/p&gt;&lt;p&gt;Da dies aber meine Gedanken und meine Meinungen sind, steht es euch natürlich frei komplett anderer Meinung zu sein. Lasst es mich wissen &lt;img src="http://cdn.blog.ppfeufer.de/wp-content/themes/ppfeufer/images/smilies/icon_smile.gif" alt="Smilie: :-)" title="Smilie: :-)" /&gt;&lt;/p&gt; 
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/tNVA0_9SoFRpFrCn3Ji8tK4y6h4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/tNVA0_9SoFRpFrCn3Ji8tK4y6h4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/tNVA0_9SoFRpFrCn3Ji8tK4y6h4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/tNVA0_9SoFRpFrCn3Ji8tK4y6h4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ppfeufer/~4/SZ8DqjteM0M" height="1" width="1"/&gt;</content><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blog.ppfeufer.de/webmaster-friday-die-werte-im-netz/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">5</slash:comments><feedburner:origLink>http://blog.ppfeufer.de/webmaster-friday-die-werte-im-netz/</feedburner:origLink></entry><entry><title type="text">Changelog bei Pluginupdates ausgeben</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ppfeufer/~3/dlHiB7et41U/" /><category term="WordPress" /><category term="Changelog" /><category term="HowTo" /><category term="Plugin" /><author><name>H.-Peter Pfeufer</name></author><updated>2012-02-10T04:21:33-08:00</updated><id>http://blog.ppfeufer.de/?p=4176</id><summary type="html">Ich muss sagen, zu diesem Artikel wurde ich via Twitter quasi &amp;#8220;genötigt&amp;#8221; und es schloss sich ihm gleich noch jemand an, aber dem komme ich doch gerne nach. Es geht hierbei um nichts anderes, als zu beschreiben, wie man es &amp;#8230; &lt;a href="http://blog.ppfeufer.de/changelog-bei-pluginupdates-ausgeben/"&gt;Weiterlesen &lt;span class="meta-nav"&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt;</summary><content type="html">&lt;p&gt;Ich muss sagen, zu diesem Artikel wurde ich &lt;a href="https://twitter.com/#!/muehlwitz/statuses/167925870676291584"&gt;via Twitter quasi &amp;#8220;genötigt&amp;#8221;&lt;/a&gt; und es &lt;a href="https://twitter.com/#!/CarstenFeller/statuses/167934921371955200"&gt;schloss sich ihm gleich noch jemand an&lt;/a&gt;, aber dem komme ich doch gerne nach. Es geht hierbei um nichts anderes, als zu beschreiben, wie man es als Pluginentwickler für WordPress hinbekommt, dass bei den Nutzern des Plugins direkt das Changelog mit in der Pluginübersicht angezeigt wird, wenn ein Update des Plugins vorliegt. Demnach richtet sich dieser Artikel weniger an die WordPress-Nutzer, sondern eher an die Entwickler.&lt;/p&gt;&lt;p&gt;&lt;span id="more-4176"&gt;&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;Den Nutzer informieren&lt;/h2&gt;&lt;p&gt;Plugins unterliegen einem mehr oder weniger regelmäßigen und zügigen Updatezyklus und das ist auch gut so, denn nur ein Plugin welches immer weiter entwickelt wird, wird auch von den Nutzern gerne angenommen. Wie diese Entwicklungen aussehen, spielt hier erst mal keine Rolle, sondern es geht schlichtweg darum, aufzuzeigen, wie der Nutzer die Neuerungen im Plugin gleich auf den ersten Blick sieht und nicht erst lange nach einem Changelog suchen muss. Dies ist meiner Meinung nach ein recht wichtiger Bestandteil eines Plugins.&lt;/p&gt;&lt;h2&gt;The Magic&lt;/h2&gt;&lt;p&gt;Eigentlich ist es keine Magie, sondern etwas simples PHP. Eine Funktion innerhalb des Plugins, welche mittels &lt;a title="WordPress Codex: Funktionsreferenz für add_action" href="http://codex.wordpress.org/Function_Reference/add_action"&gt;add_action&lt;/a&gt; an WordPress kommuniziert wird. Zunächst muss man erst einmal wissen, wo im WordPress SVN die readme.txt des Plugins liegt, denn genau diese wird dabei ausgelesen.&lt;/p&gt;&lt;p&gt;Beispiel (an Hand meines &lt;a title="WordPress-Plugin: 2-Click Social Media Buttons" href="http://blog.ppfeufer.de/wordpress-plugin-2-click-social-media-buttons/"&gt;2-Click Socialmedia Buttons&lt;/a&gt; Plugins):&lt;/p&gt;&lt;div class="codecolorer-container php geshi syntaxhighlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:99%;"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"&gt;&lt;div&gt;1&lt;br /&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"&gt;&lt;span style="color: #000088;"&gt;$url_readme&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'http://plugins.trac.wordpress.org/browser/2-click-socialmedia-buttons/trunk/readme.txt?format=txt'&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p&gt;Hier ist schon zu erkennen, wie diese URL grundsätzlich aufgebaut ist. Ersetzen müsst ihr nur noch den teil, welcher den Namen des jeweiligen Plugins beinhaltet. Aber nun, ohne hier lange und große Reden schwingen zu wollen, die PHP-Funktion, welche das Changelog in das WordPress Backend zaubert.&lt;/p&gt;&lt;div class="codecolorer-container php geshi syntaxhighlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:99%;"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"&gt;&lt;div&gt;1&lt;br /&gt;2&lt;br /&gt;3&lt;br /&gt;4&lt;br /&gt;5&lt;br /&gt;6&lt;br /&gt;7&lt;br /&gt;8&lt;br /&gt;9&lt;br /&gt;10&lt;br /&gt;11&lt;br /&gt;12&lt;br /&gt;13&lt;br /&gt;14&lt;br /&gt;15&lt;br /&gt;16&lt;br /&gt;17&lt;br /&gt;18&lt;br /&gt;19&lt;br /&gt;20&lt;br /&gt;21&lt;br /&gt;22&lt;br /&gt;23&lt;br /&gt;24&lt;br /&gt;25&lt;br /&gt;26&lt;br /&gt;27&lt;br /&gt;28&lt;br /&gt;29&lt;br /&gt;30&lt;br /&gt;31&lt;br /&gt;32&lt;br /&gt;33&lt;br /&gt;34&lt;br /&gt;35&lt;br /&gt;36&lt;br /&gt;37&lt;br /&gt;38&lt;br /&gt;39&lt;br /&gt;40&lt;br /&gt;41&lt;br /&gt;42&lt;br /&gt;43&lt;br /&gt;44&lt;br /&gt;45&lt;br /&gt;46&lt;br /&gt;47&lt;br /&gt;48&lt;br /&gt;49&lt;br /&gt;50&lt;br /&gt;51&lt;br /&gt;52&lt;br /&gt;53&lt;br /&gt;54&lt;br /&gt;55&lt;br /&gt;56&lt;br /&gt;57&lt;br /&gt;58&lt;br /&gt;59&lt;br /&gt;60&lt;br /&gt;61&lt;br /&gt;62&lt;br /&gt;63&lt;br /&gt;64&lt;br /&gt;65&lt;br /&gt;66&lt;br /&gt;67&lt;br /&gt;68&lt;br /&gt;69&lt;br /&gt;70&lt;br /&gt;71&lt;br /&gt;72&lt;br /&gt;73&lt;br /&gt;74&lt;br /&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"&gt;&lt;span style="color: #009933; font-style: italic;"&gt;/**&lt;br /&gt; * Changelog bei Pluginupdate ausgeben.&lt;br /&gt; */&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #b1b100;"&gt;if&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #339933;"&gt;!&lt;/span&gt;&lt;a href="http://www.php.net/function_exists"&gt;&lt;span style="color: #990000;"&gt;function_exists&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'plugin_update_notice'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;function&lt;/span&gt; plugin_update_notice&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #000088;"&gt;$var_sUserAgent&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'Mozilla/5.0 (X11; Linux x86_64; rv:5.0) Gecko/20100101 Firefox/5.0'&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #000088;"&gt;$url_readme&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'http://plugins.trac.wordpress.org/browser/2-click-socialmedia-buttons/trunk/readme.txt?format=txt'&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #000088;"&gt;$data&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;''&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &lt;span style="color: #009933; font-style: italic;"&gt;/**&lt;br /&gt; * Check if we have to use file_get_contents or cURL&lt;br /&gt; */&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #b1b100;"&gt;if&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;a href="http://www.php.net/ini_get"&gt;&lt;span style="color: #990000;"&gt;ini_get&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'allow_url_fopen'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #000088;"&gt;$data&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;a href="http://www.php.net/file_get_contents"&gt;&lt;span style="color: #990000;"&gt;file_get_contents&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #000088;"&gt;$url_readme&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt; &lt;span style="color: #b1b100;"&gt;else&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #b1b100;"&gt;if&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;a href="http://www.php.net/function_exists"&gt;&lt;span style="color: #990000;"&gt;function_exists&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'curl_init'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #000088;"&gt;$cUrl_Channel&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;a href="http://www.php.net/curl_init"&gt;&lt;span style="color: #990000;"&gt;curl_init&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;a href="http://www.php.net/curl_setopt"&gt;&lt;span style="color: #990000;"&gt;curl_setopt&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #000088;"&gt;$cUrl_Channel&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; CURLOPT_URL&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &lt;span style="color: #000088;"&gt;$url_readme&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;a href="http://www.php.net/curl_setopt"&gt;&lt;span style="color: #990000;"&gt;curl_setopt&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #000088;"&gt;$cUrl_Channel&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; CURLOPT_RETURNTRANSFER&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &lt;span style="color: #cc66cc;"&gt;1&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;a href="http://www.php.net/curl_setopt"&gt;&lt;span style="color: #990000;"&gt;curl_setopt&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #000088;"&gt;$cUrl_Channel&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; CURLOPT_USERAGENT&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &lt;span style="color: #000088;"&gt;$var_sUserAgent&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &lt;span style="color: #000088;"&gt;$data&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;a href="http://www.php.net/curl_exec"&gt;&lt;span style="color: #990000;"&gt;curl_exec&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #000088;"&gt;$cUrl_Channel&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &lt;a href="http://www.php.net/curl_close"&gt;&lt;span style="color: #990000;"&gt;curl_close&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #000088;"&gt;$cUrl_Channel&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt; &lt;span style="color: #666666; font-style: italic;"&gt;// END if(function_exists('curl_init'))&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt; &lt;span style="color: #666666; font-style: italic;"&gt;// END if(ini_get('allow_url_fopen'))&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &lt;span style="color: #b1b100;"&gt;if&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #000088;"&gt;$data&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #000088;"&gt;$matches&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #009900; font-weight: bold;"&gt;null&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #000088;"&gt;$regexp&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'~==\s*Changelog\s*==\s*=\s*[0-9.]+\s*=(.*)(=\s*'&lt;/span&gt; &lt;span style="color: #339933;"&gt;.&lt;/span&gt; &lt;a href="http://www.php.net/preg_quote"&gt;&lt;span style="color: #990000;"&gt;preg_quote&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;CURRENT_PLUGIN_VERSION&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #339933;"&gt;.&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'\s*=|$)~Uis'&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &lt;span style="color: #b1b100;"&gt;if&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;a href="http://www.php.net/preg_match"&gt;&lt;span style="color: #990000;"&gt;preg_match&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #000088;"&gt;$regexp&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &lt;span style="color: #000088;"&gt;$data&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &lt;span style="color: #000088;"&gt;$matches&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #000088;"&gt;$changelog&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;a href="http://www.php.net/array"&gt;&lt;span style="color: #990000;"&gt;array&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;a href="http://www.php.net/preg_split"&gt;&lt;span style="color: #990000;"&gt;preg_split&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'~[\r\n]+~'&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &lt;a href="http://www.php.net/trim"&gt;&lt;span style="color: #990000;"&gt;trim&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #000088;"&gt;$matches&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #cc66cc;"&gt;1&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#93;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &lt;span style="color: #b1b100;"&gt;echo&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;update-message&amp;quot; style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;What\'s new:&amp;lt;/strong&amp;gt;'&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #000088;"&gt;$ul&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #009900; font-weight: bold;"&gt;false&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #000088;"&gt;$version&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #cc66cc;"&gt;99&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &lt;span style="color: #b1b100;"&gt;foreach&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #000088;"&gt;$changelog&lt;/span&gt; &lt;span style="color: #b1b100;"&gt;as&lt;/span&gt; &lt;span style="color: #000088;"&gt;$index&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color: #000088;"&gt;$line&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #b1b100;"&gt;if&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;a href="http://www.php.net/version_compare"&gt;&lt;span style="color: #990000;"&gt;version_compare&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #000088;"&gt;$version&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; CURRENT_PLUGIN_VERSION&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;&amp;quot;&amp;gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #b1b100;"&gt;if&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;a href="http://www.php.net/preg_match"&gt;&lt;span style="color: #990000;"&gt;preg_match&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'~^\s*\*\s*~'&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &lt;span style="color: #000088;"&gt;$line&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #b1b100;"&gt;if&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #339933;"&gt;!&lt;/span&gt;&lt;span style="color: #000088;"&gt;$ul&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #b1b100;"&gt;echo&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'&amp;lt;ul style=&amp;quot;list-style: disc; margin-left: 20px;&amp;quot;&amp;gt;'&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #000088;"&gt;$ul&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #009900; font-weight: bold;"&gt;true&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt; &lt;span style="color: #666666; font-style: italic;"&gt;// END if(!$ul)&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &lt;span style="color: #000088;"&gt;$line&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;a href="http://www.php.net/preg_replace"&gt;&lt;span style="color: #990000;"&gt;preg_replace&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'~^\s*\*\s*~'&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;''&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &lt;span style="color: #000088;"&gt;$line&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #b1b100;"&gt;echo&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'&amp;lt;li&amp;gt;'&lt;/span&gt; &lt;span style="color: #339933;"&gt;.&lt;/span&gt; &lt;span style="color: #000088;"&gt;$line&lt;/span&gt; &lt;span style="color: #339933;"&gt;.&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'&amp;lt;/li&amp;gt;'&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt; &lt;span style="color: #b1b100;"&gt;else&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #b1b100;"&gt;if&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #000088;"&gt;$ul&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #b1b100;"&gt;echo&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'&amp;lt;/ul&amp;gt;'&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #000088;"&gt;$ul&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #009900; font-weight: bold;"&gt;false&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt; &lt;span style="color: #666666; font-style: italic;"&gt;// END if($ul)&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &lt;span style="color: #000088;"&gt;$version&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;a href="http://www.php.net/trim"&gt;&lt;span style="color: #990000;"&gt;trim&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #000088;"&gt;$line&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;&amp;quot; =&amp;quot;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #b1b100;"&gt;echo&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'&amp;lt;p style=&amp;quot;margin: 5px 0;&amp;quot;&amp;gt;'&lt;/span&gt; &lt;span style="color: #339933;"&gt;.&lt;/span&gt; &lt;a href="http://www.php.net/htmlspecialchars"&gt;&lt;span style="color: #990000;"&gt;htmlspecialchars&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #000088;"&gt;$line&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #339933;"&gt;.&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'&amp;lt;/p&amp;gt;'&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt; &lt;span style="color: #666666; font-style: italic;"&gt;// END if(preg_match('~^\s*\*\s*~', $line))&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt; &lt;span style="color: #666666; font-style: italic;"&gt;// END if(version_compare($version, TWOCLICK_SOCIALMEDIA_BUTTONS_VERSION,&amp;quot;&amp;gt;&amp;quot;))&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt; &lt;span style="color: #666666; font-style: italic;"&gt;// END foreach($changelog as $index =&amp;gt; $line)&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &lt;span style="color: #b1b100;"&gt;if&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #000088;"&gt;$ul&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #b1b100;"&gt;echo&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'&amp;lt;/ul&amp;gt;&amp;lt;div style=&amp;quot;clear: left;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;'&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt; &lt;span style="color: #666666; font-style: italic;"&gt;// END if($ul)&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &lt;span style="color: #b1b100;"&gt;echo&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'&amp;lt;/div&amp;gt;'&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt; &lt;span style="color: #666666; font-style: italic;"&gt;// END if(preg_match($regexp, $data, $matches))&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt; &lt;span style="color: #b1b100;"&gt;else&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #009933; font-style: italic;"&gt;/**&lt;br /&gt; * Returning if we can't use file_get_contents or cURL&lt;br /&gt; */&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #b1b100;"&gt;return&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt; &lt;span style="color: #666666; font-style: italic;"&gt;// END if($data)&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt; &lt;span style="color: #666666; font-style: italic;"&gt;// END function plugin_update_notice()&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt; &lt;span style="color: #666666; font-style: italic;"&gt;// END if(!function_exists('plugin_update_notice'))&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p&gt;Eingebunden wird das nun alles &amp;#8211; ich erwähnte es weiter oben schon &amp;#8211; via add_action.&lt;/p&gt;&lt;div class="codecolorer-container php geshi syntaxhighlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:99%;"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"&gt;&lt;div&gt;1&lt;br /&gt;2&lt;br /&gt;3&lt;br /&gt;4&lt;br /&gt;5&lt;br /&gt;6&lt;br /&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"&gt;&lt;span style="color: #b1b100;"&gt;if&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;is_admin&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #666666; font-style: italic;"&gt;// Updatemeldung&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #b1b100;"&gt;if&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;a href="http://www.php.net/ini_get"&gt;&lt;span style="color: #990000;"&gt;ini_get&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'allow_url_fopen'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #339933;"&gt;||&lt;/span&gt; &lt;a href="http://www.php.net/function_exists"&gt;&lt;span style="color: #990000;"&gt;function_exists&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'curl_init'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt; add_action&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'in_plugin_update_message-'&lt;/span&gt; &lt;span style="color: #339933;"&gt;.&lt;/span&gt; plugin_basename&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #009900; font-weight: bold;"&gt;__FILE__&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'plugin_update_notice'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;h2&gt;Randnotiz&lt;/h2&gt;&lt;p&gt;Da diese Funktion auf Techniken wie &lt;em&gt;file_get_content&lt;/em&gt; oder &lt;em&gt;cURL&lt;/em&gt; setzt, um eine externe Datei zu lesen, kann es durchaus sein, dass dies nicht auf allen Systemen funktioniert. Aber diese Fälle werden innerhalb der Funktion abgefangen.&lt;/p&gt;&lt;p&gt;Ich hoffe die Herren Mühlwitz und Feller können nun etwas ruhiger schlafen &lt;img src="http://cdn.blog.ppfeufer.de/wp-content/themes/ppfeufer/images/smilies/icon_smile.gif" alt="Smilie: :-)" title="Smilie: :-)" /&gt;&lt;/p&gt; 
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/f_V8DWHx0dMwnPvVe67B4VuYgT8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/f_V8DWHx0dMwnPvVe67B4VuYgT8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/f_V8DWHx0dMwnPvVe67B4VuYgT8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/f_V8DWHx0dMwnPvVe67B4VuYgT8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ppfeufer/~4/dlHiB7et41U" height="1" width="1"/&gt;</content><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blog.ppfeufer.de/changelog-bei-pluginupdates-ausgeben/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">4</slash:comments><feedburner:origLink>http://blog.ppfeufer.de/changelog-bei-pluginupdates-ausgeben/</feedburner:origLink></entry><entry><title type="text">Warum brauche ich ein Testsystem - Auch für Blogger nicht unwichtig ...</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ppfeufer/~3/AyP-LAwm-qA/" /><category term="Allgemein" /><category term="WordPress" /><category term="Testsystem" /><author><name>H.-Peter Pfeufer</name></author><updated>2012-02-09T08:33:46-08:00</updated><id>http://blog.ppfeufer.de/?p=4164</id><summary type="html">Auch für Blogger nicht unwichtig ...Das Thema mit dem Testsystem ist immer so eine Sache. Oft wird es mit der Behauptung abgetan, dass dies nur Entwickler brauchen um ihren Code zu testen. Dies ist in meinen Augen nicht ganz richtig. &amp;#8230; &lt;a href="http://blog.ppfeufer.de/warum-brauche-ich-ein-testsystem/"&gt;Weiterlesen &lt;span class="meta-nav"&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt;</summary><content type="html">&lt;h3 class="subheader"&gt;Auch für Blogger nicht unwichtig ...&lt;/h3&gt;&lt;p&gt;Das Thema mit dem Testsystem ist immer so eine Sache. Oft wird es mit der Behauptung abgetan, dass dies nur Entwickler brauchen um ihren Code zu testen. Dies ist in meinen Augen nicht ganz richtig. Auch für Blogger ist ein solches Testsystem nicht ganz unwichtig und sogar von Vorteil.&lt;/p&gt;&lt;p&gt;&lt;span id="more-4164"&gt;&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;Aber ich bin doch nur Blogger&lt;/h2&gt;&lt;p&gt;Ja, richtig. Dennoch nutzt Du Themes und Plugins von diversen Entwicklern. Diese halten sich zwar größtenteils an die Standards, die WordPress vorgibt, dennoch kann es bei einigen Themes und Plugins sein, dass diese Funktionen verwenden, die auf Deinem System nicht unbedingt rund laufen. Dies kann schnell zu Fehlern in der Anzeige oder gar unschönen Fehlermeldungen in Deinem Blog führen. Wäre es da nicht schön, Du hättest es vorher getestet?&lt;/p&gt;&lt;h2&gt;Warum gibt es Unterschiede zwischen meinem System und anderen&lt;/h2&gt;&lt;p&gt;Die wirklich einzige Gemeinsamkeit die Du und andere Blogger haben, ist, ihr nutzt vermutlich WordPress. Das war es auch schon. Die Unterschiede liegen bei euren verwendeten Servern, bzw. deren Konfiguration. Einige haben eigene Server für ihren Blog, andere nutzen ein Webhostingpaket. Und so vielseitig diese sind, genau so vielseitig sind auch die Konfigurationen dieser Systeme.&lt;/p&gt;&lt;p&gt;Mit Konfiguration ist einerseits nicht nur die Hardware gemeint, diese ist hier weniger entscheidend, sondern eher die Konfiguration eures Apache, also des Webserver und des PHP-Interpreters selbst. Hier gibt es unzählige Hürden, die ein Funktionieren eines Themes oder Plugins verhindern können. Und nicht immer ist eine Fehlermeldung zu finden. Beim Apache sind es die Module, welche den Funktionsumfang bestimmen, bei PHP ebenfalls. Beide haben natürlich gewisse Module, welche mittlerweile als Standard immer mit dabei sind, dennoch fehlt oftmals eine Kleinigkeit.&lt;/p&gt;&lt;p&gt;Auch die Einstellungen sind hier entscheidend. Safe-Mode, OpenBasedir-Restriction, cURL jSON und so weiter. Böhmische Dörfer? Ihr seht also, Unterschiede gibt es viele.&lt;/p&gt;&lt;h2&gt;Was hat das mit einem Blogger zu tun&lt;/h2&gt;&lt;p&gt;Einige Plugins, gerade wenn Informationen von externen Diensten abgeholt und angezeigt werden soll, benötigen solche Sachen wie cURL oder jSON. Auch ist in einigen Themes habe ich so etwas schon gesehen. Sind dann diese Funktionen nicht vorhanden, kommt es teilweise zu unschönen Fehlermeldungen und die müssen im Blog ja nun wirklich nicht sein.&lt;/p&gt;&lt;h2&gt;Wo baue ich so ein Testsystem auf?&lt;/h2&gt;&lt;p&gt;Das kommt darauf an, wie versiert ihr seid.&lt;/p&gt;&lt;p&gt;Wenn ihr genau wisst, wie man einen Webserver aufsetzt, könnt ihr das auf eurem Rechner daheim machen. Dort einen lokalen Apache installieren. PHP dazu und nach Möglichkeit die Konfiguration von eurem Liveserver (der wo euer Blog drauf liegt)  übernehmen. Somit habt ihr quasi eine Kopie eures Livesystems daheim, das im auch so reagiert. ein wenig ausführlicher ist dies in einem älteren Artikel von mir beschrieben, in dem ich mich schon mal dem Thema &lt;a title="WordPress-Testsystem, aber wie? Und wieso eigentlich?" href="http://blog.ppfeufer.de/wordpress-testsystem-aber-wie-und-wieso-eigentlich/"&gt;WordPress-Testsystem&lt;/a&gt; gewidmet habe.&lt;/p&gt;&lt;p&gt;Seid ihr da weniger talentiert, oder traut euch dies nicht zu, dann erstellt einfach eine Subdomain zum testen. Stellt sicher, dass nur ihr auf diese Zugriff habt.Bei den meisten Hostern kann man dies im Konfigurationstool (Froxlor, Confixx, Plesk oder was immer ihr da auch habt) einstellen. Der Vorteil hier ist, ihr müsst das System nicht nachbauen. Der Nachteil, sollte durch irgendeinen unbedachten Code der Server nicht mehr reagieren, betrifft dies dann auch euer Livesystem, da beide System auf dem selben Server sind.&lt;/p&gt;&lt;p&gt;Nun installiert ihr WordPress mit eurem Theme und Plugins und könnt munter drauf los testen. Geht etwas schief, ist nur das Testsystem betroffen und nicht euer Blog, was die Öffentlichkeit sieht. Auch Updates von WordPress, Plugins oder dem Theme immer erst in einer Testumgebung auf Herz und Nieren prüfen.&lt;/p&gt;&lt;h2&gt;Empfehlung&lt;/h2&gt;&lt;p&gt;Immer ein Testsystem aufbauen bzw eine Kombination aus lokalem und serverbasierten Testsystem nutzen. Änderungen immer erst in dieses Testumgebungen prüfen und wenn alles so läuft wie gewünscht in das Livesystem übertragen.&lt;/p&gt;&lt;p&gt;Natürlich gilt dies nicht nur für Änderungen an Plugins oder Themes, sondern auch für eure Artikel. Schreibt diese im Testsystem und ihr könnt in aller Ruhe schauen, ob alles zu eurer Zufriedenheit ausfällt. Auch ein nicht zu unterschätzender Vorteil &lt;img src="http://cdn.blog.ppfeufer.de/wp-content/themes/ppfeufer/images/smilies/icon_smile.gif" alt="Smilie: :-)" title="Smilie: :-)" /&gt;&lt;/p&gt;&lt;p&gt;In diesem Sinne &amp;#8230;&lt;/p&gt; 
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/7k-Bf-YT6B5xYgJtxg3Ta-G6ZcM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7k-Bf-YT6B5xYgJtxg3Ta-G6ZcM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/7k-Bf-YT6B5xYgJtxg3Ta-G6ZcM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7k-Bf-YT6B5xYgJtxg3Ta-G6ZcM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ppfeufer/~4/AyP-LAwm-qA" height="1" width="1"/&gt;</content><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blog.ppfeufer.de/warum-brauche-ich-ein-testsystem/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">9</slash:comments><feedburner:origLink>http://blog.ppfeufer.de/warum-brauche-ich-ein-testsystem/</feedburner:origLink></entry><entry><title type="text">WordPress-Plugin: Social Impact Widget</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ppfeufer/~3/hty4P9u4emk/" /><category term="WordPress-Plugins" /><category term="Plugin" /><category term="Sidebar" /><category term="Social Impact Widget" /><category term="Social Media" /><category term="Social Network" /><category term="Widget" /><category term="WordPress" /><author><name>H.-Peter Pfeufer</name></author><updated>2012-02-08T08:41:08-08:00</updated><id>http://blog.ppfeufer.de/?p=4152</id><summary type="html">Der Kontakt zu den Lesern eines Blogs ist wichtig. Auch die Veröffentlichung eines Artikels nicht nur im Blog, sondern auch per RSS und Netzwerken wie Twitter, Google+ und Facebook ist mittlerweile Gang und Gebe. Da ist es doch ab und &amp;#8230; &lt;a href="http://blog.ppfeufer.de/wordpress-plugin-social-impact-widget/"&gt;Weiterlesen &lt;span class="meta-nav"&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt;</summary><content type="html">&lt;p&gt;Der Kontakt zu den Lesern eines Blogs ist wichtig. Auch die Veröffentlichung eines Artikels nicht nur im Blog, sondern auch per RSS und Netzwerken wie Twitter, Google+ und Facebook ist mittlerweile Gang und Gebe. Da ist es doch ab und an auch interessant, wie viele dort eventuell auf diesen Artikel aufmerksam werden. Nicht nur für den Autor, auch für den Besucher eines Blogs kann diese Information nützlich sein.&lt;/p&gt;&lt;p&gt;&lt;span id="more-4152"&gt;&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;Was macht das Widget&lt;/h2&gt;&lt;p&gt;Das Social Impact Widget stellt genau diese Informationen in der WordPress-Sidebar schön aufgearbeitet dar und verlinkt auch gleich an die richtige Stelle. Mit andern Worten, die Anzahl der Follower bei Twitter, Kreise bei Google+, Fans der Facebook Fanpage und RSS-Leser wird in der Sidebar optisch ansprechend präsentiert. Für das Aussehen des Widgets hat &lt;a title="Webseite von Kai Köpke" href="http://kkoepke.de"&gt;Kai Köpke&lt;/a&gt; einmal mehr seine Kenntnisse in Sachen CSS unter Beweis gestellt.&lt;/p&gt;&lt;h2&gt;Einrichtung&lt;/h2&gt;&lt;p&gt;Die Einrichtung ist denkbar einfach, installieren wie man es von WordPress-Plugins gewohnt ist, aktivieren und unter Design -&amp;gt; Widgets findet man dann das Social Impact Widget. Die Felder sind eigentlich selbsterklärend, aber ich werde trotzdem noch ein bis zwei Sätze dazu verlieren.&lt;/p&gt;&lt;h3&gt;Twitter-ID&lt;/h3&gt;&lt;p&gt;Mit der Twitter-ID ist eigentlich nur der eigene Twittername gemeint. Komplett ohne @ davor. Einfach euern Twitternamen da rein und fertig.&lt;/p&gt;&lt;h3&gt;Googleplus-ID&lt;/h3&gt;&lt;p&gt;Hier wird es schon etwas komplizierter. Die Googleplus-ID ist eine 21-stellige Zahl, welche ihr im Link zu eurem Googleplus-Konto findet. Beispiel: https://plus.google.com/&lt;strong&gt;117945900915479853539&lt;/strong&gt;/posts&lt;/p&gt;&lt;p&gt;Es können hier übrigens sowohl Nutzer als auch Seiten-IDs verwendet werden &lt;img src="http://cdn.blog.ppfeufer.de/wp-content/themes/ppfeufer/images/smilies/icon_smile.gif" alt="Smilie: :-)" title="Smilie: :-)" /&gt;&lt;/p&gt;&lt;h3&gt;Facebook Fanpage-ID&lt;/h3&gt;&lt;p&gt;Auch hier ist es etwas umständlicher, denn Facebook schreibt diese nicht einfach so offen hin. Geht dazu bei Facebook auf eure Fanpage und wählt dort den Link &amp;#8220;Info bearbeiten&amp;#8221;. In diesem Link steht ebenfalls eine ID, 15 Zeichen lang. Die wird hier gebraucht.&lt;/p&gt;&lt;h3&gt;Feedburner-ID&lt;/h3&gt;&lt;p&gt;Das ist euer Feed, bei Feedburner. Eure ID steht ebenfalls in eurer Feed-URL. Beispiel: http://feeds.feedburner.com/&lt;strong&gt;ppfeufer&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Wichtig ist hier jedoch, ihr solltet in euren Feedburner-Einstellungen die Awarness-API aktiviert haben.&lt;/p&gt;&lt;h2&gt;Hinweis zu Google+&lt;/h2&gt;&lt;p&gt;Das Widget kann natürlich die Anzahl der Kreise von Google+ nur auslesen, wenn diese auch öffentlich zu sehen ist. Dazu geht bei Google+ in eure Einstellungen unter Profil und Datenschutz und wählt nun unter Teilen -&amp;gt; Sichtbarkeit des Netzwerkes bearbeiten. Hier könnt ihr festlegen, ob die Anzahl der Kreise in denen ihr euch befindet, öffentlich sichtbar sein soll, oder nicht. Dazu setzt einfach einen haken unter &amp;#8220;Ich in Kreisen von anderen&amp;#8221;.&lt;/p&gt;&lt;h2&gt;Update der Werte im Widget&lt;/h2&gt;&lt;p&gt;Das Widget wird alle Werte für eine Stunde cachen und dann neu einlesen. Bedenkt dies bitte, wenn ihr Änderungen an den Einstellungen &amp;#8211; also den IDs &amp;#8211; vornehmt. So kann es also bis zu einer Stunde dauern, bis die neuen Daten im Widget angezeigt werden. Dies dient nicht um euch zu ärgern, sondern um die APIs der einzelnen Anbieter zu schonen.&lt;/p&gt;&lt;p&gt;In diesem Sinne, wünsche ich viel Spaß mit den Widget &lt;img src="http://cdn.blog.ppfeufer.de/wp-content/themes/ppfeufer/images/smilies/icon_smile.gif" alt="Smilie: :-)" title="Smilie: :-)" /&gt;&lt;/p&gt;&lt;div id="downloadbutton" class="dlbuttoncenter"&gt;&lt;a href="http://blog.ppfeufer.de/download/social-impact-widget" &gt;&lt;span&gt;Download&lt;/span&gt;&lt;em&gt;Social Impact Widget (Version 0.6.1)&lt;/em&gt;&lt;/a&gt;&lt;/div&gt; 
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ak07Ebj-mOLdREP6KvYu2vnYLw0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ak07Ebj-mOLdREP6KvYu2vnYLw0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ak07Ebj-mOLdREP6KvYu2vnYLw0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ak07Ebj-mOLdREP6KvYu2vnYLw0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ppfeufer/~4/hty4P9u4emk" height="1" width="1"/&gt;</content><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blog.ppfeufer.de/wordpress-plugin-social-impact-widget/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">133</slash:comments><feedburner:origLink>http://blog.ppfeufer.de/wordpress-plugin-social-impact-widget/</feedburner:origLink></entry><entry><title type="text">WordPress 3.4: Direkte Einbindung von Tweets in den Artikel</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ppfeufer/~3/uLVqnG2kfL4/" /><category term="WordPress" /><category term="Feature" /><category term="oEmbed" /><category term="Twitter" /><category term="WordPress 3.4" /><author><name>H.-Peter Pfeufer</name></author><updated>2012-02-02T19:50:24-08:00</updated><id>http://blog.ppfeufer.de/?p=4137</id><summary type="html">An WordPress wird ja bekanntlich immer gearbeitet und so soll es ja nun bald Version 3.4 des beliebten (Blog-)CMS geben. Natürlich ist auch hier die Liste der Neuerungen nicht unbedingt klein auch sind definitiv wieder diverse Bugfixes dabei um kleinere &amp;#8230; &lt;a href="http://blog.ppfeufer.de/wordpress-3-4-direkte-einbindung-von-tweets-in-den-artikel/"&gt;Weiterlesen &lt;span class="meta-nav"&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt;</summary><content type="html">&lt;p&gt;An WordPress wird ja bekanntlich immer gearbeitet und so soll es ja nun bald Version 3.4 des beliebten (Blog-)CMS geben. Natürlich ist auch hier die Liste der Neuerungen nicht unbedingt klein auch sind definitiv wieder diverse Bugfixes dabei um kleinere Fehler auszubügeln. Einen groben &lt;a title="Fahrplan für WordPress 3.4" href="http://www.perun.net/2012/01/26/der-fahrplan-fuer-wordpress-3-4/"&gt;Zeitplan zu WordPress 3.4&lt;/a&gt;, wann was passieren soll,  findet ihr bei Perun. Aber diese sollen hier nicht Anlass sein, sondern ein &amp;#8211; wie ich finde &amp;#8211; interessantes Feature, über das ich durch Zufall gestolpert bin.&lt;/p&gt;&lt;p&gt;&lt;span id="more-4137"&gt;&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;oEmbed erweitert&lt;/h2&gt;&lt;p&gt;Die Einbindung von Tweets in den Artikel ist immer schon ein Thema gewesen, wo keiner so richtig wusste, wie man es nun am besten bewerkstelligt. Screenshot vom Tweet selbst und dann das Bild in den Artikel einbauen, oder doch ein &lt;a title="WordPress-Plugin: Twitter Blockquotes" href="http://theme.fm/2011/08/embedding-tweets-in-wordpress-with-twitter-blockquotes-1548/"&gt;Plugin&lt;/a&gt;, dass den Tweet in den Artikel einbindet?&lt;/p&gt;&lt;p&gt;Nun, dies hat mit WordPress 3.4 nun ein Ende, denn dann funktioniert das alles ganz einfach. Alles was man braucht, ist der Link zu einem Tweet. Das sind diese Dinger hier:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;https://twitter.com/#!/ppfeufer/statuses/165270773873913856&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Den kopiert man einfach in den Artikel in eine eigene Zeile und den Rest besorgt WordPress dann. Sieht dann so aus:&lt;/p&gt;&lt;div id="attachment_4138" class="wp-caption aligncenter" style="width: 559px"&gt;&lt;a href="http://blog.ppfeufer.de/wordpress-3-4-direkte-einbindung-von-tweets-in-den-artikel/twitter-oembed-in-wordpress-3-4/" rel="attachment wp-att-4138"&gt;&lt;img class="size-full wp-image-4138" title="Twitter oEmbed in WordPress 3.4" src="http://cdn.blog.ppfeufer.de/wp-content/uploads/2012/02/twitter-oembed-in-wordpress-3-4.jpg" alt="Twitter oEmbed in WordPress 3.4" width="549" height="200" /&gt;&lt;/a&gt;&lt;p class="wp-caption-text"&gt;Twitter oEmbed in WordPress 3.4&lt;/p&gt;&lt;/div&gt;&lt;p&gt;Dafür wurde die oEmbed-Klasse (&lt;em&gt;/wp-includes/class-oembed.php&lt;/em&gt;) von WordPress etwas aufgebohrt und um&lt;/p&gt;&lt;div class="codecolorer-container php geshi syntaxhighlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:99%;"&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"&gt;&lt;div&gt;1&lt;br /&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"&gt;&lt;span style="color: #0000ff;"&gt;'#https?://(www\.)?twitter.com/.+?/status(es)?/.*#i'&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&amp;gt;&lt;/span&gt; &lt;a href="http://www.php.net/array"&gt;&lt;span style="color: #990000;"&gt;array&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'http://api.twitter.com/1/statuses/oembed.{format}'&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &lt;span style="color: #009900; font-weight: bold;"&gt;true&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p&gt;erweitert.&lt;/p&gt;&lt;p&gt;Und bei meiner kleine Exkursion in diese Klasse fand ich noch ganz andere Sachen, die von WordPress direkt gehandhabt werden. Videos von Youtube und Vimeo zum Beispiel und auch Inhalte von Flickr, Photobucket, Polldaddy und so weiter. Aber wie gesagt, neu bei WordPress 3.4 wird dann Twitter sein &lt;img src="http://cdn.blog.ppfeufer.de/wp-content/themes/ppfeufer/images/smilies/icon_smile.gif" alt="Smilie: :-)" title="Smilie: :-)" /&gt;&lt;/p&gt;&lt;h2&gt;Nachteil:&lt;/h2&gt;&lt;p&gt;Natürlich hat diese Methode auch einen kleinen Haken, der gerade die deutschen Blogger betrifft. Wie auf dem Bild zu sehen, ist da auch direkt ein &amp;#8220;Folgen&amp;#8221;-Button mit drin. Also wird wieder direkt das Script von Twitter eingebunden, was ja nicht so wirklich dem deutschen Datenschutz entspricht. Nutzung also auf eigene Verantwortung.&lt;/p&gt; 
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/jfo2vLDQzOHYbX-cnLJGxLOembI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/jfo2vLDQzOHYbX-cnLJGxLOembI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/jfo2vLDQzOHYbX-cnLJGxLOembI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/jfo2vLDQzOHYbX-cnLJGxLOembI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ppfeufer/~4/uLVqnG2kfL4" height="1" width="1"/&gt;</content><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blog.ppfeufer.de/wordpress-3-4-direkte-einbindung-von-tweets-in-den-artikel/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">7</slash:comments><feedburner:origLink>http://blog.ppfeufer.de/wordpress-3-4-direkte-einbindung-von-tweets-in-den-artikel/</feedburner:origLink></entry><entry><title type="text">(Gentoo) Linux: KDE Menü Icon ändern</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ppfeufer/~3/kZ08iXfztGc/" /><category term="Gentoo Linux" /><category term="Linux" /><category term="Gentoo" /><category term="HowTo" /><category term="Icon" /><category term="KDE" /><category term="KMenu" /><author><name>H.-Peter Pfeufer</name></author><updated>2012-02-01T04:18:50-08:00</updated><id>http://blog.ppfeufer.de/?p=4086</id><summary type="html">Ich nutze KDE, ja ich oute mich hier und jetzt Nein, dies soll kein Anlass einer weiteren Diskussion KDE vs. GNome werden, sondern ein schneller Hinweis an alle, denen wie mir, das blaue K, welches per default als Menüicon verwendet &amp;#8230; &lt;a href="http://blog.ppfeufer.de/gentoo-linux-kde-menue-icon-aendern/"&gt;Weiterlesen &lt;span class="meta-nav"&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt;</summary><content type="html">&lt;p&gt;Ich nutze KDE, ja ich oute mich hier und jetzt &lt;img src="http://cdn.blog.ppfeufer.de/wp-content/themes/ppfeufer/images/smilies/icon_smile.gif" alt="Smilie: :-)" title="Smilie: :-)" /&gt;&lt;br /&gt; Nein, dies soll kein Anlass einer weiteren Diskussion KDE vs. GNome werden, sondern ein schneller Hinweis an alle, denen wie mir, das blaue K, welches per default als Menüicon verwendet wird nicht gefällt und dieses ändern wollen, so zum Beispiel in das schöne Gentoo-Logo &lt;img src="http://cdn.blog.ppfeufer.de/wp-content/themes/ppfeufer/images/smilies/icon_smile.gif" alt="Smilie: :-)" title="Smilie: :-)" /&gt; oder auch in ein Logo eurer Wahl.&lt;/p&gt;&lt;p&gt;&lt;span id="more-4086"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Um dies zu bewerkstelligen kann man nun hergehen und innerhalb des verwendeten Desktopthemes auf &amp;#8211; wie ich finde &amp;#8211; recht umständliche Weise mit ner Menge copy-Befehlen die Logos austauschen, oder man macht es wie ich und sucht nach einer einfacheren Methode. Nicht das ich etwas gegen einen gepflegten Aufenthalt in der Konsole habe, aber wieso umständlich, wenn es auch simpler geht.&lt;/p&gt;&lt;p&gt;So bin ich auf ein kleines aber doch recht effektives &lt;a href="http://www.kardasa.pl/blog/5/15/Gentoo-Logo-in-KDE-menu.html"&gt;Bash-Script von Andrzej Kardaś&lt;/a&gt; gestoßen, welches genau das macht, was ich will. Also, runterladen und los gehts &lt;img src="http://cdn.blog.ppfeufer.de/wp-content/themes/ppfeufer/images/smilies/icon_smile.gif" alt="Smilie: :-)" title="Smilie: :-)" /&gt;&lt;/p&gt;&lt;p&gt;Wie dieses Script genau funktioniert, ist natürlich in seinem Artikel auch ausführlich erklärt und wer etwas genauer hinschaut, findet auch schnell raus, wie man dort andere Logos als das &lt;a href="http://gentoo-art.org/CONTENT/content-files/117383-gentoo-start-icon.svg"&gt;Gentoo-Logo&lt;/a&gt; für das KMenü verwenden kann.&lt;/p&gt; 
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/D-qhAFzL_AeRqjoJkgETjsep1cA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/D-qhAFzL_AeRqjoJkgETjsep1cA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/D-qhAFzL_AeRqjoJkgETjsep1cA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/D-qhAFzL_AeRqjoJkgETjsep1cA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ppfeufer/~4/kZ08iXfztGc" height="1" width="1"/&gt;</content><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blog.ppfeufer.de/gentoo-linux-kde-menue-icon-aendern/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><feedburner:origLink>http://blog.ppfeufer.de/gentoo-linux-kde-menue-icon-aendern/</feedburner:origLink></entry></feed>

