<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>toscho.design</title>
	<atom:link href="http://toscho.de/feed/" rel="self" type="application/rss+xml" />
	<link>http://toscho.de</link>
	<description>Redaktion und schwer geprüftes Webdesign aus Halle (Saale)</description>
	<lastBuildDate>Sat, 07 Jan 2012 14:55:02 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>daily</sy:updatePeriod>
	<sy:updateFrequency>4</sy:updateFrequency>
	
		<item>
		<title>CSS: tab-size</title>
		<link>http://toscho.de/2012/css-tab-size/</link>
		<comments>http://toscho.de/2012/css-tab-size/#comments</comments>
		<pubDate>Fri, 06 Jan 2012 05:19:10 +0000</pubDate>
		<dc:creator>Thomas Scholz</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Webdesign]]></category>

		<guid isPermaLink="false">http://toscho.de/?p=1827</guid>
		<description><![CDATA[Wie man das Unsichtbare gestaltet: Die Breite eines Tabulators. Test, Screenshots und genervtes Fazit obendrein.]]></description>
			<content:encoded><![CDATA[<p>Als Kontrapunkt zum letzten Artikel hier mal eine so unterhaltsame wie nutzlose CSS-Spielerei: Alle Browser haben sich inzwischen darauf geeinigt, daß das Zeichen TAB (<abbr title='Unicode Codepoint'>U+0009</abbr>, der Tabulator) wie acht Leerschritte darzustellen sei. Ein schwachsinnig hoher Wert, wenn man Code darstellen möchte – zumindest kenne ich niemanden, der <em>das</em> in seinem Editor eingestellt hat.</p>
<p>Rettung <del>naht</del> gibt es vielleicht irgendwann: Im CSS Text Level 3 wird die Eigenschaft <a href="http://dev.w3.org/csswg/css3-text/#tab-size"><code>tab-size</code></a> vorgeschlagen. Die <a href="http://lists.w3.org/Archives/Public/www-style/2008Dec/0009.html">Diskussion dazu</a> findet man in der CSS-Mailingliste des W3C.</p>
<pre class="notranslate">pre
{
    tab-size: 4; <i>/* Nimm vier Leerzeichen! */</i>
}</pre>
<p>Das setzt freilich voraus, daß der Browser das Zeichen TAB im <a href="http://glazkov.com/2011/01/14/what-the-heck-is-shadow-dom/">Shadow DOM</a> in ein Pseudo-Element packt. Und das können derzeit nur Firefox und Opera. Mit einem Vendorpräfix.</p>
<pre class="notranslate">pre
{
    -moz-tab-size: 4;
    -o-tab-size:   4;
    tab-size:      4;
}</pre>
<p>Der <a href="http://labs.toscho.de/test/css/tab-size.html">Test</a>, der auch andere Präfixe prüft, zeigt in Opera und Firefox das erhoffte Ergebnis:</p>
<p><img src="http://toscho.de/wp-content/uploads/2012/01/tab-size-opera.png" alt="Screenshot Opera" width="493" height="366" class="alignnone size-full wp-image-1828" /></p>
<p>WebKit (hier Chrome) und der IE 9 machen leider dieses:</p>
<p><img src="http://toscho.de/wp-content/uploads/2012/01/tab-size-chrome.png" alt="Screenshot Chrome" width="493" height="366" class="alignnone size-full wp-image-1829" /></p>
<p>Fazit: Taugt erstmal nur fürs Userstylesheet. Immerhin. In den nächsten zwei Jahren werden wir unseren Code weiterhin ein bißchen vorbereiten müssen und <a href="http://labs.toscho.de/escape/">Tabs in Leerzeichen umwandeln</a> – oder auf die ollen Nischenbrowser pfeifen.</p>
]]></content:encoded>
			<wfw:commentRss>http://toscho.de/2012/css-tab-size/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>CSS langweilt mich</title>
		<link>http://toscho.de/2012/css-langweilt-mich/</link>
		<comments>http://toscho.de/2012/css-langweilt-mich/#comments</comments>
		<pubDate>Wed, 04 Jan 2012 08:07:49 +0000</pubDate>
		<dc:creator>Thomas Scholz</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Webdesign]]></category>

		<guid isPermaLink="false">http://toscho.de/?p=1824</guid>
		<description><![CDATA[Warum ich mich von CSS nicht mehr herausgefordert fühle: zu leicht, zu kitschig, zu konzeptlos. Ich kann es jetzt, und damit hat es sich.]]></description>
			<content:encoded><![CDATA[<p>1998 habe ich mich mal zwei Tage hingesetzt und die taufrische <a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/">CSS-2.0-Spezifikation</a> durchgelesen. Vieles hat nirgendwo funktioniert. Ich fand’s trotzdem toll.</p>
<p><img src="http://toscho.de/wp-content/uploads/2012/01/valid-css-500.png" alt="" width="500" height="186" class="alignnone size-full wp-image-1826" /></p>
<p>Quälend langsam haben dann einzelne Browser ihre skurrilen Interpretationen der Regeln eingebaut. Da gab es eine Menge zu lernen und zu hacken. Jeder Browser hatte nicht nur Macken, die zu den Macken der anderen inkompatibel waren, sondern auch ein rasch wechselndes Set proprietärer Eigenschaften. Es hat Spaß gemacht, da herumzukurven, im Usenet oder auf Mailinglisten mit anderen Leuten zu tüfteln und zu testen.</p>
<p>Heute ist das weg. Mit den superkaputten Browsern ist auch das Gefühl verschwunden, beim Umgang mit CSS den Kopf zu brauchen. Klar, es gibt immer noch kleine Hacks und vorläufige proprietäre Implementationen. Meistens laufen die nur auf ein weiteres Snippet in der IDE hinaus. Aber früher, als man nicht einmal <code>width</code> schreiben konnte, ohne von mindestens drei Browsern eins in die Fresse zu kriegen, war das irgendwie … spannender.</p>
<p>CSS3 hat uns viele neue Eigenschaften gebracht aber kaum neue Konzepte. Viele Module sind nicht einmal kompatibel <em>zueinander</em>, und das Entwicklungstempo ist – so wirkt es auf mich – deutlich gesunken. Kein Wunder, ich verlöre angesichts dieses Wustes auch die Lust.</p>
<p>Manches nervt sogar. Ich habe die Nase voll von Schättchen und Verläufen, von abgelutscht aussehenden Ecken und Schrift mit Pseudo-Prägeeffekt. Kitsch. Hier wird das alles demnächst verschwinden.</p>
<p>Der Grund für das <a href="http://toscho.de/2011/fefe-theme/">Fefe-Theme</a> war nicht Fefe. Der Grund waren all die anderen Layouts, die ich in den letzten Jahren verfaßt habe. Bei denen ich zu viel Zeit mit zu leichtem Code verbringen mußte.</p>
<p>Ich bin, wie Aristoteles einst so schön gesagt hat, ein krummes Holz, das mal in die andere Richtung gebogen werden muß. Von mir selbst.</p>
]]></content:encoded>
			<wfw:commentRss>http://toscho.de/2012/css-langweilt-mich/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Dezentraler Pragmatismus</title>
		<link>http://toscho.de/2012/dezentraler-pragmatismus/</link>
		<comments>http://toscho.de/2012/dezentraler-pragmatismus/#comments</comments>
		<pubDate>Sun, 01 Jan 2012 15:03:17 +0000</pubDate>
		<dc:creator>Thomas Scholz</dc:creator>
				<category><![CDATA[Interna]]></category>
		<category><![CDATA[Kunterlei]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://toscho.de/?p=1820</guid>
		<description><![CDATA[Mehr Text, weniger Qualität: Start eines neuen Experiments in Reaktion auf die dezentrale Diskussionskultur.]]></description>
			<content:encoded><![CDATA[<p>Anfang Dezember hat <a href="http://bueltge.de">Frank</a> auf Google+ auf <a href="http://molily.de/">Mathias Schäfers</a> <a href="http://www.webkrauts.de/2011/12/05/sass-compass2/">Artikel zu Sass und Compass</a> <a href="https://plus.google.com/111291152590065605567/posts/LKpTjT7DcDu">hingewiesen</a>. Das haben wir gleich dort lebhaft diskutiert. <a href="http://grochtdreis.de/">Jens Grochtdreis</a> bedauerte später, daß die Diskussion auf Google+ stattfand und nicht im Blog. Meine Antwort:</p>
<blockquote><p>Wichtiger als der Ort der Diskussion ist doch, daß sie überhaupt passiert. Google+ verdeutlicht eben, daß die Idee der zentralen oder kontrollierten Debatte obsolet geworden ist.</p>
<p>Das war schon vorher so, jetzt merkt man es nur besser.</p>
</blockquote>
<p>Warum haben wir nicht im Blog diskutiert? Ich kann nicht für andere sprechen, meine Gründe waren recht einfach:</p>
<ul>
<li>Nach dem ersten Kommentar auf G+ entstand eine Folge von Beiträgen, die auf <strong>vorhergehende reagiert</strong> haben. Man kann nicht sinnvoll irgendwann ins Blog wechseln und dort auf Kommentare in G+ reagieren.</li>
<li>Auf G+ läuft die Kommunikation viel <strong>schneller</strong>. Ja, das Interface ist Scheiße, die Formatierung Glückssache und die Permalinks bestenfalls Schrott. Die Suche funktioniert nicht, das ist schließlich bloß Google. Aber die Antworten kommen schneller, und ich erfahre sofort von ihnen, weil ich keine umständliche Einwilligungsprozedur für entsprechende Hinweise durchlaufen muß.</li>
<li>In einem Blog hat man als Kommentator viel stärker das Gefühl, <strong>kontrolliert</strong> zu werden. Zwar sperrt auch Google immer noch einzelne Nutzer sehr willkürlich, aber einzelne Beiträge werden nur selten gelöscht. Postautoren, die ihnen nicht genehme Kommentare löschen, werden automatisch und zu Recht als Arschlöcher betrachtet. In einem Blog ist das <a href="http://toscho.de/2010/kommentare-moderieren-richtlinien/" title="Wie und warum ich Kommentare moderiere">etwas anders</a>.</li>
</ul>
<p>Alle drei Kriterien sind schwer objektiv meßbar, keines <em>erzwingt</em> einen Diskussionsort. Ich glaube, daß sie relevanter werden, je mehr sich die Interfaces sozialer Netzwerke verbessern.</p>
<p>Für Autoren heißt das: Sie verlieren mehr und mehr Einfluß auf den Ort der Debatte. Oft <em>erfahren</em> sie nicht einmal davon. Das hat schon mit Twitter angefangen. Allerdings kann man dort nur in Fragmenten reden, Diskussionen verpuffen sehr schnell, und sie erreichen nie die Tiefe wie auf Google+.</p>
<p>Okay, alles recht banal. Warum schreibe ich das auf? Weil ich gerade mein Blog inspiziere und sehe: Sieben Artikel im letzten Jahr. Dabei habe nicht weniger geschrieben, eher mehr. Aber eben dort, wo ich mit schnellen Reaktionen rechne: Auf Google+ und <a href="http://wordpress.stackexchange.com">WordPress.StackExchange</a>. Im Blog lege ich mehr Wert auf die Qualität der Artikel. Vielleicht zu viel?</p>
<p>Wenn die Diskussion an vielen Orten passieren kann, dann kann ich auch meine Texte an vielen Orten publizieren. Ich kümmere mich weniger um <a href="http://support.google.com/webmasters/bin/answer.py?hl=de&#038;answer=66359">Duplicate content</a> als um die Reichweite meiner Ideen.</p>
<p>Ich werde künftig mehr experimentieren – dazu habe ich das Blog ja eingerichtet. Also werdet ihr hier bald mehr Schnipsel lesen, Unfertiges, das ich allmählich überarbeite, Fertiges, das ich andernorts schon geschrieben habe, und bloße Konzepte für Artikel. Das wird mich einige Überwindung kosten.</p>
<p>Nun will ich nicht einfach das Blog füllen. Ich möchte auch die Leser erreichen, die nicht in den gleichen Netzwerken agieren wie ich, und die nicht gerne englische Texte lesen – meine sind ohnehin oft nicht der reine Genuß. Auch muß ein Text nicht sofort perfekt sein; ich kann und darf ihn irgendwann verbessern.</p>
<p>Das Risiko für mich dabei: Ich kann mich blamieren, weil ich nicht genügend recherchiert habe, weil ich mich schlicht irre oder Seiten von mir zeige, die ihr nicht mögt. So sei es.</p>
]]></content:encoded>
			<wfw:commentRss>http://toscho.de/2012/dezentraler-pragmatismus/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Das Fefe-Theme</title>
		<link>http://toscho.de/2011/fefe-theme/</link>
		<comments>http://toscho.de/2011/fefe-theme/#comments</comments>
		<pubDate>Sun, 25 Dec 2011 19:33:03 +0000</pubDate>
		<dc:creator>Thomas Scholz</dc:creator>
				<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://toscho.de/?p=1816</guid>
		<description><![CDATA[Ihr wart hoffentlich alle hübsch unartig? Dann habe ich das passende Geschenk: Ein WordPress-Theme zu Ehren <a href="http://blog.fefe.de">Fefes Blogs</a>.]]></description>
			<content:encoded><![CDATA[<p><a href="http://toscho.de/wp-content/uploads/2011/12/screenshot.png"><img src="http://toscho.de/wp-content/uploads/2011/12/screenshot-150x150.png" alt="" width="150" height="150" class="alignright size-thumbnail wp-image-1817" /></a>Ihr wart hoffentlich alle hübsch unartig? Dann habe ich das passende Geschenk: Ein WordPress-Theme zu Ehren <a href="http://blog.fefe.de">Fefes Blogs</a>. Ich weiß zwar, was er von WordPress hält, aber das ist mir egal. Ich hatte mal Lust auf CSS-Verzicht.</p>
<p>Das Theme verwendet kein Stylesheet, keine Tags oder Kategorien, keine Post-Titel, und mit Bildern kann man auch nicht viel anfangen. Es gibt zwei Widgetflächen – oben und unten – da kann man Text hineinsetzen, wenn man möchte. Einen Shortcode für den Einbau des Suchformulars habe ich auch erstellt: <code>[searchform]</code>. Damit kann man die Maske auf einer beliebigen Seite mitten im Text plazieren.</p>
<div id="attachment_1818" class="wp-caption alignnone" style="width: 460px"><img src="http://toscho.de/wp-content/uploads/2011/12/vergleich-fefe.png" alt="" width="450" height="400" class="size-full wp-image-1818" /><p class="wp-caption-text">Vergleich Original und Theme</p></div>
<p>Die Sprache ist Englisch, es liegt aber eine deutsche Sprachdatei bei, und <a href="http://www.rarst.net">Andrey Savchenko</a>, den einige sicher als <a href="http://wordpress.stackexchange.com/users/847/rarst">Rarst von WordPress Answers</a> kennen, hat die Übersetzung ins Russische besorgt. Cool.</p>
<p>Das Repository liegt natürlich auf GitHub: <a href="https://github.com/toscho/Fefe-Tribute-Theme">https://github.com/toscho/Fefe-Tribute-Theme</a></p>
<p>Die <a href="https://github.com/downloads/toscho/Fefe-Tribute-Theme/fefe-theme.1.0.zip">Version 1.0 herunterladen</a> könnt ihr dort auch.</p>
<p>Verbesserungsvorschläge und Feature-Requests packt bitte in den <a href="https://github.com/toscho/Fefe-Tribute-Theme/issues">Issue-Tracker</a>, damit ich den Überblick behalte. Danke!</p>
]]></content:encoded>
			<wfw:commentRss>http://toscho.de/2011/fefe-theme/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>WordCamp Köln 2011</title>
		<link>http://toscho.de/2011/wordcamp-koeln-2011/</link>
		<comments>http://toscho.de/2011/wordcamp-koeln-2011/#comments</comments>
		<pubDate>Mon, 26 Sep 2011 17:28:51 +0000</pubDate>
		<dc:creator>Thomas Scholz</dc:creator>
				<category><![CDATA[Kunterlei]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://toscho.de/?p=1808</guid>
		<description><![CDATA[Notizen einer kleinen Reise nach Köln.]]></description>
			<content:encoded><![CDATA[<h2>Freitag</h2>
<p>Nach einer furchtbaren Nacht ohne Kater kurz nach 5 aus dem Bett. 11 Uhr kommen <a href="http://stil-etage.de/">Nick</a> und <a href="http://dynamicinternet.eu/">Micha</a> und wir brausen los.<br />
Da Nick Zoff mit der Dame im Navigationsgerät hat, kommen wir erst gegen 17:30 Uhr im <a href="http://www.meininger-hotels.com/hotel-hostel/hotelsuche/koeln/">Hotel Meininger</a> an. Von dort gleich weiter zur <a href="http://www.frueh.de/">Brauerei Früh</a>, wo schon 50 andere sitzen. Drinnen ist es laut und voll; statt Bier gibt es <em>Kölsch</em>, eine Art teure Pisse. Ich bestelle eine Bockwurst, von der ich so lange esse, bis der Kotzdrang den Hunger aussticht. </p>
<p><a href="http://toscho.de/wp-content/uploads/2011/09/brauerei-frueh.jpg"><img src="http://toscho.de/wp-content/uploads/2011/09/brauerei-frueh-300x200.jpg" alt="Brauerei Früh" width="300" height="200" class="aligncenter size-medium wp-image-1809" /></a></p>
<p>Flucht mit <a href="http://mobile.twitter.com/cbuchler">@cbuchler</a> zum Starbucks, einen großen Kaffee fassen, dann ins Hotel. Rückzug nach innen in der Lobby, Mails abrufen, Code schreiben. 12 Uhr ins Bett. Die Inpsydetruppe feiert bis 4. Wir stehen alle 7 Uhr auf, ich bin sogar wach.</p>
<h2>Köln</h2>
<p>Köln ist 1970 eingefroren. Der Lohn ist ewig gutes Wetter, die Strafe Kölsch. Vermutlich hat Köln selbst dann gutes Wetter, wenn es Scheiße regnet. Weil die Leute es nicht merken. Weil sie Kölsch trinken.</p>
<p>Jeder duzt jeden. Im Hotel, in der Kneipe, bei Starbucks und im Taxi. Ich fühle mich ganz kurz etwas jünger, bis mir aufgeht, daß das Duzen hier einfach nichts mit dem Alter zu tun hat.</p>
<h2>Samstag</h2>
<p>Frühstück im Hotel. Ich verdicke die Kaffeeparodie mit Milch. Erster Anflug von Heimweh.</p>
<p>Bei gutem Wetter schlendern wir gegen 8 zur Universität. Verkachelte Wände, der Kaffeeautomat spuckt eine Brühe in den Pappbecher, die sicher nicht zum ersten Mal eine Niere sieht. Namensschilder und T-Shirts werden verteilt, Räume gesucht. <a href="http://bueltge.de/">Frank</a> und <a href="https://plus.google.com/106682881083587476194/about">Olaf</a> erklären den Ablauf.  Die ersten Memmen jammern auf Twitter, weil ihr Drei-Wetter-Taft versagt.</p>
<p>Die Sessions interessieren mich nicht. Das wußte ich vorher, ich bin der Leute wegen hier. Bis zur Mittagspause schwatze ich mich durch die Besucherschar, teste einen pappigen Cappuccino und Apfelschorle.<br />
Der Koffeinist in mir sticht bös und böser zu. Frank und ich rennen ins nächste Café, wo wir eilig jeder zwei Tassen Kaffee einsaugen. Und über <a href="http://wordpress-buch.bueltge.de/">DAS BUCH</a> sprechen. Das längst schon fertig sein sollte …</p>
<p>Zurück zur Uni, Frank hält <a href="http://bueltge.de/wordpress-mehrsprachig/">seine Session</a>, die einzige, die mich interessiert, in einem Raum, der mir zu voll ist. Ich seh’ den Code schon früh genug.</p>
<p><a href="http://toscho.de/wp-content/uploads/2011/09/bueltge-mehrsprachigkeit.jpg"><img src="http://toscho.de/wp-content/uploads/2011/09/bueltge-mehrsprachigkeit-300x200.jpg" alt="Frank Bueltge: Mehrsprachigkeit mit Multisite" width="300" height="200" class="aligncenter size-medium wp-image-1810" /></a></p>
<p>Also gehe ich mit dem <a href="https://plus.google.com/100967148217893238418/posts">Schepp</a> in ein anderes Café. Langsam gewinne ich wieder menschenähnliche Züge. Mit Christian kann ich gut plaudern, auch mal eine Pause einlegen, die nicht peinlich wirkt.<br />
Mein leises Bedauern darüber, zu wenig Zeit für Köln zu haben, kontert Christian mit dem Hinweis auf das <a href="http://www.multimediatreff.de/naechstestreffen.php">nächste MMT</a>. Oha! Da habe ich gleich Lust drauf.</p>
<p>In die letzte Session werde ich von den Inpsyde-Leute sehr bestimmt hineingebeten. WordPress-Jeopardy. Die Besucher werden in zwei Gruppen aufgeteilt, die gegeneinander antreten. Ich darf in <em>keine</em> Gruppe. Ich bin der »Joker«, bekomme 1000 Punkte, weil ich einen semantischen Fehler korrigiere, statt die Frage zu beantworten, tue so, als fühlte ich mich nicht verarscht. Spiele mit.</p>
<p>Danach erwische ich endlich noch <a href="http://sprungmarker.de/">Sylvia</a> für einen kurzen Plausch, bedanke mich für ihre Hilfe bei einem Artikel, der schon viel zu lange seines letzten Schliffs wartet und dringend hier ans Licht möchte.<br />
Mit <a href="http://dnaber.de/">David</a> kann ich auch endlich schwatzen. Aus dem wird mal ein guter Nerd.<br />
Wir gehen zum <a href="http://www.flickr.com/search/?q=Aachener+Weiher">Aachener Weiher</a>, liegen auf der Wiese und sehen den Mädels zu. Ich koste die letzten Sonnenstrahlen aus. Jemand hext mir ein Kölsch in die Hand. Ich laufe umher, Musik in den Beinen. Eine Frau in roter Latzhose mit zwei Beuteln in der Hand führt Selbstgespräche. Wir teilen ein Lächeln.</p>
<p><a href="http://toscho.de/wp-content/uploads/2011/09/aachener-weiher.jpg"><img src="http://toscho.de/wp-content/uploads/2011/09/aachener-weiher-300x200.jpg" alt="Sonnenbad am Aachener Weiher" width="300" height="200" class="aligncenter size-medium wp-image-1811" /></a></p>
<p>Mit 30 Leuten irren wir zum <a href="http://www.maracana-rodizio-restaurant.de/" title="Vorsicht Flash.">Maracana Rodizio</a>. Hier haben wir 20 Plätze reserviert. Und kein Stuhl mehr frei. Die Gruppe schrumpft leider.<br />
Es gibt Caipirinha und leckere Vorspeisen, dann rennen Kellner um die Tische und schälen Fleisch auf unsere Teller. Alle halbe Stunde schlängeln Tänzerinnen zu ohrenbetäubend lauter Musik an der Theke entlang. Ich fliehe hinaus.</p>
<p>Gegen 22 Uhr zum Hotel zurück, schwatzen, noch einen Tee und Mitternacht ins Bett. Ich schlafe schlecht, ab 5 fechten die vielen scharf gewürzten Fleischstücke in meinem Magen einen Krieg aus.</p>
<p>7:45 Uhr Frühstück allein. Bis 10 fallen alle anderen aus ihren Betten, Gruppenfoto, Abfahrt. Die Tour zurück klappt reibungslos, allein Nicks iPhone nimmt sich eine Wärmepause.<br />
Kurz nach der Heimkehr bringt mein Bruder den Kater zurück, und sobald ich den original brasilianischen Tinnitus überwunden habe, kann ich die Stille genießen.</p>
<hr />
<p>Ich wollte noch eine Kundin treffen, die dort wohnt, hätte gerne mehr von der Stadt gesehen, vor allem von den Antiquariaten.<br />
Aber ich war schon bis zum Anschlag überreizt. Ich brauche öfter mal Pause, muß die Ideen wegschreiben, die sich unentwegt in mir auftürmen, Ruhe finden. Und ich kann das endlich auch. Manchmal.</p>
<p>Andere haben das WordCamp kritisiert. Manche haben einfach nur geschimpft. Es kommt wohl darauf an, was man erwartet. Ich bin zufrieden.</p>
<p>Alle Fotos hat <a href="http://de.xtreme-theme.com/">Alexander Frison (Xtreme Theme)</a> geschossen. Danke! Mehr Bilder gibt es in seinem <a href="http://de.xtreme-theme.com/2011/09/wordcamp-2011-nachlese-bilder-und-20-gutschein/">Artikel zum WordCamp</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://toscho.de/2011/wordcamp-koeln-2011/feed/</wfw:commentRss>
		<slash:comments>25</slash:comments>
		</item>
		<item>
		<title>WordPress: Headergrafik per Plugin ausblenden</title>
		<link>http://toscho.de/2011/wordpress-headergrafik-per-plugin-ausblenden/</link>
		<comments>http://toscho.de/2011/wordpress-headergrafik-per-plugin-ausblenden/#comments</comments>
		<pubDate>Sat, 30 Jul 2011 05:02:18 +0000</pubDate>
		<dc:creator>Thomas Scholz</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Plugin]]></category>

		<guid isPermaLink="false">http://toscho.de/?p=1805</guid>
		<description><![CDATA[Ein Header-Image aus einem bestehendem Theme entfernen: Hier zeige ich den Weg über ein Plugin als Alternative zum Child-Theme.]]></description>
			<content:encoded><![CDATA[<p>Seit Version 2.9 kann man in <a href="http://toscho.de/angebote/wordpress/themes/">WordPress-Themes</a> die internen Funktionen für eine eigene Kopfgrafik nutzen mit der Funktion <code><a href="http://codex.wordpress.org/Function_Reference/add_custom_image_header">add_custom_image_header()</a></code>. Jetzt bekommt der Nutzer des Themes im Backend unter <em>Design/Kopfzeile</em> eine nette kleine Bildverwaltung. Leider fehlt dort die Option, das Bild komplett wegzulassen.</p>
<p>Gute Themes bieten dafür eine Option an, TwentyTen und auch TwentyEleven leider nicht. Die nachträgliche Entfernung ist umständlich, wenn man kein Child-Theme erstellen möchte.</p>
<p>Deshalb habe ich ein kleines Plugin geschrieben, das sowohl das Bild im Frontend entfernt als auch den Menu-Eintrag im Backend.</p>
<p class="downloadlink"><a href="https://gist.github.com/1115203">Plugin Remove Header Image</a></p>
<p>Wie üblich – es gibt ein mindestens zwei Haken: Wenn im Theme nicht geprüft wird, ob überhaupt ein Bild vorhanden ist, ehe der Container dafür ausgegeben wird, bekommt man eine leere Fläche. Das ist dann eben ein Schrott-Theme. Davon gibt es leider zu viele.<br />
Und die Seite im Backend ist immer noch erreichbar, wenn man die URL dahin kennt. Bilder kann man aber nicht mehr hochladen.</p>
<p>Als Beispiel für den Einsatz in der Praxis sei das <a href="http://drehlog.de/">Videoblog Drehlog</a> genannt. Dort blogge ich mit ein paar Freunden ab und zu … tja … Videos.</p>
<p><a href="http://drehlog.de/"><img src="http://toscho.de/wp-content/uploads/2011/07/drehlog-300x300.png" alt="Screenshot Drehlog" width="300" height="300" class="aligncenter size-medium wp-image-1806" /></a></p>
<p>Irgendwie werde ich das Gefühl nicht los, einen leichteren Weg übersehen zu haben … sei’s drum.</p>
]]></content:encoded>
			<wfw:commentRss>http://toscho.de/2011/wordpress-headergrafik-per-plugin-ausblenden/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>WordPress: Ein Plugin ist ein Plugin</title>
		<link>http://toscho.de/2011/wordpress-ein-plugin-ist-ein-plugin/</link>
		<comments>http://toscho.de/2011/wordpress-ein-plugin-ist-ein-plugin/#comments</comments>
		<pubDate>Fri, 22 Apr 2011 13:25:16 +0000</pubDate>
		<dc:creator>Thomas Scholz</dc:creator>
				<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[URL]]></category>

		<guid isPermaLink="false">http://toscho.de/?p=1793</guid>
		<description><![CDATA[Welcher Code gehört wohin? Wie mache ich es meinen Nutzern leicht – und mir selbst? Ein Blick auf meine Arbeitsweise und vielleicht sogar eine Entscheidungshilfe.]]></description>
			<content:encoded><![CDATA[<p>Ich will die Frage nicht mehr lesen: <i>Warum ist <a href="http://toscho.de/2010/wordpress-plugin-germanix/">Germanix</a> ein Plugin und keine <a href="https://github.com/bueltge/de_DE.php">de_DE.php</a> wie bei Frank Bültge?</i></p>
<p>Die erste Antwort darauf sieht ganz pragmatisch aus: Ungeachtet des schlecht gewählten Namens eignet sich Germanix für <strong>viele Sprachen:</strong> Dänisch, Türkisch, Französisch oder Spanisch zum Beispiel.<br />
Als <code>de_DE.php</code> wäre der Nutzen ohne Not reduziert, denn die benutzt WordPress ja nur, wenn in der <code>wp-config.php</code> eben diese Sprache angegeben wurde.</p>
<p>Die zweite – und mir wichtigere – Antwort fällt vielleicht eher unter <strong>Meinung,</strong> deshalb möchte ich vorausschicken, wie meine Sicht gefärbt ist: Ich schreibe pro Woche mindestens ein <a href="http://toscho.de/angebote/wordpress/plugins/">Plugin</a>, oft zwei, manchmal drei. Pro Monat schreibe ich zwei bis drei <a href="http://toscho.de/angebote/wordpress/themes/">Themes</a>. Ich weiß also ein wenig, was wo am besten funktioniert. Oder ich bin eingefahren, wie immer man das sehen möchte.</p>
<p>Was ich nicht bin: perfekt. Ich mache Fehler, schreibe <strong>Bugs</strong> in meinen Code, die ich dann wieder repariere. Bei einem komplexen System, dessen Bestandteile (Core, Themes und Plugins) separat aktualisiert oder ersetzt werden, kann sich so ein Bug recht gut verstecken. Manchmal entsteht so ein Fehler auch durch fremden Code, der nicht sauber geschrieben wurde, oder durch das Aufeinandertreffen zweier an sich ganz harmloser Codes.</p>
<p>Beispiel: Ein Beitrag wird plötzlich ganz anders ausgegeben, als er geschrieben wurde. Oder der Permalink dafür leitet auf die Fehlerseite.<br />
In solchen Fällen gehe ich wissenschaftlich vor: Ich ändere immer nur eine Variable, Schritt für Schritt, bis ich alle notwendigen Faktoren ermittelt habe. Dann weiß ich, wo ich suchen und flicken muß.</p>
<p><strong>Programmieren ist zu 80% Debuggen, also muß das einfach sein.</strong></p>
<p>Das heißt: Ich muß Code schnell und möglichst granular abschalten können. Als <code>de_DE.php</code> müßte ich zum Debuggen die Datei umbenennen, denn allein das Ändern der Sprache in der <code>wp-config.php</code> erfaßt zu viele weitere Faktoren. Das ist mir zu umständlich, obendrein vergesse ich es vielleicht.</p>
<p class="wideimg"><a href="http://www.flickr.com/photos/publicenergy/3325641526/"><img src="http://toscho.de/wp-content/uploads/2011/04/messy2.jpg" alt="" title="Messy! von publicenergy" width="560" height="420" class="aligncenter size-full wp-image-1796" /></a></p>
<p>Und für die Nutzer meines Plugins ist es noch umständlicher. Wer hat schon immer das FTP-Programm oder eine SSH-Shell geöffnet, wenn er an WordPress sitzt?</p>
<p>Als klassisches Plugin kann ich Germanix jederzeit einfach und isoliert abschalten.</p>
<p>Gleiches gilt auch für viele Hacks, die für die <code>functions.php</code> <a href="http://wordpress.stackexchange.com/questions/1567/best-collection-of-code-for-your-functions-php-file">empfohlen werden</a>. Wenn der eingebaute Code im Stylesheet oder in einer Template-Datei nicht berücksichtigt werden muß, dann gehört er in ein Plugin.<br />
Dabei entsteht keine zusätzliche Last, nur die Liste der aktiven Plugins wird um einen Eintrag erweitert. Und wenn diese paar Zeichen dein System schon in Not bringen, dann ist das System kaputt.</p>
<p>Wenn dir jemand sagt, er habe Plugin-Funktionalität <em>ohne ein Plugin</em>, dann glaub es nicht. Nicht der Ort des Codes entscheidet darüber, ob er ein Plugin ist, sondern das, was er tut. Auch ich habe diesen Fehler <a href="http://toscho.de/2009/no-no-no-nofollow/">schon begangen</a>. <strong>Sorry.</strong><br />
Mein <a class='piwik_download' href="https://github.com/toscho/Toscho-Dofollow">Dofollow-Code ist jetzt ein Plugin</a>, der Code zur <a href="http://toscho.de/2009/wordpress-umbruch-titel-steuern/">Kontrolle des Umbruchs</a> im Titel <a class='piwik_download' href="https://github.com/toscho/Prevent-Title-Widows">auch</a>.</p>
<p>Warum ist also Germanix ein Plugin? Weil es ein Plugin <em>ist</em>. Der Code benutzt die Plugin-API, er kann vom Theme komplett ignoriert werden, und er muß abschaltbar sein.</p>
<h2>Weitere Lektüre</h2>
<ul>
<li><a href="http://toscho.de/2010/wordpress-plugin-germanix/">WordPress-Plugin: Germanix</a></li>
<li><a href="http://toscho.de/2010/wordpress-cms-plugins/">WordPress als CMS: Hilfreiche Plugins</a></li>
<li><a href="http://toscho.de/2010/wordpress-tutorial-ein-framebreaker-plugin-schreiben/">WordPress-Tutorial: Ein Framebreaker-Plugin schreiben</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://toscho.de/2011/wordpress-ein-plugin-ist-ein-plugin/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>WordPress: Adminbar in Systemfarben</title>
		<link>http://toscho.de/2011/wordpress-adminbar-in-systemfarben/</link>
		<comments>http://toscho.de/2011/wordpress-adminbar-in-systemfarben/#comments</comments>
		<pubDate>Wed, 06 Apr 2011 20:38:19 +0000</pubDate>
		<dc:creator>Thomas Scholz</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://toscho.de/?p=1788</guid>
		<description><![CDATA[Ein WordPress-Plugin für eine angenehm bedienbare Adminbar. Screenshots und Download.]]></description>
			<content:encoded><![CDATA[<p>Ich finde die neue Adminbar recht praktisch, zumindest mit der <a href="http://wordpress.org/extend/plugins/debug-bar/">Debug-Bar</a>.</p>
<p>Leider sieht sie dämlich aus: Hellgrau auf Mittelgrau, zeitgemäß verhunzt mit Schatten und abgerundeten Ecken. Kinkerlitzchen, CSS3 vom Schlimmsten.</p>
<p>Ich habe diesen Quatsch mal aufgeräumt, die Farben auf die des Betriebssystems umgestellt und ein Plugin daraus gemacht:</p>
<p class="downloadlink"><a class='piwik_download' href="https://github.com/toscho/Admin-Bar-In-System-Colors">Admin Bar In System Colors</a></p>
<p class="wideimg"><a href="http://toscho.de/wp-content/uploads/2011/04/admin-system-compare.png"><img src="http://toscho.de/wp-content/uploads/2011/04/admin-system-compare.png" alt="Vergleich der Adminbar mit und ohne Plugin" width="650" height="400" class="alignnone size-full wp-image-1789" /></a></p>
<p>Das kann hoffentlich jede und jeder gut lesen.</p>
<p>Forks, Fragen oder <del datetime="2011-04-06T20:15:54+00:00">Fer</del> Verbesserungsvorschläge?</p>
<p>Umfangreiche Browsertests habe ich noch nicht gemacht – keine Zeit! – und vielleicht sollte ich das Standardstylesheet komplett ersetzen, statt es zu überschreiben. Auch über die feste Höhe samt Pixelschriftgröße werde ich sicher nochmal nachdenken. Und die kleine Grafik für aufklappbare Menus kann man kaum noch erkennen …</p>
<h2>Weiterlesen</h2>
<ul>
<li><a href="http://toscho.de/2010/wordpress-plugin-backend-style-enhancements/">WordPress-Plugin: Backend Style Enhancements</a></li>
<li><a href="http://toscho.de/2010/wordpress-grundeinstellungen-per-plugin-setzen/">WordPress: Grundeinstellungen per Plugin setzen</a></li>
<li><a href="http://toscho.de/2009/wordpress-administrator-php-herausfinden/">WordPress: Administrator mit PHP herausfinden</a></li>
]]></content:encoded>
			<wfw:commentRss>http://toscho.de/2011/wordpress-adminbar-in-systemfarben/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>WordPress: Permanente Umleitung auf upgrade.php beheben</title>
		<link>http://toscho.de/2011/wordpress-umleitung-upgrade-php-beheben/</link>
		<comments>http://toscho.de/2011/wordpress-umleitung-upgrade-php-beheben/#comments</comments>
		<pubDate>Thu, 24 Feb 2011 07:30:58 +0000</pubDate>
		<dc:creator>Thomas Scholz</dc:creator>
				<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[backend]]></category>
		<category><![CDATA[URL]]></category>

		<guid isPermaLink="false">http://toscho.de/?p=1784</guid>
		<description><![CDATA[Wie man eine überflüssige Umleitung behebt.]]></description>
			<content:encoded><![CDATA[<p>Eben habe ich ein Blog auf Version 3.1 aktualisiert. Danach wurde ich immer auf <code>wp-admin/upgrade.php?_wp_http_referer=%2Fwp-admin%2Findex.php</code> umgeleitet, wenn ich auf den Link zum Dashboard – <code>/wp-admin/index.php</code> – geklickt habe.<br />
Ein direkter Aufruf der Adresse <code>/wp-admin/</code> (ohne <code>index.php</code>) hingegen klappte problemlos.</p>
<p>Eine kurze Suche im Quellcode ergab den Auslöser: In der <code>/wp-admin/admin.php</code> steht eine Abfrage, ob die Datenbank aktualisiert wurde. Steht der Wert <code>db_upgraded</code> in der Optionstabelle nicht auf <code>FALSE</code>, so wird die Umleitung erzeugt, die dann eigentlich den Wert nach dem ersten Aufruf korrekt setzen sollte. Warum das nicht klappt, kann ich noch nicht sagen, aber die Lösung liegt jetzt auf der Hand:</p>
<ol>
<li>Rufe <code>/wp-admin/options.php</code> auf. Diese URL mußt du vermutlich per Hand eingeben.</li>
<li>Suche nach dem Eintrag <code>db_upgraded</code> und setze eine <code>0</code> (Null) hinein.</li>
<li>Drücke auf »Änderungen übernehmen«. Fertig.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://toscho.de/2011/wordpress-umleitung-upgrade-php-beheben/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>WordPress-Plugin: Magische Widgets</title>
		<link>http://toscho.de/2011/wordpress-plugin-magische-widgets/</link>
		<comments>http://toscho.de/2011/wordpress-plugin-magische-widgets/#comments</comments>
		<pubDate>Wed, 05 Jan 2011 14:19:56 +0000</pubDate>
		<dc:creator>Thomas Scholz</dc:creator>
				<category><![CDATA[Markup]]></category>
		<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[backend]]></category>
		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://toscho.de/?p=1768</guid>
		<description><![CDATA[Wie man Widgets auch in die heikelsten Stellen schiebt. Download und ausführliche Dokumentation inklusive.]]></description>
			<content:encoded><![CDATA[<p class="downloadlink"><a href="http://wordpress.org/extend/plugins/magic-widgets/">Download auf wordpress.org</a></p>
<p>Neulich stand ich vor einem spannenden Problem: Ein Freund wollte eine Zeile JavaScript und einen Link auf ein Stylesheet in den Header seines <a href="http://toscho.de/angebote/wordpress/themes/" title="Ich baue auch eigene!">Themes</a> bringen. Dieses Theme stammt aus dem <a href="http://wordpress.org/extend/themes/">Verzeichnis auf wordpress.org</a>, und es sollte weiterhin automatisch aktualisiert werden. Ich konnte also nicht direkt hineinschreiben.<br />
Nun hätte ich ein <a href="http://codex.wordpress.org/Child_Themes">Child-Theme</a> anlegen können, aber das fand ich dann etwas zu umständlich. Obendrein wäre das eine Speziallösung gewesen, und ich bin nun einmal Generalist.<br />
Ich wollte eine Lösung, die ich wiederverwenden kann. Und ihr vielleicht auch.</p>
<p>Zeit für einen kleinen Zaubertrick.</p>
<h2>Das Konzept</h2>
<p>Im Kopfteil eines jeden Themes, das auf wordpress.org zugelassen wird, finden wir die Funktion <a href="http://codex.wordpress.org/Plugin_API/Action_Reference/wp_head">wp_head</a>. Diese löst eine gleichnamige Aktion aus. Wenn wir uns in diese Aktion einklinken, können wir tun, was immer uns beliebt. Zum Beispiel Text ausgeben.</p>
<p>Als Plugin wäre das ein Vierzeiler:</p>
<pre class="notranslate">&lt;?php
<i>/* Plugin Name: Simple Head Insert */</i>
add_action( <code class="string">'wp_head'</code>, <code class="string">'simple_head_insert'</code> );
function simple_head_insert() { echo <code class="string">'&lt;!-- Buh! --&gt;'</code>; }</pre>
<p>Ganz nett, aber irgendwie … nicht gut genug. Es ist immer noch zu speziell, weil die Ausgabe fest im PHP-Code steht. Wenn die Ausgabe oder die Position geändert werden soll, muß das Plugin umgeschrieben werden. Das ist sehr fehleranfällig.</p>
<p>Jemand anderes möchte vielleicht Code im Backend einfügen. Der muß sich das Plugin im Grunde selbst neu schreiben.</p>
<p>Also habe ich mir gedacht: Dann hänge ich doch einfach an die Aktion <code>widgets_init</code> eine Funktion, die eine Instanz einer Klasse erzeugt, die für die Aktionen <code>wp_head</code>, <code>wp_footer</code>, <code>admin_head</code> und <code>admin_footer</code> eine weitere Funktion registriert, die wiederum den Inhalt einer ebenfalls registrierten Sidebar ausgibt, die man frei mit einem Widget befüllen kann, das ich in eine weiteren Klasse gepackt habe.</p>
<p>Klarsoweit?</p>
<p>Nicht? Dann kannst du dir den <strong><a href="https://github.com/toscho/WP-Magic-Widgets">Code auf GitHub ansehen und herunterladen</a></strong>. Für die Eingabe des HTML-Codes habe ich eine einfachere Variante des nativen Text-Widgets geschrieben; sie heißt <strong>Unfiltered Text Widget</strong>.</p>
<p>150 Zeilen mehr als die erste Version, dafür um so mächtiger. Frank wird mich sicher noch ermahnen, daß ich doch eine Sprachdatei einarbeiten sollte. Keine Lust. Insgesamt finde ich den Code immer noch angenehm einfach und enorm flexibel zugleich. Ich bin ausnahmsweise und sicher nur für kurze Zeit mal zufrieden damit.</p>
<h2>Einsatz</h2>
<p>Jetzt wollen wir uns noch ansehen, wie man das verdammte Ding benutzt.</p>
<p>Zunächst laden wir es herunter, packen es ins Pluginverzeichnis und aktivieren es. Ja, sehr spannend.</p>
<p><img src="http://toscho.de/wp-content/uploads/2011/01/activate.png" alt="" title="Plugin aktivieren" width="588" height="109" class="alignnone size-full wp-image-1774 border" /></p>
<p>Jetzt gehen wir auf »Design/Widgets«, und da haben wir vier neue Sidebars und ein neues Widget namens »Unfiltered Text«.</p>
<p><img src="http://toscho.de/wp-content/uploads/2011/01/sidebars-backend.png" alt="" title="Sidebars im Backend" width="309" height="281" class="alignnone size-full wp-image-1775 border" /><img src="http://toscho.de/wp-content/uploads/2011/01/unfiltered-text-widget.png" alt="" title="Widget Unfiltered Text" width="274" height="71" class="alignnone size-full wp-image-1776 border" /></p>
<p>Wir klappen zur Probe mal die Box für den »Front End Header« auf und ziehen das neue Widget hinein. Das können wir übrigens überall benutzen, auch in anderen Sidebars.</p>
<p>In das Eingabefeld schreiben wir ein Script:</p>
<pre class="notranslate">&lt;script&gt;alert('Buh!');&lt;/script&gt;</pre>
<p><img src="http://toscho.de/wp-content/uploads/2011/01/unfiltered-text-widget-edit.png" alt="" title="Widget-Editor" width="375" height="339" class="alignnone size-full wp-image-1773 border" /></p>
<p>Und dann rufen wir das Frontend unserer Website auf:</p>
<p><img src="http://toscho.de/wp-content/uploads/2011/01/script-test.png" alt="" title="Script-Test" width="347" height="129" class="alignnone size-full wp-image-1777" /></p>
<p>Faaaantastisch! Jetzt kann uns nichts mehr bremsen.</p>
<ul>
<li>In den Footer des Frontends können wir den Tracking-Code des <a href="http://toscho.de/2009/piwik-ueberblick-installation/">Analyse-Tools unserer Wahl</a> eingeben – und schon geht das Gezähle los.</li>
<li>In den Header des Backends können wir schreiben:
<pre class="notranslate">&lt;style&gt;#footer{display:none}&lt;/style&gt;</pre>
<p>Und – zack! – ist der Footer weg.</li>
<li>Wir können den JavaScript-Code des <a href="http://toscho.de/2010/wordpress-plugin-icon-to-link/">Plugins Icon to Link</a> einbauen.</li>
<li>Wer so richtig Spaß haben will, schreibt sich dies in beide Header:
<pre class="notranslate">&lt;style&gt;body{display:none}&lt;/style&gt;</pre>
</li>
</ul>
<p>Für weitere kreative Ideen und die obligatorischen … Verbesserungsvorschläge stehen euch die Kommentare offen.</p>
<h2>Anpassen</h2>
<p>Für Hacker habe ich zwei Filter eingebaut, die eine Kombination des Plugins mit dem eigenen Theme erlauben:</p>
<ol>
<li><code class="string">'magic_widgets_actions'</code> übergibt einen Array mit den Aktionen. Den können wir per Filter in der <code>functions.php</code> frei ändern:
<pre class="notranslate">add_filter( <code class="string">'magic_widgets_actions'</code>, <code class="string">'change_magic_widget_actions'</code>, 10, 1 );
function change_magic_widget_actions( <var>$arr</var> )
{
    <i>// Add</i>
    <var>$arr</var>[<code class="string">'loop_start'</code>] = <code class="string">'Post List Start'</code>;
    <i>// Remove</i>
    unset( <var>$arr</var>[<code class="string">'admin_footer'</code>] );
    <i>// Rename</i>
    <var>$arr</var>[<code class="string">'admin_head'</code>] = <code class="string">'HTML-Kopf Administration'</code>;
    return <var>$arr</var>;
}</pre>
<p>Mehr Aktionen findet ihr im <a href="http://codex.wordpress.org/Plugin_API/Action_Reference">Codex</a>, bei <a href="http://adambrown.info/p/wp_hooks">Adam R Brown</a> und auf <a href="http://docs.der-design.com/wp-actions-filters/">der-design.com</a>.</p>
<p>Ich habe mich auf die vier oben genannten Aktionen beschränkt, um die Widgetliste im Backend übersichtlich zu halten. Im Prinzip können wir aber auch 40 oder 400 Aktionen ansprechen.
</li>
<li>Den Namen <strong>Unfiltered Text</strong> können wir über den Filter <code class="string">'magic_widgets_name'</code> ändern (I18n für Arme!).</li>
</ol>
<p>Fehlt was? Funktioniert alles?</p>
<h2>Weitere Artikel dazu hier im Blog</h2>
<ul>
<li><a href="http://toscho.de/2010/wordpress-tutorial-ein-framebreaker-plugin-schreiben/">WordPress-Tutorial: Ein Framebreaker-Plugin schreiben</a></li>
<li><a href="http://toscho.de/2010/wordpress-tutorial-eigenes-widget-schreiben/">WordPress-Tutorial: Eigenes Widget schreiben</a></li>
<li><a href="http://toscho.de/2009/wordpress-parallele-widgets/">WordPress: Parallele Widgets</a></li>
<li><a href="http://toscho.de/2010/wordpress-plugin-backend-style-enhancements/">WordPress-Plugin: Backend Style Enhancements</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://toscho.de/2011/wordpress-plugin-magische-widgets/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Database Caching using disk: basic
Object Caching 564/696 objects using disk: basic

Served from: toscho.de @ 2012-02-04 11:13:21 -->
