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

<channel>
	<title>bueltge.de [by:ltge.de] &#187; Datenbank</title>
	<atom:link href="http://bueltge.de/tag/datenbank/feed/" rel="self" type="application/rss+xml" />
	<link>http://bueltge.de</link>
	<description>Frank Bültge schreibt auf bueltge.de zu den Themen Webentwicklung &#38; design, WordPress, Literatur und andere Themen bezüglich Internet und Development</description>
	<lastBuildDate>Tue, 22 May 2012 20:02:25 +0000</lastBuildDate>
	<language>de-DE</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>WP Maintenance Mode &amp; MySQLDumper</title>
		<link>http://bueltge.de/wp-maintenance-mode-mysqldumper/1158/</link>
		<comments>http://bueltge.de/wp-maintenance-mode-mysqldumper/1158/#comments</comments>
		<pubDate>Mon, 10 May 2010 09:37:33 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Plugin]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Backup]]></category>
		<category><![CDATA[Datenbank]]></category>
		<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[Sicherung]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1158</guid>
		<description><![CDATA[Wer große Datenbanken einspielen musste oder gern außerhalb von WordPress ein Backup fahren will, der kommt meist nicht am MySQLDumper vorbei. Ein sehr nützliches Tool mit vielen kleinen Details und stetiger Weiterentwicklung. Mein Plugin WP Maintenance Mode ist ebenso der stetigen Weiterentwicklung unterworfen und ist ebenso wie andere Plugins im Laufe der Zeit gewachsen. Dabei spielen Wünsche von Lesern und Nutzern eine sehr große Rolle. Ich informiere zwar selten, denke aber, dass man durch das automatische Update immer etwas mitbekommen kann. In diesem Fall ist es einen kleinen Beitrag wert.]]></description>
			<content:encoded><![CDATA[<p>Wer große Datenbanken einspielen musste, ein Tool dazu haben will, oder gern außerhalb von WordPress ein Backup fahren will, der kommt meist nicht am <a href="http://www.mysqldumper.net/">MySQLDumper</a> vorbei. Ein sehr nützliches Tool mit vielen kleinen Details und stetiger Weiterentwicklung. Mein Plugin <a href="http://bueltge.de/wp-wartungsmodus-plugin/101/">WP Maintenance Mode</a> ist ebenso der stetigen Weiterentwicklung unterworfen und ist ebenso wie andere Plugins im Laufe der Zeit gewachsen. Dabei spielen Wünsche von Lesern und Nutzern eine sehr große Rolle. Ich informiere zwar selten, denke aber, dass man durch das automatische Update immer etwas mitbekommen kann. In diesem Fall ist es einen kleinen Beitrag wert.<br />
<span id="more-1158"></span><br />
<img class="alignrightob" src="http://bueltge.de/wp-content/images/logo-truck.png" alt="MySQLDumper Logo" /><br />
<a href="http://www.beedy.de/">Stefan</a> ist Nutzer meines Plugins und ebenso aktiver Nutzer des MySQLDumpers und ihm lag es am Herzen, dass man bei einem Backup mit Hilfe des Dumpers das Blog automatisch in Wartungsmodus fährt. Nur so ist eine korrekte Sicherung der Datenbank sicher gestellt. Daher habe ich mich entschlossen, das Plugin dafür zu ändern und einen Datenbank-Eintrag anzulegen, der explizit nur die Aktivierung des Wartungsmodus speichert. Dadurch kann der MySQLDumper auf diesen Eintrag zugreifen und ihn von Außen setzen. Vorher war dies nicht möglich, da ich alle Einträge in der Datenbank serialisiert ablege und daher nur einen Eintrag benötige, Performance und Übersicht sind damit verbessert.</p>
<h3>Kurzanleitung</h3>
<p>Die folgenden zwei Einträge müssen an die eigene Datenbank angepasst werden; Datenbank und Präfix setzen und gehören in die Einstellungen des MySQLDumpers. Das Plugin WP Maintenace Mode muss im Blog aktiv sein, die bevorzugten Einstellungen setzen und den Aktiv-Status inaktiv lassen - dieser wird dann via MySQLDumper gesetzt.</p>
<h4>Blog in den Wartungsmodus via SQL</h4>
<p><code>UPDATE `wp-database`.`wp-prefix_options` SET `option_value` = '1' WHERE `wp-prefix_options`.`option_name` = 'wp-maintenance-mode-msqld';</code></p>
<h4>Ende des Wartungsmodus via SQL</h4>
<p><code>UPDATE `wp-database`.`wp-prefix_options` SET `option_value` = '0' WHERE `wp-prefix_options`.`option_name` = 'wp-maintenance-mode-msqld';</code></p>
<p>Mit der aktuellen Version des Plugins ist es nun also möglich, dass man den Eintrag setzt und der Wartungsmodus ist aktiv. Eine <a href="http://www.beedy.de/2010/05/09/automatisches-backup-der-wordpress-datenbank/">anschauliche Anleitung</a> gibt es bei Stefan, der sich an die Arbeit gemacht hat und ein <a href="http://www.beedy.de/2010/05/09/automatisches-backup-der-wordpress-datenbank/">bebildertes Tutorial</a> erstellt hat. Alternativ findet man auf der <a href="http://wordpress.org/extend/plugins/wp-maintenance-mode/">Seite zum Plugin</a> im offiziellen Verzeichnis eine Kurzanleitung; diese ist auch in der <code>readme.txt</code> des Plugins zu finden oder ebenso gibt es eine Anleitung auf den <a href="http://forum.mysqldumper.de/post41207.html#41207">Seiten des MySQLDumper</a>.<br />
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://bueltge.de/wp-maintenance-mode-mysqldumper/1158/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/wp-maintenance-mode-mysqldumper/1158/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/logo-truck.png" />
		<media:content url="http://bueltge.de/wp-content/images/logo-truck.png" medium="image">
			<media:title type="html">MySQLDumper Logo</media:title>
		</media:content>
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>WordPress Datenbank Korrektur</title>
		<link>http://bueltge.de/wordpress-datenbank-korrektur/1041/</link>
		<comments>http://bueltge.de/wordpress-datenbank-korrektur/1041/#comments</comments>
		<pubDate>Fri, 13 Nov 2009 16:00:26 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Tipps]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Datenbank]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1041</guid>
		<description><![CDATA[Mit der Version 2.9 führt WordPress eine eigene Routine ein um die Datenbank zu säubern und auf Vordermann zu bringen. Bisher haben das entweder Plugins erledigt oder man hat sich via SQL Zugriff darum gekümmert. Die Möglichkeit besteht nun also ab der kommenden Version.]]></description>
			<content:encoded><![CDATA[<p>Kleiner Tipp für alle Nutzer der schon bestehenden Beta von WordPress 2.9 und für alle die, die vermutlich bald auf die neue Version updaten wollen.<br />
Mit der Version 2.9 führt WordPress eine eigene Routine ein um die Datenbank zu säubern und auf Vordermann zu bringen. Bisher haben das entweder Plugins erledigt oder man hat sich via SQL Zugriff darum gekümmert. Die Möglichkeit besteht nun also ab der kommenden Version aus dem Core heraus ...<br />
<span id="more-1041"></span><br />
<img class="centered" src="http://bueltge.de/wp-content/images/wp/wprdb-1.png" alt="WP Repair Script - ohne Konstante" /></p>
<p>... und ist mit Hilfe einer Konstante zu aktivieren; abgelegt in der <code>wp-config.php</code> hat man ab nun Zugriff auf das Script.</p>
<pre><code>
define('WP_ALLOW_REPAIR', true);
</code></pre>
<p>Aufgerufen wird das Script von Außen unter der folgenden Adresse ...</p>
<pre><code>

http://example.com/wp-admin/maint/repair.php

</code></pre>
<p>... wobei man entweder die Datenbank repariert oder gleich die Optimierung mitlaufen lässt. Technisch steckt hier kein Zauberwerk dahinter, sondern die bekannten SQL-Anweisungen <a href="http://dev.mysql.com/doc/refman/5.1/en/analyze-table.html"><code>ANALYZE TABLE</code></a>, <a href="http://dev.mysql.com/doc/refman/5.1/en/repair-table.html"><code>REPAIR TABLE</code></a> und <a href="http://dev.mysql.com/doc/refman/5.1/en/optimize-table.html"><code>OPTIMIZE TABLE</code></a>.</p>
<p><img class="centered" src="http://bueltge.de/wp-content/images/wp/wprdb-2.png" alt="WP Repair Script - Start" /></p>
<p>Ich vermute, dass ist reichlich Zündstoff für Diskussionen und warum man den mit Konstante und warum von Außen etc. - gern könnt ihr die Kommentare hier nutzen. Alternativ kann sich jeder bei WordPress einbringen und direkt mit den Entwicklern diskutieren oder Änderungen direkt am Code hinterlassen.<br />
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://bueltge.de/wordpress-datenbank-korrektur/1041/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/wordpress-datenbank-korrektur/1041/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/wp/wprdb-1.png" />
		<media:content url="http://bueltge.de/wp-content/images/wp/wprdb-1.png" medium="image">
			<media:title type="html">WP Repair Script - ohne Konstante</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/images/wp/wprdb-2.png" medium="image">
			<media:title type="html">WP Repair Script - Start</media:title>
		</media:content>
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>Adminer für WordPress</title>
		<link>http://bueltge.de/adminer-fuer-wordpress/1014/</link>
		<comments>http://bueltge.de/adminer-fuer-wordpress/1014/#comments</comments>
		<pubDate>Thu, 10 Sep 2009 22:54:45 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Plugin]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Datenbank]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=1014</guid>
		<description><![CDATA[Der Zugriff auf die Datenbank ist dann und wann nötig. Aus dem Backend von WordPress heraus kann das sehr einfach sein und man muss die Zugriffsdaten nicht zur Hand haben. Sehr schnell ist ein Kundenzugriff möglich und alle Möglichkeiten, die einem mySQL in die Hand gibt, sind mit dem Plugin Adminer möglich. Vom Exportieren, Importieren und alle Arten von SQL-Zugriffen via GUI bis hin zur SQL-Anweisung kann Adminer eingesetzt werden.]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" src="http://bueltge.de/wp-content/images/wp/adminer.png" alt="Adminer" /><br />
Der Zugriff auf die Datenbank ist dann und wann nötig. Aus dem Backend von WordPress heraus kann das sehr einfach sein und man muss die Zugriffsdaten nicht zur Hand haben. Sehr schnell ist ein Kundenzugriff möglich und alle Möglichkeiten, die einem mySQL in die Hand gibt, sind mit dem Plugin Adminer möglich. Vom Exportieren, Importieren und alle Arten von SQL-Zugriffen via GUI bis hin zur SQL-Anweisung kann Adminer eingesetzt werden.</p>
<p>Das Tool <a href="http://www.adminer.org/en/">Adminer</a> ist die Grundlage meines Plugins und holt das Tool direkt in das WordPress Backend. Adminer hat auch ohne mein Plugin und ohne WordPress sehr viele Vorteile und wer einfach, schnell und unkompliziert auf die Datenbank zugreifen will, der sollte sich das Tool anschauen - <a href="http://www.adminer.org/en/">Adminer</a>. Alternativ lohnt ein Blick in den <a href="http://www.drweb.de/magazin/adminer-mysql-administration-on-the-fly-kurzbeitrag/">Artikel bei Dr.Web</a>, wo Adminer ausführlich erklärt wird.<br />
<span id="more-1014"></span><br />
Nun aber zum Plugin, welches den <a href="http://www.adminer.org/en/">Adminer</a> in WordPress integriert.</p>
<h3>Was macht das Plugin</h3>
<p>Das Plugin erleichtert den Zugriff auf die Datenbank aus WordPress heraus. Es ist entstanden, weil ich nicht selten helfen soll und die Leute keinen Zugang haben, ihn nicht wissen oder auch kein Tool auf dem Webspace für den Datenbankzugang haben. Damit bleibt mir oft nur das Einrichten eines Tools und das wollte ich vereinfachen. Mit diesem Plugin geht das einfach; es ist aber ebenso mächtig wie jedes andere Tool, welches alle Zugriffe auf die Datenbank zulässt - daher <strong>Vorsicht im Umgang mit dem Plugin. Das Anlegen einer Sicherung im Vorfeld sollte selbstverständlich sein.</strong></p>
<p>Der Zugang auf Adminer wird über das Plugin gelöst, so dass man keine Zugangsdaten benötigt. Ebenfalls kann das Plugin direkt aus dem Admin-Bereich von WordPress installiert werden, so dass, je nach Webspace, nicht mal ein FTP-Zugang erforderlich ist.</p>
<p>Adminer lässt den Export und Import von großen Datenmengen zu, damit kann es sehr einfach sein, die Datenbank einzuspielen. Ebenfalls kann jede Art von SQL-Anweisung ausgeführt werden. Hinzu kommt, dass Adminer die SQL-Anweisung zu einer Anweisung via Mouse-Klick zurück gibt, so dass man die Anweisung dann als Syntax hat und anderweitig nutzen kann.</p>
<p><img class="centered" src="http://bueltge.de/wp-content/images/wp/screenshot-adminer.png" alt="Adminer in WordPress" /></p>
<p>Adminer wurde von mir in zwei Punkten verändert, da beide Themen den Zugriff auf einen Server benötigen. Die Themen Versions-Kontrolle von Adminer und Syntax-Highlightning der SQL-Anweisung benötigen einen Zugriff auf SourceForge. Beide Punkte sind nicht relevant für das Plugin und der Zugriff ist nicht bei jedem Nutzer gern gesehen. Hinzu kommt das das Highlightning eine 100 kByte Datei benötigt, die aus meiner Sicht nicht unbedingt notwendig ist. Wer beide Funktionen unbedingt haben möchte, der muss nur die Adminer-Datei im Ordner <code>inc</code> des Plugins mit dem Original austauschen.</p>
<p>Ebenfalls habe ich ein neues Stylesheet erstellt, welches die Optik von Adminer dem Design von WordPress 2.8 anpasst. Somit ist die Arbeit in gleicher Optik gewährleistet. Das Design kann auch ohne Plugin genutzt werden und steht auf der <a href="http://www.adminer.org/en/#extras">Site von Adminer zum Download</a>.</p>
<h3>Voraussetzungen</h3>
<p>Um das Plugin zu nutzen, ist WordPress Version 2.7 das Minimum, darunter habe ich keine Tests unternommen. Grundvoraussetzung ist eine saubere Installation, wo die Datenbankzugänge zu den Standard-Konstanten gepflegt sind. Das wird sicher auf die meisten Nutzer zutreffen, ist aber leider nicht immer so.</p>
<h3>Installation</h3>
<p>Es werden keinerlei Daten in der Datenbank abgelegt und es müssen auch keine Einstellungen vorgenommen werden. Daher ist die Installation auch denkbar einfach: in das Pluginverzeichnis kopieren oder mit Hilfe der automatischen Installation aus dem Backend des Blog installieren lassen und im Anschluss aktivieren.<br />
Im Anschluss steht im Bereich <em>Werkzeuge</em> (<em>Tools</em>) ein neuer Unterpunkt <em>Adminer</em> bereit, der euch den Zugriff ermöglicht. Auf der Site zu Adminer muss dann lediglich der Button <em>Start Adminer</em> genutzt werden und Adminer wird in voller Bildschirmgröße in eine Thickbox geladen, so dass man ausreichend Raum zu arbeiten hat.</p>
<h3>Download:</h3>
<form class="spenden" action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="amount" id="eins" value="" /><br />
<input type="hidden" name="cmd" value="_xclick" /><br />
<input type="hidden" name="business" value="frank@bueltge.de" /><br />
<input type="hidden" name="item_name" value="Spende bueltge.de Debug Objects" /><br />
<input type="hidden" name="no_shipping" value="1" /><br />
<input type="hidden" name="return" value="http://bueltge.de/" /><br />
<input type="hidden" name="cancel_return" value="http://bueltge.de/" /><input type="hidden" name="currency_code" value="EUR" /><br />
<input type="hidden" name="tax" value="0" /><br />
<input type="hidden" name="bn" value="PP-DonationsBF" /><br />
<input type="image" src="http://bueltge.de/wp-content/images/donate.png" style="border:0" name="submit" alt="Zahlen Sie mit PayPal - schnell, kostenlos und sicher!" /></form>
<p><strong>Ist die Arbeit nicht 1 Euro wert?</strong><br />
Jede Spende wird dankbar angenommen und ermöglicht das weitere Arbeiten an freier Software.<br />
Möchtest du mehr oder anders spenden, so besuche meine <a href="http://bueltge.de/wunschliste/">Wunschliste</a>.<br />
Download als zip-Datei: <a href="http://downloads.wordpress.org/plugin/adminer.zip">downloads.wordpress.org/plugin/adminer.zip</a> - 200 kByte</p>
<h3>Historie</h3>
<p>Seit geraumer Zeit bietet das WordPress Plugin Repository die Möglichkeit der Ausgabe des Changelog an und so werde ich direkt am Plugin, in der Readme, die Historie pflegen - daher bitte ich, dass ihr euch <a href="http://wordpress.org/extend/plugins/adminer/changelog/">dort die Änderungen anschaut</a>, so dass ich ein wenig hier pflegen muss: <a href="http://wordpress.org/extend/plugins/adminer/changelog/">Changelog</a>.<br />
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://bueltge.de/adminer-fuer-wordpress/1014/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/adminer-fuer-wordpress/1014/feed/</wfw:commentRss>
		<slash:comments>48</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/wp/adminer.png" />
		<media:content url="http://bueltge.de/wp-content/images/wp/adminer.png" medium="image">
			<media:title type="html">Adminer</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/images/wp/screenshot-adminer.png" medium="image">
			<media:title type="html">Adminer in WordPress</media:title>
		</media:content>
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>WPlize, Klasse für Optionen in WordPress</title>
		<link>http://bueltge.de/wplize-klasse-fuer-optionen-in-wordpress/778/</link>
		<comments>http://bueltge.de/wplize-klasse-fuer-optionen-in-wordpress/778/#comments</comments>
		<pubDate>Mon, 29 Sep 2008 09:28:49 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[Themes]]></category>
		<category><![CDATA[Tipps]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Datenbank]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Theme]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=778</guid>
		<description><![CDATA[<em>WPlize</em> ist eine Klasse, die man frei nutzen darf und soll. Sie dient dem Zugriff auf die Tabelle <code>options</code> von WordPress und erleichtert das <strong>Anlegen</strong>, <strong>Ablegen</strong>, <strong>Holen</strong> und <strong>Löschen</strong> von Einstellungen zu Plugins oder Themes in der Datenbank, Tabelle <code>options</code>, von WordPress. Durch die Verwendung dieser Klasse werden Plugins und Themes performanter und sauber aufgebaut. Es wird pro Plugin oder Theme nur ein Eintrag in der Datenbank angelegt, mit Hilfe eines Array werden diese Daten dort hinterlegt und verwaltet.]]></description>
			<content:encoded><![CDATA[<p>Da der Titel nicht besser gelungen ist, hole ich gleich zu beginn mal ein wenig aus und erkläre was <em>WPlize</em> macht und wozu es gedacht ist.</p>
<p><em>WPlize</em> ist eine Klasse, die man frei nutzen darf und soll. Sie dient dem Zugriff auf die Tabelle <code>options</code> von WordPress und erleichtert das <strong>Anlegen</strong>, <strong>Ablegen</strong>, <strong>Holen</strong> und <strong>Löschen</strong> von Einstellungen zu Plugins oder Themes in der Datenbank, Tabelle <code>options</code>, von WordPress. Durch die Verwendung dieser Klasse werden Plugins und Themes performanter und sauber aufgebaut. Es wird pro Plugin oder Theme nur ein Eintrag in der Datenbank angelegt, mit Hilfe eines Array werden diese Daten dort hinterlegt und verwaltet.<br />
Viele Plugins legen sehr viele Daten ab, nur als Beispiel: das populäre Kontaktform-Plugin <a href="http://wordpress.org/extend/plugins/cforms/">cforms</a> legt ca. 60 Einträge ab, die damit auch sehr viele Aufrufe starten und die Last erhöhen.<br />
Das muss nicht sein, den WordPress unterstützt im Standard das Nutzen von Arrays. Auch einzelne Einträge werden von WordPress über das interne Caching performanter gestaltet, allerdings ist dies nie so optimal wie ein Array für viele Einträge als viele Einträge in der Datenbank.<br />
<span id="more-778"></span><br />
Die Lösung nutze ich schon seit geraumer Zeit und habe bisher jeweils neue Funktionen in meinen Plugins dafür abgelegt. In älteren Plugins habe ich die Vorgehensweise zum Teil noch nicht umgesetzt, bei entsprechenden Änderungen und Zeit wird dies aber passieren.</p>
<p>Durch eine Kommunikation mit <a href="http://www.ebiene.de/">Sergej Müller</a> (bekannt durch sein Plugin <a href="http://www.wpseo.de/">wpSEO</a>), dem ich diese Variante empfahl ist eine gemeinsame Arbeit entstanden, die Sergej dann gleich auf ein eigenständige Klasse erweitert hat, so dass es nun einfacher und mit viel weniger Code integrierbar ist.<br />
Im ersten Wurf stand uns der Sinn nach einem Plugin, was den Zugriff aus anderen Plugins ermöglicht. Da wir aber glauben, dass es dann nicht zu einer Verbreitung kommt, habe wir diese Idee wieder verworfen und möchten die Klasse nun hier anbieten und stellen sie zum Nutzen frei.</p>
<p>Die Klasse stellt nicht die Funktionen von WordPress in Frage, sie nutzt diese ebenfalls. Sie macht es nur einfacher, dass Plugin- und Theme-Autoren einen performanteren Zugriff ohne viel Mühe haben. Die klassischen Funktion <code>add_option</code>, <code>delete_option</code>, <code>get_option</code> und <code>update_option</code> kommen trotzdem in den Funktionen der Klasse zum Einsatz.</p>
<h3>Welche Möglichkeiten bietet die Klasse und wie bindet man sie ein?</h3>
<p>Die Datei am besten in einem Unterordner eures Plugins oder Themes ablegen und via PHP einbinden.</p>
<pre><code>
if ( !class_exists('WPlize') ) {
	require_once('inc/WPlize.php');
}
</code></pre>
<p>Dadurch stehen dann die unterschiedlichen Zugriffe zur Verfügung und sollen anhand folgender Syntax ein wenig näher erklärt werden.<br />
Dem Download liegt auch ein <em>Readme</em>-Datei bei, so dass Erklärungen und Beispiele auch dort zu finden sind.</p>
<ul>
<li><strong>Multi-Option initialisieren</strong>
<pre><code>
$WPlize = new WPlize(
                     'my_plugin',
                     array(
                          'my_key'   => 'my_value',
                          'your_key' => 'your_value'
                          )
                    );
</code></pre>
</li>
<li><strong>Option updaten [Variante 1]</strong>
<pre><code>$WPlize-&gt;update_option('my_key', 'simple_value');</code></pre>
</li>
<li><strong>Option updaten [Variante 2]</strong>
<pre><code>
$WPlize->update_option(
                       array(
                             'my_key'   =&gt; 'my_value',
                             'your_key' =&gt; 'simple_value'
                            )
                      );
</code></pre>
</li>
<li><strong>Option auslesen</strong>
<pre><code>$WPlize-&gt;get_option('your_key');</code></pre>
</li>
<li><strong>Multi-Option entfernen</strong>
<pre><code>$WPlize-&gt;delete_option();</code></pre>
</li>
</ul>
<h3>Download:</h3>
<form class="spenden" action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="amount" id="eins" value="" /><br />
<input type="hidden" name="cmd" value="_xclick" /><br />
<input type="hidden" name="business" value="frank@bueltge.de" /><br />
<input type="hidden" name="item_name" value="Spende bueltge.de" /><br />
<input type="hidden" name="no_shipping" value="1" /><br />
<input type="hidden" name="return" value="http://bueltge.de/" /><br />
<input type="hidden" name="cancel_return" value="http://bueltge.de/" /><input type="hidden" name="currency_code" value="EUR" /><br />
<input type="hidden" name="tax" value="0" /><br />
<input type="hidden" name="bn" value="PP-DonationsBF" /><br />
<input type="image" src="http://bueltge.de/wp-content/images/donate.png" style="border:0" name="submit" alt="Zahlen Sie mit PayPal - schnell, kostenlos und sicher!" /></form>
<p><strong>Ist die Arbeit nicht 1 Euro wert?</strong><br />
Jede Spende wird dankbar angenommen und ermöglicht das weitere Arbeiten an freier Software.<br />
Möchtest du mehr oder anders spenden, so besuche meine <a href="http://bueltge.de/wunschliste/">Wunschliste</a>.</p>
<p>Download als zip-Datei: <a href="http://bueltge.de/wp-content/download/wp/class_WPlize.zip">class_WPlize.zip</a> - 3 kByte<br />
<br style="clear:left" /></p>
<h3 id="historie">Historie</h3>
<ul>
<li>26.09.2008 - Idee und Lösung</li>
<li>09.12.2008 - update der Prüfungen</li>
</ul>
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://bueltge.de/wplize-klasse-fuer-optionen-in-wordpress/778/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/wplize-klasse-fuer-optionen-in-wordpress/778/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/favicon.ico" />
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>WordPress Datenbank-Error mit eigenem Design</title>
		<link>http://bueltge.de/wordpress-datenbank-error-mit-eigenem-design/591/</link>
		<comments>http://bueltge.de/wordpress-datenbank-error-mit-eigenem-design/591/#comments</comments>
		<pubDate>Thu, 10 Jan 2008 15:39:38 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Tipps]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Datenbank]]></category>
		<category><![CDATA[Theme]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/wordpress-datenbank-error-mit-eigenem-design/591/</guid>
		<description><![CDATA[Error 404-Seiten gehören zum guten Ton und haben sich durchgesetzt, zumindest wenn man ein rundum gutes Design erstellt. Seit der Version 2.3.2 kann WordPress zusätzliche eine eigene Datenbank-Fehlerseite ausgeben, passend zum persönlichen Geschmack, siehe dazu auch die Update-Information. Aber erstmal, wie macht man eine eigene DB-Error-Seite. PHP-Datei mir allen nötigen Inhalten erstellen und db-error.php nennen. [...]]]></description>
			<content:encoded><![CDATA[<p>Error 404-Seiten gehören zum guten Ton und haben sich durchgesetzt, zumindest wenn man ein rundum gutes Design erstellt.<br />
Seit der Version 2.3.2 kann WordPress zusätzliche eine eigene Datenbank-Fehlerseite ausgeben, passend zum persönlichen Geschmack, siehe dazu auch die <a href="http://bueltge.de/wordpress-update-232/580/">Update-Information</a>.</p>
<p><img class="centered" src="http://bueltge.de/wp-content/images/wpdberror.gif" alt="WordPress DB Error Screenshot" /></p>
<p>Aber erstmal, wie macht man eine eigene DB-Error-Seite.<br />
<span id="more-591"></span></p>
<ol>
<li>PHP-Datei mir allen nötigen Inhalten erstellen und <code>db-error.php</code> nennen.</li>
<li>Die Datei nach <code>wp-content</code> kopieren, nicht in ein Unterverzeichnis oder das aktuelle Theme!</li>
<li>Das war's, denn WordPress erkennt die Datei und nutzt diese dann bei einem Datenbankfehler.</li>
</ol>
<h3>Beispiel für ein einfache Ausgabe in <code>wp-content</code></h3>
<pre><code>
&lt;html&gt;
	&lt;head&gt;
		&lt;title&gt;Databank Fehler&lt;/title&gt;
	&lt;/head&gt;

	&lt;body&gt;
		&lt;h2&gt;Oops... Datenbankfehler&lt;/h2&gt;
		&lt;p&gt;Entschuldigung, aber es scheint eine Datenbankproblem vorzuliegen.&lt;br /&gt;Bitte versuche es doch in wenigen Augenblicken noch einmal.&lt;/p&gt;
		&lt;p&gt;Vielen dank f&amp;uuml;r dein Verst&amp;auml;ndnis&lt;/p&gt;
	&lt;/body&gt;
&lt;/html&gt;
</code></pre>
<p>Nachfolgender Inhalt gelöscht, Warum? - <a href="http://bueltge.de/wordpress-datenbank-error-mit-eigenem-design/591/#comment-163827">siehe Kommentar 3</a></p>
<p><del>Nun ist es aber WordPress so aufgebaut, dass alle Daten zum Design in Ordner wp-content/themes/*theme-name*/ abgebildet werden, so zum Beispiel auch mit der Error 404-Seite. Will man also das Design wechseln und die DB-Fehlerseite ebenso an das neue Design anpassen, dann muss man immer die Datei im Ordner <code>wp-content</code> anpassen, quasi nicht vergessen.</del></p>
<p><del>Mit einer kleinen PHP-Zeile kann man aber die Datei immer dort liegen lassen und ändert die DB-Error-Seite nur im Theme-Verzeichnis. Auch dazu eine kurze Erläuterung.</del></p>
<ol>
<li><del>Den folgenden Code kopieren und damit die Datei <code>db-error.php</code> erstellen.</del>
<pre><code>
	&lt;?php
	require_once '../wp-config.php';
	include (TEMPLATEPATH . '/db-error.php');
	?&gt;
	</pre>
</li>
<li><del>Diese Datei im Verzeichnis <code>/wp-content/</code> der WordPress-Installation auf dem Server ablegen.</del></li>
<li><del>Im folgenden startest du mit einer Seite deines Themes, beispielsweise die <code>404.php</code> oder <code>page.php</code> und speicherst sie als <code>db-error.php</code>. Im Anschluss ein kleines Beispiel.</del></li>
<li><del>Diese Datei passt du an deine Bedürfnisse an und hinterlegst dort die Information für den Besucher, wenn die Datenbank nicht verfügbar ist.</del></li>
<li><del>Diese Datei kopierst du in das Theme-Verzeichnis, welches du aktuell verwendest.</del></li>
</ol>
<h3><del>Beispiel für die <code>db-error.php</code> im Theme</del></h3>
<p><del>Das folgende Beispiel ist extrem einfach gehalten und ist an das <a href="http://bueltge.de/basis-theme-fuer-wordpress/411/">Basis-Theme</a> angelegt, welches damit erweiterbar ist.</del></p>
<pre><code>
&lt;?php get_header(); ?&gt;

		&lt;div class=&quot;post&quot;&gt;
			&lt;h2&gt;Oops... Datenbankfehler&lt;/h2&gt;
			&lt;p&gt;Entschuldigung, aber es scheint eine Datenbankproblem vorzuliegen.&lt;br /&gt;Bitte versuche es doch in wenigen Augenblicken noch einmal.&lt;/p&gt;
			&lt;p&gt;Vielen dank f&amp;uuml;r dein Verst&amp;auml;ndnis&lt;/p&gt;
		&lt;/div&gt;
			
&lt;?php get_footer(); ?&gt;
</code></pre>
<p>Um die Seite im Browser zu testen, ein einfacher Aufruf genügt - als Beispiel meine aktuelle <a href="http://bueltge.de/wp-content/db-error.php">DB-Error-Seite</a>.<br />
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://bueltge.de/wordpress-datenbank-error-mit-eigenem-design/591/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/wordpress-datenbank-error-mit-eigenem-design/591/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/wpdberror.gif" />
		<media:content url="http://bueltge.de/wp-content/images/wpdberror.gif" medium="image">
			<media:title type="html">WordPress DB Error Screenshot</media:title>
		</media:content>
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>Expliziten Inhalt in WordPress laden</title>
		<link>http://bueltge.de/expliziten-inhalt-in-wordpress-laden/576/</link>
		<comments>http://bueltge.de/expliziten-inhalt-in-wordpress-laden/576/#comments</comments>
		<pubDate>Sun, 06 Jan 2008 05:50:23 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Tipps]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Artikel]]></category>
		<category><![CDATA[Beitrag]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Datenbank]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Template]]></category>
		<category><![CDATA[Theme]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/expliziten-inhalt-in-wordpress-laden/576/</guid>
		<description><![CDATA[WordPress vergibt für jeden Beitrag, Seite und Kommentar eine eindeutige ID in der Datenbank. Diese macht es einfach und schnell möglich, einen expliziten Inhalt aus der Datenbank zu laden.

Wozu? - Dafür gibt es eine ganze Reihe Anwendungsmöglichkeiten.
In einem konkreten Projekt wird Inhalt in den Header und Footer geladen, Text, der den Leser des Blog informiert.]]></description>
			<content:encoded><![CDATA[<p>WordPress vergibt für jeden Beitrag, Seite und Kommentar eine eindeutige ID in der Datenbank. Diese macht es einfach und schnell möglich, einen expliziten Inhalt aus der Datenbank zu laden.</p>
<p>Wozu? - Dafür gibt es eine ganze Reihe Anwendungsmöglichkeiten.<br />
In einem konkreten Projekt wird Inhalt in den Header und Footer geladen, Text, der den Leser des Blog informiert.</p>
<p>Ein konkretes Beispiel ist das <a href="http://blog.shirtinator.de/">Blog von Shirtinator</a>, dort wird im Header- und Footer-Bereich Inhalt aus dem Backend, aus statischen Seiten, gezogen.<br />
<img class="centered" src="http://bueltge.de/wp-content/images/shirtinator_blog.png" alt="Shirtinator Blog" /></p>
<p>In der Regel werden solche Texte direkt im Markup des Theme hinterlassen, was die Pflege für den Laien erschwert. Aber auch für solche Zwecke nutzt man ja ein CMS, warum also nicht einen Artikel aus der Datenbank dazu nutzen. Insbesondere eignet sich dazu eine statische Seite, die ist schnell wieder auffindbar und nicht im täglichen Artikelzoom eines Weblogs.<br />
<span id="more-576"></span></p>
<h3>Laden eines beliebigen Beitrags</h3>
<p>Hat man spezielle Anforderungen und kann mit dem <a href="http://codex.wordpress.org/The_Loop">Loop</a> arbeiten, dann empfiehlt sich die erste Lösung im folgenden Code. Eine genaue Doku zu <code>query_posts</code> findet sich im <a href="http://codex.wordpress.org/Template_Tags/query_posts">Codex</a>, denn dieser Template Tag kann wesentlich mehr und macht die Anwendung für besondere CMS-Gestaltung möglich.</p>
<pre><code>
&lt;?php
$post_id = 3;
query_posts('p=' . $post_id); // post-ID
while (have_posts()) : the_post(); // starte the_loop
	_e('&lt;h3&gt;') . the_title() . _e('&lt;/h3&gt;') . &quot;\n&quot;;
	the_content();
endwhile;
?&gt;
</code></pre>
<p>Der zweite Codeschnipsel greift direkt in die Datenbank ein und holt den Beitrag, ohne Formatierung durch die WordPress-Filter und kann so beliebig via Template ausgegeben werden. Dabei spielt es keine Rolle, ob es sich um einen Beitrag oder eine statische Seite handelt, denn WordPress vergibt die ID ohne Unterscheidung. Für den Unterschied Seite/ Beitrag steht ein weiteres Tabellenfeld bereit, was aber in dem Fall nicht nötig ist und so genügen die beiden Felder <code>post_title, post_content</code> für Titel und Inhalt.</p>
<pre><code>
&lt;?php
$results = $wpdb-&gt;get_results(&quot;
                        SELECT post_title, post_content
                          FROM $wpdb-&gt;posts
                         WHERE ID = '9'
                              &quot;);
foreach ($results as $pagepost) {
	echo '&lt;h3&gt;' . $pagepost-&gt;post_title . '&lt;/h3&gt;' . &quot;\n&quot;;
	echo '&lt;p&gt;' . $pagepost-&gt;post_content . '&lt;/p&gt;';
}
?&gt;
</code></pre>
<h3>Laden einer beliebigen Seite im Loop</h3>
<p>Im Grunde muss man nur die Adresse ändern. Während man mit <code>p=</code> einen Beitrag anspricht, bekommt man mit <code>?page_id=</code> eine statische Seite.</p>
<pre><code>
&lt;?php
query_posts('?page_id=3'); // post-ID
while (have_posts()) : the_post(); // starte the_loop
	_e('&lt;h3&gt;') . the_title() . _e('&lt;/h3&gt;') . &quot;\n&quot;;
	the_content();
endwhile;
?&gt;
</code></pre>
<h3>Laden, außer einer bestimmten Kategorie</h3>
<p>Parameter des Tag ist <code>cat=-</code>. Will man mehrere Kategorien ausschließen, dann werden die IDs der jeweiligen Kategorie getrennt <code>cat=-1,-3,-9</code>.</p>
<pre><code>
&lt;?php
query_posts('cat=-123); // category-ID
while (have_posts()) : the_post(); // starte the_loop
	_e('&lt;h3&gt;') . the_title() . _e('&lt;/h3&gt;') . &quot;\n&quot;;
	the_content();
endwhile;
?&gt;
</code></pre>
<h3>Laden, einer bestimmten Kategorie</h3>
<p>Auch hier kann man explizit Kategorien nutzen, einfach die entsprechenden IDs mit Kommata trennen <code>cat=1,3,9</code>. Entscheidend, ohne Minus <code>-</code> vor der Kategorie-ID.</p>
<pre><code>
&lt;?php
query_posts('cat=123); // category-ID
while (have_posts()) : the_post(); // starte the_loop
	_e('&lt;h3&gt;') . the_title() . _e('&lt;/h3&gt;') . &quot;\n&quot;;
	the_content();
endwhile;
?&gt;
</code></pre>
<h3><code>more</code>-Funktionalität erhalten</h3>
<p>Soll die <code>more</code>-Funktionalität (<code>&lt;--more--&gt;</code>) von WordPress erhalten bleiben, dann muss die Variable dafür gesetzt werden.</p>
<pre><code>
&lt;?php
query_posts('cat=123); // category-ID

global $more;
$more = 0; 

while (have_posts()) : the_post(); // starte the_loop
	_e('&lt;h3&gt;') . the_title() . _e('&lt;/h3&gt;') . &quot;\n&quot;;
	the_content();
endwhile;
?&gt;
</code></pre>
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://bueltge.de/expliziten-inhalt-in-wordpress-laden/576/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/expliziten-inhalt-in-wordpress-laden/576/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/shirtinator_blog.png" />
		<media:content url="http://bueltge.de/wp-content/images/shirtinator_blog.png" medium="image">
			<media:title type="html">Shirtinator Blog</media:title>
		</media:content>
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>Schütze deine wp-config.php</title>
		<link>http://bueltge.de/schuetze-deine-wp-configphp/547/</link>
		<comments>http://bueltge.de/schuetze-deine-wp-configphp/547/#comments</comments>
		<pubDate>Fri, 16 Nov 2007 13:19:48 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Tipps]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Datenbank]]></category>
		<category><![CDATA[Hack]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/schuetze-deine-wp-configphp/547/</guid>
		<description><![CDATA[Ronald Huereca erklärt in einem Artikel auf Devlounge, wie man dafür sorgt, dass die wp-config.php der WordPress-Installation nicht für Hacker einfach erreichbar ist um so die Möglichkeit eines Hackerangriffs auf das eigene Blog zu erschweren. Die wp-config.php ist der Schlüssel zur Datenbank und damit stehen einem Eindringen in die Datenbank nur wenige Handgriffe bevor und [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignrightob" src="http://bueltge.de/wp-content/images/wp_blue.png" alt="WP" /><br />
<a href="http://www.ronalfy.com/">Ronald Huereca</a> erklärt in einem Artikel auf <a href="http://www.devlounge.net/articles/protect-your-wordpress-wp-config-so-you-dont-get-hacked">Devlounge</a>, wie man dafür sorgt, dass die <code>wp-config.php</code> der WordPress-Installation nicht für Hacker einfach erreichbar ist um so die Möglichkeit eines Hackerangriffs auf das eigene Blog zu erschweren.</p>
<p>Die <code>wp-config.php</code> ist der Schlüssel zur Datenbank und damit stehen einem Eindringen in die Datenbank nur wenige Handgriffe bevor und schon liegt die DB offen, Damit kann ein &bdquo;Bösewicht&ldquo; die Daten verändern oder gar alle Daten löschen. Also liegt es nahe, diese Datei vor fremden Zugriff zu schützen. Wie und und mit welchen Mitteln man dies machen kann, das erklärt der Artikel auf zwei unterschiedliche Wegen.</p>
<p>Ich habe die jeweiligen Code-Schnippsel im Anschluss nochmal hinterlegt, da ich die Idee für sinnvoll und machbar, auch für den &bdquo;Laien&ldquo;, erachte, so dass man auch mit deutschen Sprachkenntnissen der Idee folgen und umsetzen kann.<span id="more-547"></span></p>
<h3>.htaccess erweitern</h3>
<p>Ronald erklärt zwei unterschiedliche Ansätze. Im ersten Schritt sichert er den Zugriff via <code>.htaccess</code>, was schnell und einfach erledigt ist.</p>
<pre><code>
# protect wpconfig.php
&lt;files wp-config.php&gt;
Order deny,allow
deny from all
&lt;/files&gt;
</code></pre>
<p>Damit könnte eine .htaccess für WordPress folgenden Aufbau und Inhalt haben, wobei ich gleich einige mehr Regeln integriert habe, kleine Erläuterungen dazu im Syntax.</p>
<pre><code>
&lt;IfModule mod_rewrite.c&gt;
RewriteEngine On
RewriteBase /

# www2nowww
RewriteCond %{HTTP_HOST} ^([^.]+)\.bueltge\.de$ [NC]
RewriteRule ^(.*)$ http://bueltge.de/$1 [R=301,L]

# Hinzufuegn von Slash 
RewriteCond %{REQUEST_URI} ^/[^\.]+[^/]$
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
&lt;/IfModule&gt;

# Schutz der wp-config.php
&lt;files wp-config.php&gt;
Order deny,allow
deny from all
&lt;/files&gt;

# Datei zum Regeln von IP-Bereichen
Order deny,allow
Allow from all
# Sperre folgende IPs
deny from 83.246.96.42
deny from 82.103.133.221
deny from 74.86.15.2
</code></pre>
<h3>Auslagern der <code>wp-config.php</code></h3>
<p>Die zweite Idee geht davon aus, dass die Datei an einen Ort des Servers verschoben wird, der nicht öffentlich zugänglich ist. Ein Beispiel soll es verdeutlichen: die Datei liegt im Normalfall im absoluten Pfad <code>/home/deinname/public_html/</code>, dies ändert sich nun, denn die Datei wird eine Ebene tiefer abgelegt <code>/home/deinname/</code>. Dies ist nicht bei allen Webhostern so, so dass die Möglichkeit nicht bei allen WordPress-Installationen möglich ist.</p>
<p>Die klassische <code>wp-config.php</code> enthält folgenden Syntax.</p>
<pre><code>
&lt;?php
// ** MySQL settings ** //
define('DB_NAME', 'wpbeta');    // The name of the database
define('DB_USER', 'root');     // Your MySQL username
define('DB_PASSWORD', ''); // ...and password
define('DB_HOST', 'localhost');    // 99% chance you won't need to change this value
define('DB_CHARSET', 'utf8');
define('DB_COLLATE', '');

// You can have multiple installations in one database if you give each a unique prefix
$table_prefix  = 'wp_';   // Only numbers, letters, and underscores please!

// Change this to localize WordPress.  A corresponding MO file for the
// chosen language must be installed to wp-content/languages.
// For example, install de.mo to wp-content/languages and set WPLANG to 'de'
// to enable German language support.
define ('WPLANG', 'de_DE');

/* That's all, stop editing! Happy blogging. */

define('ABSPATH', dirname(__FILE__).'/');
require_once(ABSPATH.'wp-settings.php');
?&gt;
</code></pre>
<p>Mit diesen Daten erstellt ihr eine neue Datei <code>config.php</code>.</p>
<pre><code>
&lt;?php
// ** MySQL settings ** //
define('DB_NAME', 'wpbeta');    // The name of the database
define('DB_USER', 'root');     // Your MySQL username
define('DB_PASSWORD', ''); // ...and password
define('DB_HOST', 'localhost');    // 99% chance you won't need to change this value

// You can have multiple installations in one database if you give each a unique prefix
$table_prefix  = 'wp_';   // Only numbers, letters, and underscores please!
?&gt;
</code></pre>
<p>Diese Datei wird nun per FTP in das nicht öffentliche Verzeichnis des Servers kopiert, in unserem Beispiel ist das <code>/home/deinname/</code></p>
<p>Die originale <code>wp-config.php</code> wird nun verändert. Dabei werden die Datenbank-Verbindungsdaten mit Hilfe der include-Anweisung eingebunden.</p>
<pre><code>
&lt;?php
include('/home/deinname/config.php');

// Change this to localize WordPress.  A corresponding MO file for the
// chosen language must be installed to wp-content/languages.
// For example, install de.mo to wp-content/languages and set WPLANG to 'de'
// to enable German language support.
define ('WPLANG', 'de_DE');

/* That's all, stop editing! Happy blogging. */

define('ABSPATH', dirname(__FILE__).'/');
require_once(ABSPATH.'wp-settings.php');
?&gt;
</code></pre>
<p>Damit stehen WordPress die Daten für die Datenbank zur Verfügung und die Datei kann nicht einfach als Text angezeigt werden, denn sie liegt in einem nicht öffentlichen Bereich.<br />
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://bueltge.de/schuetze-deine-wp-configphp/547/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/schuetze-deine-wp-configphp/547/feed/</wfw:commentRss>
		<slash:comments>63</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/wp_blue.png" />
		<media:content url="http://bueltge.de/wp-content/images/wp_blue.png" medium="image">
			<media:title type="html">WP</media:title>
		</media:content>
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>WordPress Datenbank Backup (Plugin) in neuer Version</title>
		<link>http://bueltge.de/wordpress-datenbank-backup-plugin-in-neuer-version/365/</link>
		<comments>http://bueltge.de/wordpress-datenbank-backup-plugin-in-neuer-version/365/#comments</comments>
		<pubDate>Mon, 22 Jan 2007 13:07:07 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Plugin]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Backup]]></category>
		<category><![CDATA[Database]]></category>
		<category><![CDATA[Datenbank]]></category>
		<category><![CDATA[Sicherung]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/wordpress-datenbank-backup-plugin-in-neuer-version/365</guid>
		<description><![CDATA[Das populäre Plugin WP-DB-Backup von Skippy um die Datenbank regelmäßig zu sichern, und dass alles ohne fremde Tools ist in einer neuen Version erhältlich, wobei die Neuerungen von Austin Matzko kommen. Die bisherige Version hatte immer mit Problemen seit WordPress Version 2.0* zu kämpfen, die sind nun behoben. Ebenso ist der Einsatz mit der kommenden [...]]]></description>
			<content:encoded><![CDATA[Das populäre Plugin WP-DB-Backup von <a href="http://www.skippy.net">Skippy</a> um die Datenbank regelmäßig zu sichern, und dass alles ohne fremde Tools ist in einer <a href="http://www.ilfilosofo.com/blog/wp-db-backup">neuen Version</a> erhältlich, wobei die Neuerungen von Austin Matzko kommen.

Die bisherige Version hatte immer mit Problemen seit WordPress Version 2.0* zu kämpfen, die sind nun behoben.
Ebenso ist der Einsatz mit der kommenden WordPress-Version 2.1 möglich und nun kann der Zeitraum der Sicherung konfiguriert werden - nie, täglich, stündlich oder wöchentlich. Das war der Wunsch vieler Anwender, die sicher jetzt noch zufriedener mit dem Plugin sind.
Nebenbei erspart man sich ab WP 2.1 die Verwendung vom <a href="http://www.skippy.net/blog/category/wordpress/plugins/wp-cron/">Plugin WP-Cron</a>, da WordPress ab Version 2.1 cron-tauglich geworden ist.<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://bueltge.de/wordpress-datenbank-backup-plugin-in-neuer-version/365/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/wordpress-datenbank-backup-plugin-in-neuer-version/365/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/favicon.ico" />
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>WordPress Datenbank optimieren</title>
		<link>http://bueltge.de/wordpress-datenbank-optimieren/347/</link>
		<comments>http://bueltge.de/wordpress-datenbank-optimieren/347/#comments</comments>
		<pubDate>Fri, 05 Jan 2007 14:51:29 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Tipps]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Datenbank]]></category>
		<category><![CDATA[Optimierung]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/wordpress-datenbank-optimieren/347</guid>
		<description><![CDATA[Vor einiger Zeit habe ich kurz erläutert, wie man mit Hilfe von phpMyAdmin die Datenbank von WordPress optimieren kann, denn Datenbanken erwarten eine gewisse Pflege. Dietmar Rabich hat sich auch mit diesem Thema beschäftigt und bringt eine einfache Lösung - mit Hilfe seines Plugins Database Tuning kann man schnell und unkompliziert die Datenbank von WordPress [...]]]></description>
			<content:encoded><![CDATA[<p>Vor einiger Zeit habe ich <a href="http://bueltge.de/wp-datenbank-optimieren/177">kurz erläutert</a>, wie man mit Hilfe von phpMyAdmin die Datenbank von WordPress optimieren kann, denn Datenbanken erwarten eine gewisse Pflege.<br />
Dietmar Rabich hat sich auch mit diesem Thema beschäftigt und bringt eine einfache Lösung - mit Hilfe seines Plugins <a href="http://wordpress.org/extend/plugins/database-tuning/">Database Tuning</a> kann man schnell und unkompliziert die Datenbank von WordPress analysieren und optimieren, so dass der Lesezugriff schneller wird. Das Plugin ist einfach zu bedienen und bringt auch genügend Erklärung mit, so dass auch der „Datenbank-Leihe“ sich an die Pflege traut. Allerdings auch hier gilt, nicht vergessen, Backup vorher machen!<br />
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://bueltge.de/wordpress-datenbank-optimieren/347/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/wordpress-datenbank-optimieren/347/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/favicon.ico" />
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>Umzug des WordPress-Blogs auf einen neuen Hosting-Provider</title>
		<link>http://bueltge.de/umzug-des-wordpress-blogs-auf-einen-neuen-hosting-provider/307/</link>
		<comments>http://bueltge.de/umzug-des-wordpress-blogs-auf-einen-neuen-hosting-provider/307/#comments</comments>
		<pubDate>Sat, 16 Dec 2006 08:43:49 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Tipps]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Anleitung]]></category>
		<category><![CDATA[Datenbank]]></category>
		<category><![CDATA[Domain]]></category>
		<category><![CDATA[phpMyAdmin]]></category>
		<category><![CDATA[Umzug]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/umzug-des-wordpress-blogs-auf-einen-neuen-hosting-provider/307</guid>
		<description><![CDATA[Es kommt leider vor, dass man umziehen muss oder möchte - aus welchen Gründen auch immer.

Um dies ohne großen Ärger zu bewerkstelligen wird im folgenden eine kleine Anleitung Schritt für Schritt hinterlegt. Außerdem gehe ich auf bekannte Probleme ein und stelle einige Lösungen bereit.]]></description>
			<content:encoded><![CDATA[<p>Es kommt leider vor, dass man umziehen muss oder möchte - aus welchen Gründen auch immer.</p>
<p>Um dies ohne großen Ärger zu bewerkstelligen wird im folgenden eine kleine Anleitung Schritt für Schritt hinterlegt. Außerdem gehe ich auf bekannte Probleme ein und stelle einige Lösungen bereit.<br />
<span id="more-307"></span><br />
<strong>Achtung:</strong> Bitte erst lesen und dann loslegen, keine Garantie auf zerstörte Daten! Sicherung anlegen!</p>
<ol>
<li>Zu erstes erst einmal einen neues Blog auf dem neuen Webspace <a href="http://wordpress-deutschland.org/installation">installieren</a>. Die folgenden Schritte importieren/ überschreiben dann die Daten in die bestehenden Tabellen.</li>
<li>Als nächstes müssen wir die bestehenden Daten aus der „alten“ Datenbank exportieren. Dazu kann man das Plugin <a href="http://bueltge.de/datenbank-sichern/9">WP DatabaseBackup</a> nutzen, oder den Export mit Hilfe eines mySQL-Tools bewerkstelligen. Im weiteren arbeite ich dabei mit <a href="http://www.phpmyadmin.net/">phpMyAdmin</a>, welches ein Freeware-Tool ist und von vielen Hosting-Providern angeboten wird.</li>
<li>Den Export der Datenbank erläutere ich im Artikel „<a href="http://bueltge.de/wp-datenbank-backup-mit-phpmyadmin/97">Datenbank Backup mit phpMyAdmin</a>“ genauer. Da gibt es auch entsprechende Screenshots und nötige Erklärungen.</li>
<li>Nun haben die Daten als SQL-Datei lokal vorliegen. Nun müssen wir die Daten in die neue Datenbank importieren und dabei gibt es nun eventuelle Probleme.</li>
<li>Wenn nun das neue Blog auf dem neuen Webspace installiert ist, müssen wir die Daten importieren. Dazu ist es wichtig, dass ihr den Präfix kennt, der in der <code>config.php</code> von WP steht. Im Normalfall ist dies wp_ (Bsp.: wp_post2cat oder wordpress_post2cat). Solltet ihr diesen verändert haben bzw. sollte sich der Präfix eures alten Blogs vom neuen unterscheiden, so müssen in der SQL-Datei die Daten verändert ist. Dazu eignet sich jeder bessere Editor - zum Beispiel <a href="http://notepad-plus.sourceforge.net/de/site.htm">Notepad++</a>, mit dem wir nun nach dem alten Präfix suchen und mit dem neuen ersetzen. Damit sollte selbst eine große SQL-Datei schnell verändert sein.<br />
Sucht mit dem Editor nach<br />
<code>`ALTER_PRÄFIX_</code><br />
und ersetzt es mit dem neuen Präfix.
</li>
<li>Im weiteren kann es zu Problemen kommen, wenn die Datei zu groß ist. Das ist vorallem dann so, wenn Statistik-Plugins laufen und alles mögliche in der DB ablegen. Überlegt also im Gegenzug, was ihr für Daten benötigt - muss wirklich alles rein. Das ist von Provider zu Provider unterschiedlich, aber in der Regel kann man nie mehr als 1MByte an Daten importieren. Das führt nun dazu, dass wir die Datei, falls sie größer ist, aufspalten müssen. Dazu laden wir die SQL-Datei wieder in unseren Editor des Vertrauens und splitten an folgenden Punkten, so dass wir am Ende mehrere Dateien haben, die die max. erlaubte Größe nicht überschreiten.
<p><strong>Beispiel für Tabelle post2cat:</strong></p>
<pre><code>
-- 
-- Tabellenstruktur für Tabelle `wp_post2cat`
-- 

DROP TABLE IF EXISTS `wp_post2cat`;
CREATE TABLE `wp_post2cat` (
  `rel_id` bigint(20) NOT NULL auto_increment,
  `post_id` bigint(20) NOT NULL default '0',
  `category_id` bigint(20) NOT NULL default '0',
  PRIMARY KEY  (`rel_id`),
  KEY `post_id` (`post_id`,`category_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci AUTO_INCREMENT=13 ;

-- 
-- Daten für Tabelle `wp_post2cat`
-- 

INSERT INTO `wp_post2cat` (`rel_id`, `post_id`, `category_id`) VALUES (1, 1, 1);
INSERT INTO `wp_post2cat` (`rel_id`, `post_id`, `category_id`) VALUES (5, 6, 1);
INSERT INTO `wp_post2cat` (`rel_id`, `post_id`, `category_id`) VALUES (3, 4, 1);
...
INSERT INTO `wp_post2cat` (`rel_id`, `post_id`, `category_id`) VALUES (11, 12, 1);

-- --------------------------------------------------------
</code></pre>
<p>Nun heißt es also die Tabellen in eigene Dateien zu legen, wie im obigen Beispiel zu sehen ist, endet jeder Datensatz immer mit<br />
<code>-- --------------------------------------------------------</code><br />
Danach folgt die nächste Tabelle und die zugehörigen Daten.</p>
<p><strong>Wichtig:</strong> legt vorher eine Sicherung der Originaldatei an!
</li>
<li>Nun werden die Daten in die neue Datenbank importiert. Auch dazu nutze ich im folgenden phpMyAdmin. Wer bei seinem Hoster dieses Tool nicht zur Verfügung hat, der kann es auch in seinem Webspace selber einrichten, aber aufpassen - mit einem Passwort schützen!<br />
Wenn der Link „Importieren“ zur Verfügung steht, dann kann man damit direkt die Datei wählen und alles andere macht phpMyAdmin.<br />
<a href="http://bueltge.de/wp-content/images/phpmyadmin/sql-import1.png"><img class="centered" src="http://bueltge.de/wp-content/images/phpmyadmin/thumb-sql-import1.png" alt="Importieren mit phpMyAdmin" /></a><br />
Sollte diese Möglichkeit nicht bestehen, dann gehen wir über „SQL“, ganz oben in den Tabs.<br />
<a href="http://bueltge.de/wp-content/images/phpmyadmin/sql-import2.png"><img class="centered" src="http://bueltge.de/wp-content/images/phpmyadmin/thumb-sql-import2.png" alt="SQLmit phpMyAdmin" /></a>
</li>
<li>Wenn man nun mit SQl arbeiten muss, so müssen die Anweisungen aus dem SQL-File per Copy (Strg+C)/Paste (Strg+V) in das Fenster von phpMyAdmin übertragen werden und OK klicken.</li>
<li>Nachdem man alle Daten in die neue Datenbank importiert hat, gehen wir in das Blog zurück und schauen mal, ob alles vorhanden ist und ohne Probleme läuft.</li>
</ol>
<h3>weitere Probleme:</h3>
<p>Unter anderem kann es zu Problemen mit Sonderzeichen kommen, heist wir sehen in der Ausgabe kein Ü sondern kryptische Zeichen. Die können wir mit einem kleinen Script beheben. Sollen alle Tabellen in der Datenbank durchforstet werden und alle Sonderzeichen sollen UTF-8 codiert sein, so ist das <a href="http://bueltge.de/wp-script-zur-zeichensatzconvertierung/137">Script content encoding</a> zu empfehlen.<br />
Die Mime-Deklarierung eures Blogs findet ihr bei WP unter <em>Einstellungen</em> --> <em>Lesen</em> - UTF-8 ist Standard und auch zu empfehlen.</p>
<p>Will man nur einzelne Tabellen durchforsten und gegebenfalls die Zeichen ändern, so kann der folgende Code genutzt werden - Kopieren, in einer php-Datei speichern und in den Ordner wp-content des Blogs kopieren, oder <a href="http://bueltge.de/wp-content/download/wp/convert_encoding_table.phps">downloaden</a>. </p>
<p>Die Datei dann über den Browser aufrufen. Die Datei für jede Tabelle anpassen.</p>
<pre><code>
&lt;?php
	/**************************************************
		Convert WP Content encoding
	
		BASISSCRIPT: Markus Tacker &lt;m@tacker.org&gt;
		Modified:    Frank Bueltge &lt;bueltge.de&gt;
	***************************************************/

	// New coding
	$new_encoding = 'UTF-8';

	// WordPress config
	require_once '../wp-config.php';

	// Connect DB
	$DBC = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
	mysql_select_db(DB_NAME, $DBC);

	$table = $wpdb-&gt;prefix.'comments';

	echo '&lt;pre&gt;';
		$result_data = mysql_query('SELECT * FROM ' . $table);
		echo $table . ' ';
		while ($data = mysql_fetch_assoc($result_data)) {
			$sql = 'UPDATE ' . $table;
			// Build set
			$set = array();
			foreach ($data as $key =&gt; $val) {
				$set[] = ek($key) . '=' . ev(mb_convert_encoding($data[$key], $new_encoding));
			}
			$sql .= ' SET ' . join(', ', $set);
			// Build where
			$where = array();
			foreach ($data as $key =&gt; $val) {
				if (!preg_match('/[0-9]+/', $val)) continue; // Use only numbers in where
				$where[] = ek($key) . '=' . ev($data[$key]);
			}
			$sql .= ' WHERE ' . join(' AND ', $where);
			$query_result = mysql_query($sql, $DBC);
			if (!$query_result) {
				die('Invalid query: ' . mysql_error());
			}
			echo '.';
			flush();
		}
		echo &quot;\n&quot;;
	echo 'All done.&amp;gt;/pre&gt;';

	// Disconnect DB
	mysql_close($DBC);

	function ek($string)
	{
		global $DBC;
		return &quot;`&quot; . mysql_real_escape_string($string, $DBC) . &quot;`&quot;;
	}

	function ev($string)
	{
		global $DBC;
		return &quot;'&quot; . mysql_real_escape_string($string, $DBC) . &quot;'&quot;;
	}
?&gt;
</code></pre>
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://bueltge.de/umzug-des-wordpress-blogs-auf-einen-neuen-hosting-provider/307/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/umzug-des-wordpress-blogs-auf-einen-neuen-hosting-provider/307/feed/</wfw:commentRss>
		<slash:comments>42</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/phpmyadmin/thumb-sql-import1.png" />
		<media:content url="http://bueltge.de/wp-content/images/phpmyadmin/thumb-sql-import1.png" medium="image">
			<media:title type="html">Importieren mit phpMyAdmin</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/images/phpmyadmin/thumb-sql-import2.png" medium="image">
			<media:title type="html">SQLmit phpMyAdmin</media:title>
		</media:content>
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>WP - SpamViewer zum Löschen und Retten von Spam (Plugin)</title>
		<link>http://bueltge.de/wp-spamviewer-zum-loeschen-und-retten-von-spam/255/</link>
		<comments>http://bueltge.de/wp-spamviewer-zum-loeschen-und-retten-von-spam/255/#comments</comments>
		<pubDate>Tue, 17 Oct 2006 14:07:01 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Plugin]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Datenbank]]></category>
		<category><![CDATA[Spam]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://bueltge.de/?p=255</guid>
		<description><![CDATA[In einem älteren Beitrag &#8211; Trackback Validator Spam Cleaner Plugin &#8211; hatte ich bereits auf ein Plugin hingewiesen, mit dem ich die Einträge verwalte, die das Plugin TrackbackValidator erkennt und speichert. Es kommt doch immer mal vor, dass korrekte Trackbacks als Spam erkannt werden und so nicht den Weg in den Kommentarbereich von WordPress finden. [...]]]></description>
			<content:encoded><![CDATA[<p>In einem älteren Beitrag &#8211; <a href="http://bueltge.de/wp-trackback-validator-spam-cleaner-plugin/243/">Trackback Validator Spam Cleaner Plugin</a> &#8211; hatte ich bereits auf ein Plugin hingewiesen, mit dem ich die Einträge verwalte, die das Plugin <a href="http://seclab.cs.rice.edu/proj/trackback/trackback-validator-plugin">TrackbackValidator</a> erkennt und speichert. Es kommt doch immer mal vor, dass korrekte Trackbacks als Spam erkannt werden und so nicht den Weg in den Kommentarbereich von WordPress finden. Das Plugin kann die falschen Einträge retten und unnötige Einträge in der Datenbank löschen, um diese klein zu halten.<br />
Nachdem ich dann mit einigen WordPress-Nutzern, Danke dabei an <a href="http://sw-guide.de/weblog/2006-10-01/erweiterung-fuer-wordpress-trackback-validation-plugin/">Michael</a>, <a href="http://discobeats.de/">Matthias</a>, <a href="http://basicthinking.de/">Robert</a> und <a href="http://www.eisregen1986.de.vu/">Fabian</a>, am testen war, sind gleich mehrere Wünsche hinzugekommen und so musste ich das Konzept umstellen und hier ist nun ein Plugin für alle WP-User, die ihre Datenbank pflegen wollen und leidlich von Spam geplagt sind.</p>
<h3>Anforderungen:</h3>
<p>Der SpamViewer arbeitet unter WP 1.5* und WP 2.* inkl. 2.5. Erkannt wird Spam in der Tabelle <code>comments</code> und <code>tb_data</code>.</p>
<h3>Screenshot:</h3>
<p><img class="centered" src="http://bueltge.de/wp-content/images/spamviewer.png" alt="SpamViewer Screenshot" /></p>
<h3>Was macht das Plugin?</h3>
<p>Das Plugin prüft in diesen beiden Tabellen, insofern diese vorhanden sind (wobei comments eigentlich immer da ist), ob es Einträge gibt, die als Spam deklariert sind. Dazu zählen unter anderem auch Einträge die z.B. Plugins wie <a href="http://akismet.com/">Akismet</a> oder <a href="http://unknowngenius.com/blog/wordpress/spam-karma/">SpamKarma</a> erkennen.<br />
Die gefundenen Einträge werden dann gelistet und insofern man sie retten kann, erscheint eine Checkbox vor jedem Eintrag. Wird dieser Aktiviert, so kann mit Hilfe des Buttons &#8220;Unspam mich!&#8221; der Eintrag als normaler Kommentar in die Warteschlange geschoben werden.<br />
Außerdem existieren Buttons, um die Einträge in der Datenbank zu löschen. <strong>Achtung, diese ist nicht rückgängig zu machen</strong> &#8211; also Vorsicht und erst prüfen, ob sie wirklich nicht benötigt werden.</p>
<p>Das Plugin listet Track-, Pingback mit unterschiedlichen Farben um die Erkennung zu erleichtern. Ebenso versucht es fehlgeleitete Trackbacks zu erkennen und farbig darzustellen.</p>
<h3>Installation:</h3>
<ol>
<li>Die zip-Datei downloaden und entpacken</li>
<li>Kopiere die Datei in dein Plugin-Verzeichnis (/wp-content/plugins/), kein Unterverzeichnis</li>
<li>Kopiere das Sprachfile spamviewer-de_DE.mo hinzu, wenn du eine deutsche Oberfläche wünschst</li>
<li>Aktiviere das Plugin im Adminbereich deines Blogs</li>
<li>Nun ist unter „Verwalten“ (WP <2.*) „Kommentare“ (WP >2.*) einer neuer Button „SpamV(0)“ zu finden</li>
</ol>
<h3>Download:</h3>
<form class="spenden" action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="amount" id="eins" value="" /><br />
<input type="hidden" name="cmd" value="_xclick" /><input type="hidden" name="business" value="frank@bueltge.de" /><input type="hidden" name="item_name" value="Spende bueltge.de" /><input type="hidden" name="no_shipping" value="1" /><input type="hidden" name="return" value="http://bueltge.de/" /><input type="hidden" name="cancel_return" value="http://bueltge.de/" /><input type="hidden" name="currency_code" value="EUR" /><input type="hidden" name="tax" value="0" /><input type="hidden" name="bn" value="PP-DonationsBF" /><input type="image" src="http://bueltge.de/wp-content/images/donate.png" style="border:0" name="submit" alt="Zahlen Sie mit PayPal - schnell, kostenlos und sicher!" /><br />
</form>
<p><strong>Ist die Arbeit nicht 1 Euro wert?</strong><br />
Jede Spende wird dankbar angenommen und ermöglicht das weitere Arbeiten an freier Software.<br />
Möchtest du mehr oder anders spenden, so besuche meine <a href="http://bueltge.de/wunschliste/">Wunschliste</a>.</p>
<p>
Download als zip-Datei (incl. Spachfiles): <a href="http://downloads.wordpress.org/plugin/spamviewer.zip" >downloads.wordpress.org/plugin/spamviewer.zip</a> &#8211; 45 KByte</p>
<h3>Historie:</h3>
<ul>
<li>0.6 &#8211; neues Konzept, derzeit in der Beta, alles was irgendwie in _comments oder _tb_data als Spam liegt kann gerettet oder gelsöcht werden</li>
<li>0.68 &#8211; eine Version läuft</li>
<li>0.7 &#8211; Testroutinen entfernt und Sprache angepasst</li>
<li>0.8 &#8211; deustches Sprachfile (pot), original php-Datei in englisch</li>
<li>0.9 &#8211; WP 2.1 kompatibel, Neue Abfrage zu Trackback-Tabelle beim Retten von Spam</li>
<li>0.91 &#8211; Zusätzlicher UnSpam-Button, falls es zu Fehlern beim Auslesen von Spam kommt</li>
<li>0.92 &#8211; Neuer Code für codex-Standard und weniger globale Variablen</li>
<li>0.94 &#8211; Berichtigung im Code für Tabelle tb_data</li>
<li>0.95 &#8211; Zusätzliche Abfragen und die Deaktivierung von Code in Spam-Kommentaren</li>
<li>0.96 &#8211; Erkennung von Trackbacks, Pingbacks und Aussage, ob es eventuell kein Spam sein sollte</li>
<li>1.0 &#8211; &#8220;schönes Englisch&#8221;, Auflistung der Trackback und Pingbacks vor KommentarSpam, neue Sprachdateien für deutsch; Vielen Dank an <a href="http://www.sadlyno.com">Sadly</a> für die englsiche Überarbeitung</li>
<li>1.2 &#8211; Grouping per Author-ID, Integration in den Kommentarbereich</li>
<li>1.3 &#8211; Anpassungen der Tabelle im Layout</li>
<li>1.4 &#8211; Kleinigkeiten im Code</li>
<li>1.5 &#8211; WP 2.3 und <code>tb_data</code> gefixt</li>
<li>1.6 &#8211; WP 2.5 Design-fähig</li>
<li>1.6.3 &#8211; WP 2.6 fähig, Optimnierung der Tabellen nach dem Löschen von Spam-Einträgen</li>
</ul>
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://bueltge.de/wp-spamviewer-zum-loeschen-und-retten-von-spam/255/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/wp-spamviewer-zum-loeschen-und-retten-von-spam/255/feed/</wfw:commentRss>
		<slash:comments>85</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/spamviewer.png" />
		<media:content url="http://bueltge.de/wp-content/images/spamviewer.png" medium="image">
			<media:title type="html">SpamViewer Screenshot</media:title>
		</media:content>
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>WP - Tabellenübersicht WordPress 2.*</title>
		<link>http://bueltge.de/wp-tabellenuebersicht-wordpress-2/209/</link>
		<comments>http://bueltge.de/wp-tabellenuebersicht-wordpress-2/209/#comments</comments>
		<pubDate>Fri, 21 Jul 2006 08:13:49 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Tipps]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Datenbank]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://www.bueltge.de/?p=209</guid>
		<description><![CDATA[Im Laufe eines Bloggerlebens mit Hilfe von WordPress nimmt man in der Regel auch Veränderungen an seinem Blog vor. Da werden Plugins getestet und neue Ideen ausprobiert - dies führt allerdings zu einigen Einträgen in der Datenbank, die an sich ja möglichst Schlank sein sollte. Nun ist es so, dass sie Plugins, die nicht benötigt [...]]]></description>
			<content:encoded><![CDATA[<p>Im Laufe eines Bloggerlebens mit Hilfe von WordPress nimmt man in der Regel auch Veränderungen an seinem Blog vor. Da werden Plugins getestet und neue Ideen ausprobiert - dies führt allerdings zu einigen Einträgen in der Datenbank, die an sich ja möglichst Schlank sein sollte. Nun ist es so, dass sie Plugins, die nicht benötigt werden trotzdem ihre Einträge in der DB lassen, vorallem die Tabelle _options flutet bei so einigen Usern über.<br />
Wer sich also auf die Suche macht und dabei die unnötigen Einträge in seiner DB löschen möchte, findet nun hier eine Übersicht der Tabellen und ihrer Datensätze, die standardmäßig von WP angelegt werden und somit in jedem Fall benötigt werden.</p>
<p><strong>Vorsicht:</strong> In jedem Fall ist vor so einem Eingriff ein Backup der Datenbank zu machen, z.b. mit phpMyAdmin - <a href="http://bueltge.de/wp-datenbank-backup-mit-phpmyadmin/97/">Anleitung hier</a> !</p>
<p>Folgende <strong>Tabellen</strong> werden bei einer Neuinstallation erstellt: </p>
<ul>
<li>Table_Präfix_categories</li>
<li>Table_Präfix_comments</li>
<li>Table_Präfix_linkcategories</li>
<li>Table_Präfix_links</li>
<li>Table_Präfix_options</li>
<li>Table_Präfix_post2cat</li>
<li>Table_Präfix_postmeta</li>
<li>Table_Präfix_posts</li>
<li>Table_Präfix_usermeta</li>
<li>Table_Präfix_users</li>
</ul>
<p>Die 10 Tabellen enthalten folgende <strong>Datenfelder</strong> mit folgenden <strong>Datensätzen</strong> (Die Datensätze habe ich nur für _options aufgelistet, da die anderen Datensätze in den übrigen Tabellen entweder leer sind, bei Neuinstallation, oder deren Inhalte über das Admin-Panel von WP verwaltet werden können.):</p>
<ul>
<li><strong>Table_Präfix_categories</strong></li>
<ul>
<li>cat_ID</li>
<li>cat_name</li>
<li>category_nicename</li>
<li>category_description</li>
<li>category_parent</li>
<li>category_count</li>
</ul>
</ul>
<ul>
<li><strong>Table_Präfix_comments</strong></li>
<ul>
<li>comment_ID</li>
<li>comment_post_ID</li>
<li>comment_author</li>
<li>comment_author_email</li>
<li>comment_author_url</li>
<li>comment_author_IP</li>
<li>comment_date</li>
<li>comment_date_gmt</li>
<li>comment_content</li>
<li>comment_karma</li>
<li>comment_approved</li>
<li>comment_agent</li>
<li>comment_type</li>
<li>comment_parent</li>
<li>user_id</li>
</ul>
</ul>
<ul>
<li><strong>Table_Präfix_linkcategories</strong></li>
<ul>
<li>cat_id</li>
<li>cat_name</li>
<li>auto_toggle</li>
<li>show_images</li>
<li>show_description</li>
<li>show_rating</li>
<li>show_updated</li>
<li>sort_order</li>
<li>sort_desc</li>
<li>text_before_link</li>
<li>text_after_link</li>
<li>text_after_all</li>
<li>list_limit</li>
</ul>
</ul>
<ul>
<li><strong>Table_Präfix_links</strong></li>
<ul>
<li>link_id</li>
<li>link_url</li>
<li>link_name</li>
<li>link_image</li>
<li>link_target</li>
<li>link_category</li>
<li>link_description</li>
<li>link_visible</li>
<li>link_owner</li>
<li>link_rating</li>
<li>link_updated</li>
<li>link_rel</li>
<li>link_notes</li>
<li>link_rss</li>
</ul>
</ul>
<ul>
<li><strong>Table_Präfix_options</strong></li>
<ul>
<li>option_id</li>
<li>blog_id</li>
<li>option_name</li>
<li>option_can_override</li>
<li>option_type</li>
<li>option_value</li>
<li>option_width</li>
<li>option_height</li>
<li>option_description</li>
<li>option_admin_level</li>
<li>autoload</li>
<p>		In der _options gibt es 63 Datensatzeinträge</p>
<ul>
<li>1  	siteurl</li>
<li>2 	blogname</li>
<li>3 	blogdescription</li>
<li>5 	users_can_register</li>
<li>6 	admin_email</li>
<li>7 	start_of_week</li>
<li>8 	use_balanceTags</li>
<li>9 	use_smilies</li>
<li>10 	require_name_email</li>
<li>11 	comments_notify</li>
<li>12 	posts_per_rss</li>
<li>13 	rss_excerpt_length</li>
<li>14 	rss_use_excerpt</li>
<li>15 	mailserver_url</li>
<li>16 	mailserver_login</li>
<li>17 	mailserver_pass</li>
<li>18 	mailserver_port</li>
<li>19 	default_category</li>
<li>20 	default_comment_status</li>
<li>21 	default_ping_status</li>
<li>22 	default_pingback_flag</li>
<li>23 	default_post_edit_rows</li>
<li>24 	posts_per_page</li>
<li>25 	what_to_show</li>
<li>26 	date_format</li>
<li>27 	time_format</li>
<li>28 	links_updated_date_format</li>
<li>29 	links_recently_updated_prepend</li>
<li>30 	links_recently_updated_append</li>
<li>31 	links_recently_updated_time</li>
<li>32 	comment_moderation</li>
<li>33 	moderation_notify</li>
<li>34 	permalink_structure</li>
<li>35 	gzipcompression</li>
<li>36 	hack_file</li>
<li>37 	blog_charset</li>
<li>38 	moderation_keys</li>
<li>39 	active_plugins</li>
<li>40 	home</li>
<li>41 	category_base</li>
<li>42 	advanced_edit</li>
<li>42 	ping_sites</li>
<li>43 	comment_max_links</li>
<li>44 	gmt_offset</li>
<li>45 	default_email_category</li>
<li>46 	recently_edited</li>
<li>47 	use_linksupdate</li>
<li>48 	template</li>
<li>49 	stylesheet</li>
<li>50 	comment_whitelist</li>
<li>51 	page_uris</li>
<li>52 	blacklist_keys</li>
<li>53 	comment_registration</li>
<li>54 	open_proxy_check</li>
<li>55 	rss_language</li>
<li>56 	html_type</li>
<li>57 	use_trackback</li>
<li>58 	default_role</li>
<li>59 	rich_editing</li>
<li>60 	db_version</li>
<li>61 	uploads_use_yearmonth_folders</li>
<li>62 	upload_path</li>
<li>63 	TABLE_PRÄFIX_user_roles</li>
</ul>
</ul>
</ul>
<ul>
<li><strong>Table_Präfix_post2cat</strong></li>
<ul>
<li>rel_id</li>
<li>post_id</li>
<li>category_id</li>
</ul>
</ul>
<ul>
<li><strong>Table_Präfix_postmeta</strong></li>
<ul>
<li>meta_id</li>
<li>post_id</li>
<li>meta_key</li>
<li>meta_value</li>
</ul>
</ul>
<ul>
<li><strong>Table_Präfix_posts</strong></li>
<ul>
<li>ID</li>
<li>post_author</li>
<li>post_date</li>
<li>post_date_gmt</li>
<li>post_content</li>
<li>post_title</li>
<li>post_category</li>
<li>post_excerpt</li>
<li>post_status</li>
<li>comment_status</li>
<li>ping_status</li>
<li>post_password</li>
<li>post_name</li>
<li>to_ping</li>
<li>pinged</li>
<li>post_modified</li>
<li>post_modified_gmt</li>
<li>post_content_filtered</li>
<li>post_parent</li>
<li>guid</li>
<li>menu_order</li>
<li>post_type</li>
<li>post_mime_type</li>
<li>comment_count</li>
</ul>
</ul>
<ul>
<li><strong>Table_Präfix_usermeta</strong></li>
<ul>
<li>umeta_id</li>
<li>user_id</li>
<li>meta_key</li>
<li>meta_value</li>
</ul>
</ul>
<ul>
<li><strong>Table_Präfix_users</strong></li>
<ul>
<li>ID</li>
<li>user_login</li>
<li>user_pass</li>
<li>user_nicename</li>
<li>user_email</li>
<li>user_url</li>
<li>user_registered</li>
<li>user_activation_key</li>
<li>user_status</li>
<li>display_name</li>
</ul>
</ul>
<h3>Tipp:</h3>
<p>Die Datenbank nach dem Aufräumen optimieren - <a href="http://bueltge.de/wp-datenbank-optimieren/177/">Anleitung hier</a>.<br />
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://bueltge.de/wp-tabellenuebersicht-wordpress-2/209/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/wp-tabellenuebersicht-wordpress-2/209/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/favicon.ico" />
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>Generelle Anforderungen an Datenbanken</title>
		<link>http://bueltge.de/generelle-anforderungen-an-datenbanken/193/</link>
		<comments>http://bueltge.de/generelle-anforderungen-an-datenbanken/193/#comments</comments>
		<pubDate>Mon, 03 Jul 2006 06:19:33 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[Webküche]]></category>
		<category><![CDATA[Datenbank]]></category>

		<guid isPermaLink="false">http://www.bueltge.de/?p=193</guid>
		<description><![CDATA[Da die angestrebte Lösung im Verbund mit anderen Applikationen arbeiten soll, reicht ein einfaches Dateisystem für die Datenverwaltung nicht aus. Folgende Aufgaben muss die Datenverwaltung ermöglichen: Einzelteil- und Abhängigkeitsabbildung Produkte bestehen in der Regel aus verschiedenen Baugruppen. Diese Baugruppen beinhalten Bauteile, können aber auch weitere Baugruppen enthalten. Sinnvoll ist es also, diese Abhängigkeit in der [...]]]></description>
			<content:encoded><![CDATA[<p>Da die angestrebte Lösung im Verbund mit anderen Applikationen arbeiten soll, reicht ein einfaches Dateisystem für die Datenverwaltung nicht aus. Folgende Aufgaben muss die Datenverwaltung ermöglichen:</p>
<h3>Einzelteil- und Abhängigkeitsabbildung</h3>
<p>Produkte bestehen in der Regel aus verschiedenen Baugruppen. Diese Baugruppen beinhalten Bauteile, können aber auch weitere Baugruppen enthalten. Sinnvoll ist es also, diese Abhängigkeit in der Datenbank darzustellen und die einzelnen Baugruppen und Bauteile so zu verwalten, dass eine Recherche einfach möglich ist. Um die Wiederverwendung zu ermöglichen muss sichergestellt sein, einzelne Teile und Baugruppen wieder zu finden, gleichgültig in welchem Abschnitt des Produktes sie sich finden.</p>
<h3>Reduktion der Datenredundanz</h3>
<p>Als Datenredundanz bezeichnet man das mehrfach Vorhandensein von Daten. Eine Datenredundanz kann schnell zu einer Dateninkonsistenz führen. In diesem Zustand sind zwei verschiedene Daten als gültig angesehen, die nicht miteinander vereinbar sind. Die Daten sind widersprüchlich und nicht mehr eindeutig. Die zu verwaltenden Daten haben in der Regel einen enormen Umfang, da sie aus verschiedenen Zweigen des Unternehmens mit verschiedenen Applikationen eingepflegt werden. Besonders CAD-Datenbestände haben einen großen Umfang. Um die Datenredundanz möglichst gering zu halten ist es nötig, dass ein Objekt in einer Datenbank nur einmal gespeichert wird. Gleichzeitig muss es aber auch möglich sein, ein mehrfach verwendetes Teil, ein Wiederholteil, entsprechend der Forderungen abzuändern, ohne dass dabei andere Produkte, welche dieses Bauteil enthalten, beeinflusst werden.</p>
<h3>Klassifizierung</h3>
<p>Als Klassifizierung oder Klassifikation bezeichnet man einen Vorgang oder eine Methode zur Einteilung von Objekten in Klassen oder Kategorien. /57/<br />
Als klassifizierte Objekte können beliebige Sachverhalte oder Gegenstände genutzt werden. Sie können nach ihrem Merkmal oder ihrer Eigenschaft unterschieden werden.<br />
Die wissenschaftliche Methodik ist in vielen Lebensbereichen Grundlage des menschlichen Zusammenlebens. Beispielsweise werden gehörte Töne und gelesene Buchstaben zu Worten klassifiziert. Weiterhin werden die Worte zu einer Bedeutung klassifiziert. Dies geschieht automatisch, unbewusst in der Denkweise des Menschen.<br />
Um eine effiziente Suche in der Datenbank zu ermöglichen, müssen die Daten nach entsprechenden Kriterien und Merkmalen klassifiziert werden. Es darf keine Produkthierarchie, Beziehung der Produkte untereinander, durchgeführt werden. Trotzdem können Produkte untereinander voneinander abhängig sein, ihre Merkmale und Klassen werden referenziert. Mit Hilfe dieser Merkmale und Klassen können Produkte erstellt werden. Sie können beispielsweise in anderen Produkten als Baugruppe verwendet werden. Die Klassifizierung basiert aber auf den Merkmalen und nicht auf Basis der unterschiedlichen Produkte. Die folgende Erläuterung zeigt kurz, warum es nicht sinnvoll ist, eine Produkthierarchie durchzuführen.<br />
Die drei wichtigsten Ebenen der Produkthierarchie sind Produktfamilie, Produktklasse und Produktlinie. Alle Produkte, die ein bestimmtes Bedürfnis erledigen können werden zu der Produktfamilie gezählt. Die Produkte, die gleiche bzw. ähnliche Eigenschaften besitzen, werden zu der Produktklasse gezählt. Die Produktklassen befinden sich innerhalb der Produktfamilie. Gruppen von Produkten die ähnliche Merkmale aufweisen gehören zu einer Produktlinie.<br />
Solch eine Hierarchie ist nicht ausreichend, da nicht alle Merkmale berücksichtigt werden. Auf Basis der Normenreihe ISO 13584 können Merkmale und Merkmallisten im gesamten Produktlebenszyklus verwendet werden. Alle Merkmale und Merkmallisten basieren auf demselben Datenmodell und sind exakt beschrieben. Unklarheiten werden vermieden. Elektronische Prozesse sind einfacher und effizienter.</p>
<h3>Netzwerkapplikation</h3>
<p>Da das System die Arbeit mehrerer Unternehmen und Mitarbeiter fordert, entstehen die Daten an verschiedenen Stellen. Diese Daten müssen gemeinschaftlich gesammelt und abgelegt werden. Sie werden jedoch nicht zwingend an gemeinsamer Stelle gespeichert. Sinnvoll ist es allerdings, die Daten physikalisch nahe am Standort zu halten, wo sie am häufigsten benötigt werden. Allerdings muss ein Zugriff von jeder Stelle gewährleistet werden.</p>
<h3>Datensicherheit und Datenschutz</h3>
<p>Die gespeicherten Daten enthalten firmeninterne Informationen, die vor Missbrauch geschützt werden müssen. Durch die eigentliche Funktion der Datenbank, alle Daten an verschiedenen Orten zu Verfügung  zu stellen, spielt der Datenschutz eine wichtige Rolle. Es muss sichergestellt werden, dass unbefugte Zugriffe nicht möglich sind. Gleichzeitig müssen die Zugriffsrechte verschiedener Anwender und Anwendergruppen konfigurierbar sein. Es müssen unterschiedliche Zugriffsrechte verwaltet werden.<br />
Ebenso wichtig ist der entsprechende Freigabemechanismus, das heißt eine kontrollierte Weitergabe der Daten. Beispielsweise muss bei Zugriff eines Anwenders oder einer Anwendergruppe der Zugriff für die anderen Anwender bzw. Anwendergruppen gesperrt sein. Ohne entsprechendes Datenbankmanagement ist eine solche Aufgabe nicht erfüllbar.</p>
<h3>Lebenszyklus eines Produktes</h3>
<p>Durch die immer höhere Straffung von Time to Market , ist eine kontinuierliche Begleitung des Lebenszyklus des Produktes notwendig. Durch die Forderung Entwicklungszeiten zu verkürzen und durch das parallele Vorgehen bei der Entwicklung eines Produktes ist eine Managementapplikation unumgänglich. Dazu gehört das kontrollierte Weitergeben von Daten und Informationen, die das Produkt betreffen.<br />
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://bueltge.de/generelle-anforderungen-an-datenbanken/193/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/generelle-anforderungen-an-datenbanken/193/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/favicon.ico" />
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>WP - Datenbank optimieren</title>
		<link>http://bueltge.de/wp-datenbank-optimieren/177/</link>
		<comments>http://bueltge.de/wp-datenbank-optimieren/177/#comments</comments>
		<pubDate>Fri, 19 May 2006 18:44:39 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Tipps]]></category>
		<category><![CDATA[Webküche]]></category>
		<category><![CDATA[Datenbank]]></category>
		<category><![CDATA[phpMyAdmin]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.bueltge.de/?p=177</guid>
		<description><![CDATA[Mit Hilfe von phpMyAdmin kann man durch ein klein wenig Handarbeit seine Datenbankperformance verbessern. Das DB-Tool bietet dazu einige nützliche Funktionen. Wenige Schritte führen zu großer Wirkung. Ich habe bisher keine Messwerte, sondern mache dies nur immer mal, wenn es mir in den Sinn kommt. Deshalb habe ich nur Gefühlswerte. Bei Weblog Tools Collection ist [...]]]></description>
			<content:encoded><![CDATA[<p>Mit Hilfe von phpMyAdmin kann man durch ein klein wenig Handarbeit seine Datenbankperformance verbessern. Das DB-Tool bietet dazu einige nützliche Funktionen. Wenige Schritte führen zu großer Wirkung. Ich habe bisher keine Messwerte, sondern mache dies nur immer mal, wenn es mir in den Sinn kommt. Deshalb habe ich nur Gefühlswerte. Bei <a href="http://weblogtoolscollection.com/archives/2005/04/06/optimize-your-database/">Weblog Tools Collection</a> ist dazu ein wenig mehr nach zu lesen.</p>
<p>Wähle mit Hilfe von phpMyAdmin deine Datenbank. Liste deine Tabellen und wähle "Alle auswählen". Nun die Tabellen analysieren, im rechten Feld wählen "Analysiere Tabelle". Daraufhin nochmal das ganze und die Tabbeln prüfen - "Prüfe Tabelle".<br />
In beiden Fällen erhaltet ihr eine detaillierte Ergebnisliste.<br />
<a href="http://bueltge.de/wp-content/images/phpmyadmin/db-optimieren.jpg"><img class="centered" src="http://bueltge.de/wp-content/images/phpmyadmin/thump-db-optimieren.jpg" alt="Screenshot DB optimieren" title="Click für Zoom" /></a><br />
Daraufhin kann die Optimierung mit dem selben Rhythmus durchgeführt werden - "Optimiere Tabelle".</p>
<p><strong>Achtung:</strong><br />
Im Vorfeld sollte in jedem Fall eine Sicherung der Datenbank angelegt werden - mehr dazu gibt es im Artikel "<a href="http://bueltge.de/wp-datenbank-backup-mit-phpmyadmin/97/">Datenbank Backup mit phpMyAdmin</a>".<br />
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://bueltge.de/wp-datenbank-optimieren/177/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/wp-datenbank-optimieren/177/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/phpmyadmin/thump-db-optimieren.jpg" />
		<media:content url="http://bueltge.de/wp-content/images/phpmyadmin/thump-db-optimieren.jpg" medium="image">
			<media:title type="html">Click für Zoom</media:title>
		</media:content>
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>WP - Passwort wieder herstellen</title>
		<link>http://bueltge.de/wp-passwort-wieder-herstellen/139/</link>
		<comments>http://bueltge.de/wp-passwort-wieder-herstellen/139/#comments</comments>
		<pubDate>Fri, 03 Feb 2006 11:36:34 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Tipps]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Datenbank]]></category>
		<category><![CDATA[md5]]></category>
		<category><![CDATA[passwort]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://www.bueltge.de/wp-passwort-wieder-herstellen/139/</guid>
		<description><![CDATA[Passwörter sind so eine Sache, einerseits sorgen sie für einen einfachen geschützten Zugriff, andererseits muss man sich die Dinger auch merken. Wer auf seinem WP-Blog das Passwort vergessen hat, sieht erstmal alt aus, denn ohne die Admin-Oberfläche ist nicht viel. Eine einfache Möglichkeit, sich ein neues Passwort zu vergeben, bzw. das alte wieder herzustellen ist [...]]]></description>
			<content:encoded><![CDATA[<p>Passwörter sind so eine Sache, einerseits sorgen sie für einen einfachen geschützten Zugriff, andererseits muss man sich die Dinger auch merken.<br />
Wer auf seinem WP-Blog das Passwort vergessen hat, sieht erstmal alt aus, denn ohne die Admin-Oberfläche ist nicht viel. Eine einfache Möglichkeit, sich ein neues Passwort zu vergeben, bzw. das alte wieder herzustellen ist die direkte Eingabe in der Datenbank, und zwar in der Tabelle wp_users bzw. dein vergebener Präfix_users.</p>
<p>Nutzt dazu eurer Admin-Tool, wie z.B. phpMyAdmin. Lass dir den Inhalt der Tabelle "<em>wp_users</em>" anzeigen und du findest die Spalte "<em>user_pass</em>". In dieser Zelle ist ein 32stelliger Zahlencode zu finden, dein Passwort md5-verschlüsselt. </p>
<p><a href="http://bueltge.de/wp-content/images/phpmyadmin//phpmyadminpasswort.png"><img class="centered" src='http://bueltge.de/wp-content/images/phpmyadmin/thump-phpmyadminpasswort.png' alt='Screenshot phpMyadmin wp_users' title="Click für Zoom" /></a></p>
<p>Nutze nun einen freien Service im www und erstelle dir ein neues Passwort mit md5-Verschlüsselung. Dafür eignet sich z.B. <a href="http://php-einfach.de/sonstiges_generator_md5.php">php-einfach.de</a> oder das Tool "<a href="http://www.prosoft-design.de/produkte.php?select=2">MD5 - MAKER</a>" (Freeware).<br />
Ebenso könnt ihr es auch hier mit Hilfe von JavaScript generieren.</p>
<p><script type="text/javascript" src="/wp-content/js/md5.js"></script></p>
<form>
<strong>Passwort:</strong> <input type="text" name="input" size="40"> <input type="button" onclick="hash.value = hex_md5(input.value)" value="Passwort verschlüsseln"></p>
<p><strong>Passwort verschlüsselt:</strong> <input type="text" name="hash" size="40"><br />
</form>
<p>Den Schlüssel in die Zwischenablage kopieren und in eure Datenbank in die Zelle <em>user_pass</em> der Tabelle <em>wp_users</em> kopieren.<br />
Die Tabelle speichern und nun ist dass neue Passwort für eure Seite gültig.<br />
Nun könnt ihr euch wieder in den Admin-Bereich eures Blogs einloggen</p>
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://bueltge.de/wp-passwort-wieder-herstellen/139/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/wp-passwort-wieder-herstellen/139/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/phpmyadmin/thump-phpmyadminpasswort.png" />
		<media:content url="http://bueltge.de/wp-content/images/phpmyadmin/thump-phpmyadminpasswort.png" medium="image">
			<media:title type="html">Click für Zoom</media:title>
		</media:content>
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>WP - Performance meiner Startseite</title>
		<link>http://bueltge.de/wp-performance-meiner-startseite/129/</link>
		<comments>http://bueltge.de/wp-performance-meiner-startseite/129/#comments</comments>
		<pubDate>Mon, 30 Jan 2006 11:06:35 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Plugin]]></category>
		<category><![CDATA[Tipps]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Datenbank]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Queries]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://www.bueltge.de/?p=129</guid>
		<description><![CDATA[Durch den <a href="http://www.basicthinking.de/blog/2006/01/13/wordpress-gesamt-und-plugin-performance/">Artikel von Robert</a> inspiriert, habe mich auf die Suche nach Plugins begeben, die die Datenbankabfrage nach oben drücken. Robert gibt dazu ja schon eine Menge an Tipps und viele seiner Kommentare erläutern noch mehr Hintergründe.
Nun, ich wollte aber auf die Darstellung meiner Startseite nicht unbedingt verzichten. Die Posts und Kommentare habe ich bisher mit dem Plugin "<a href="http://www.coffee2code.com/archives/2005/03/30/plugin-customizable-comment-listings/">Customizable Comment Listings</a>" in die Seite geladen. Leider drückt das Plugin die Querie-Abfrage enorm hoch. In meinem Fall möchte ich die letzten 10 Beiträge und Kommentare auf der Startseite darstellen, deshalb habe ich mich dafür entschieden, das ganze mit dem RSS-NewsFeed zu ermöglichen.]]></description>
			<content:encoded><![CDATA[<p>Durch den <a href="http://www.basicthinking.de/blog/2006/01/13/wordpress-gesamt-und-plugin-performance/">Artikel von Robert</a> inspiriert, habe mich auf die Suche nach Plugins begeben, die die Datenbankabfrage nach oben drücken. Robert gibt dazu ja schon eine Menge an Tipps und viele seiner Kommentare erläutern noch mehr Hintergründe.<br />
Nun, ich wollte aber auf die Darstellung meiner Startseite nicht unbedingt verzichten. Die Posts und Kommentare habe ich bisher mit dem Plugin "<a href="http://www.coffee2code.com/archives/2005/03/30/plugin-customizable-comment-listings/">Customizable Comment Listings</a>" in die Seite geladen. Leider drückt das Plugin die Querie-Abfrage enorm hoch. In meinem Fall möchte ich die letzten 10 Beiträge und Kommentare auf der Startseite darstellen, deshalb habe ich mich dafür entschieden, das ganze mit dem RSS-NewsFeed zu ermöglichen.<br />
Mit der hier vorgestellten Lösug konnt ich mehr als 40 Anfragen, welche das Plugin duchführte, beseitigen. Auf anderen Blogs, wo ich WP als CMS einsetze, habe ich so ebenfalls einige Anfragen (ca. 20 Queries) unterbinden können. In den Fällen stelle ich nur die letzten Kommentar im <a href="http://kvfl.com/" title="Direkt zum Beispiel">Sidebar</a> dar, bzw. auf einer <a href="http://kvfl.com/wp/kletternews/" title="Direkt zum Beispiel">extra Seite</a>.</p>
<h3>Abfrage der DB-Anfragen:</h3>
<p>Um die DB-Anfragen und die benötigte Zeit auslisten, muss die folgenden Zeilen in euer Template integriert werden, am besten in den Footer.</p>
<pre><code>
&lt;?php echo $wpdb->num_queries; ?&gt; queries. 
&lt;?php timer_stop(1); ?&gt; seconds.
</code></pre>
<h3>Abfrage der Inhalte mit RSS</h3>
<p>Der Feed von WordPress enthält alle relevanten Inhalte, so dass es eigentlich recht leicht ist, diese zu laden und entsprechend darzustellen. Dazu habe ich meine Plugin "<a href="http://bueltge.de/wp-rss-import-plugin/55/">RSSImport</a>" ein wenig in der Ausgabe verändert, was allerdings nur notwendig ist, da ich das Design anpassen wollte.</p>
<p>Ein weiterer Vorteil von WordPess ist die vielfältige Ausgabe von Feeds, so kann prinzipiell aus jedem Teil der Seite ein Feed ausgegeben werden.</p>
<h4>Beispiel:</h4>
<ul>
<li>Feed der Kommentare - http://www.Blogadresse.de/comments/feed/</li>
<li>Feed einer Kategorie - http://www.Blogadresse.de/category/Kategoriename/feed/</li>
</ul>
<p>Mit Hilfe eines PHP-Plugins ist es möglich den etsprechenden Code in den Seiten und Beiträgen auszuführen. Somit kann eine Seite erstellt werden, ohne ein neues Template zu erstellen.</p>
<p>In meinem Fall sieht der Code der Startseite, also direkt in der Seite (mit PHP-Plugin "<a href="http://priyadi.net/archives/2005/03/02/wordpress-php-exec-plugin/">PHP Exec</a>") folgendermaßen aus.</p>
<pre><code>
<h3>Willkommen</h3>
Herzlich Willkommen, ... 

&lt;?php
// Get Total Posts
function get_totalposts() {
	global $wpdb;
	$totalposts = $wpdb->get_var("SELECT COUNT(ID) FROM $wpdb->posts WHERE post_status = 'publish'");
	return $totalposts;
}

// Get Total Comments
function get_totalcomments() {
	global $wpdb;
	$totalcomments = $wpdb->get_var("SELECT COUNT(comment_ID) FROM 
$wpdb->comments WHERE comment_approved = '1'");
	return $totalcomments;
}
?&gt;

<h3>Weblog - Die letzten Zehn</h3>
&lt;?php RSSImportTwo(10,"http://bueltge.de/wp-rss.php",true,false,true,200); ?&gt;

<h3>Kommentare - Die letzten Zehn</h3>
&lt;?php RSSImportTwo(10,"http://bueltge.de/comments/feed/",true,false,true,100); ?&gt;
</code></pre>
<p>Der String <code>&lt;?php ?&gt;</code> ist für die Verwendung von php-Code in den Seiten notwendig, dass ist vom jeweiligen php-Plugin abhängig.</p>
<p>Zusätzlich bilde ich noch zwei Funktionen (<code>get_totalposts</code> und <code>get_totalcomments</code>), in der alle veröffentlichten Beiträge und Kommentare aus der Datenbank gelesen werden. Damit stelle ich die Gesamtzahl zur Verfügung. Das gleiche mache ich übrigens in der sidebar.php, um die Anzahl der Kategorien und Beiträge anzuzeigen.</p>
<p>Hier ist eine Version des PHPImoprt-Plugins zu finden, mit der automatisch ein Link eingefügt wird zum "Weiterlesen" der Beiträge und Kommentare. Außerdem könnt ihr die Zeichen angeben, die auf der Seite angezeigt werden sollen.</p>
<p>Der Aufruf der Funktion erfolgt folgendermaßen:</p>
<pre><code>
&lt;?php RSSImportTwo(10,"/feed/",true,false,true,200); ?&gt;
</code></pre>
<p>(10-Anzahl der News,"FeedAdresse",true-Ausgabe mit Description,false-Titel nicht kürzen,true-Description kürzen,200-Zeichen von Description)</p>
<p>Mehr <strong>Infos und den Download</strong> zum verwendeten Plugin gibt es hier: <a href="http://bueltge.de/wp-rssimporttwo-plugin/165/">RSSImportTwo Plugin</a></p>
<h3>Stylesheet</h3>
<p>Das Plugin gibt die Feeds innerhalb eines div-Containers aus, mit der class <code>rssimporttwo</code>. Darüber kann die Ausgabe ein wenig formatert werden. Die Title der beiträge und Kommentare werden mit dem Tag <em>h5</em> ausgeben.<br />
In meinem Fall formatiere ich den div zum Teil so, aber dass nur als Beispiel. Der Link zum "<em>Weiterlesen</em>" wird über die Klasse "<em>more-link</em>" formatiert, was sicher in jedem Theme vorhanden ist.</p>
<pre><code>
h1, h2, h3, h5 {
font-family: Palatino, "Palatino Linotype", "Book Antiqua", 
"URW Palladio L", Georgia, serif;
font-weight: bold
}

h5 {
font-size: 1.3em;
margin: 20px 0 0 -10px
}

.rssimporttwo {
margin-left: 10px
}
</code></pre>
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://bueltge.de/wp-performance-meiner-startseite/129/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/wp-performance-meiner-startseite/129/feed/</wfw:commentRss>
		<slash:comments>36</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/favicon.ico" />
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>WP - Suchen und Ersetzen (de) (Plugin)</title>
		<link>http://bueltge.de/wp-suchen-und-ersetzen-de-plugin/114/</link>
		<comments>http://bueltge.de/wp-suchen-und-ersetzen-de-plugin/114/#comments</comments>
		<pubDate>Thu, 05 Jan 2006 08:12:41 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Plugin]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Datenbank]]></category>
		<category><![CDATA[phpMyAdmin]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[Suche]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://www.bueltge.de/?p=114</guid>
		<description><![CDATA[Jetzt  können alle erdenklichen Einträge in der DB gesucht und ersetzt werden. Besonders bei vielen Beiträgen empfinde ich das als sehr vorteilhaft.
Deshalb habe ich das Plugin auch für alle deutschen WordPress-User übersetzt, so dass es zum deutschen Layout passt und ein wenig verständlicher ist, was man damit machen kann.]]></description>
			<content:encoded><![CDATA[<p><em>If you want the information in <strong>english </strong>- please have a look  on this <a href="http://wordpress.org/extend/plugins/search-and-replace/">this page</a>.</em></p>
<p><a href="http://thedeadone.net/">Mark Cunningham</a> stellte vor geraumer Zeit sein <a href="http://thedeadone.net/software/search-and-replace-wordpress-plugin/">Plugin "Search and Replace"</a> in einer erweiterten Version bereit. Jetzt  können alle erdenklichen Einträge in der DB gesucht und ersetzt werden. Besonders bei vielen Beiträgen empfinde ich das als sehr vorteilhaft.<br />
Deshalb habe ich das Plugin auch für alle deutschen WordPress-User übersetzt, so dass es zum deutschen Layout passt und ein wenig verständlicher ist, was man damit machen kann.</p>
<h3>Anforderungen:</h3>
<p>Suchen und Ersetzen arbeitet mit WordPress Version 1.5 und wurde getestet bis Version 2.9-rare.</p>
<h3>Installation:</h3>
<ol>
<li>Das Paket downloaden und lokal entpacken.</li>
<li>Kopiere die Dateien, inklusive Ordner in deinen Plugin-Ordner (/wp-content/plugins).</li>
<li>Aktiviere das Plugin in der Admin-Oberfläche deines WordPress-Blogs</li>
</ol>
<p><strong>Anwendung:</strong><br />
In eurer WP-Admin-Oberfläche findet ihr nun unter <em>Verwalten </em>den neuen Tab <em>Suchen &#038; Ersetzen</em>. Dort sind alle Funktionen nutzbar.</p>
<p><img class='centered' src='http://bueltge.de/wp-content/images/searchandreplace.png' alt='Screenshot Suchen und Ersetzen Plugin' /></p>
<p>Dieses Plugin arbeitet mit einer Standard SQL Abfrage und verändert deine DB direkt.</p>
<h4>Achtung:</h4>
<p> Du <strong>kannst nichts rückgängig</strong> machen mit diesem Plugin. Wenn du dir nicht sicher bist, fertige eine Sicherung deiner DB im Vorfeld an. Ansonsten kann man nur die Funktion umgekehrt wiederholen oder direkt in der DB Änderungen vornehmen, z.B. mit phpMyAdmin.</p>
<p>Die Textsuche ist sensitiv und besitzt keine passende Abstimmungsbefähigung.<br />
Du kannst folgende Einträge bearbeiten: ID von Beiträgen, Beitrag (content), Titel (titles), Auszug (excerpt), Kommentarbeiträge (comment content), Tags, User-ID, Kommentarautor (comment author) etc..<br />
Die Funktion arbeitet stringbasierend und kann somit auch HTML-Tags ersetzen.</p>
<h3>Download:</h3>
<form class="spenden" action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="amount" id="eins" value="" /><br />
<input type="hidden" name="cmd" value="_xclick" /><input type="hidden" name="business" value="frank@bueltge.de" /><input type="hidden" name="item_name" value="Spende bueltge.de" /><input type="hidden" name="no_shipping" value="1" /><input type="hidden" name="return" value="http://bueltge.de/" /><input type="hidden" name="cancel_return" value="http://bueltge.de/" /><input type="hidden" name="currency_code" value="EUR" /><input type="hidden" name="tax" value="0" /><input type="hidden" name="bn" value="PP-DonationsBF" /><input type="image" src="http://bueltge.de/wp-content/images/donate.png" style="border:0" name="submit" alt="Zahlen Sie mit PayPal - schnell, kostenlos und sicher!" /><br />
</form>
<p><strong>Ist die Arbeit nicht 1 Euro wert?</strong><br />
Jede Spende wird dankbar angenommen und ermöglicht das weitere Arbeiten an freier Software.<br />
Möchtest du mehr oder anders spenden, so besuche meine <a href="http://bueltge.de/wunschliste/">Wunschliste</a>.</p>
<p>Download als zip-Datei: <a href="http://downloads.wordpress.org/plugin/search-and-replace.zip">downloads.wordpress.org/plugin/search-and-replace.zip</a> - 90 kByte</p>
<h3>Historie:</h3>
<ul>
<li>Version 1.2 - Alles in deutsch</li>
<li>Version 1.3 - Bugs behoben; getestet mit WP 2.0</li>
<li>Version 1.5 - ersetzen auch in Kommentar-URLs, getestet unter 2.2beta</li>
<li>Version 1.6 - ersetzen auch in Kommentar-E-Mail</li>
<li>Version 1.7 - Mehrsprachigkeit ermöglicht, englisches Sprachfile beigelegt, Ordnerstruktur eingefügt</li>
<li>Version 1.71 - french, polish translation, Rechtschreibfehler korrigiert, Sprachfiles angepasst</li>
<li>Version 1.8 - Tags, Kategorien, Beschreibung ab WP-Version 2.3 durchsuchbar, <code>wp_nonce</code> integriert.</li>
<li>Version 1.9 - <code>wp_nonce</code> verändert, WP 2.5 Style</li>
<li>Version 2.1 - neue Übersetzungsdateien</li>
<li>Version 2.0 - WP 2.5 Design, Neu: <code>meta_data, user-id, user-login, GUID</code> ...</li>
<li>Version 2.2 - Ordnerstruktur geändert, extra languages-Ordner</li>
<li>Version 2.3 - Bug gefixt in <code>descr</code>, neuer Datei-Name</li>
<li>Version 2.4 - <code>ID</code> für Posts ändern, Kleine Inhaltsänderungen, Ausgabe der Änderungen</li>
<li>Version 2.5 - Umstellung Code, 2.6 Anpassungen, Verbesserungen beim Bestätigungsdialog; Core in englisch, de als Sprachfile</li>
</ul>
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://bueltge.de/wp-suchen-und-ersetzen-de-plugin/114/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/wp-suchen-und-ersetzen-de-plugin/114/feed/</wfw:commentRss>
		<slash:comments>269</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/searchandreplace.png" />
		<media:content url="http://bueltge.de/wp-content/images/searchandreplace.png" medium="image">
			<media:title type="html">Screenshot Suchen und Ersetzen Plugin</media:title>
		</media:content>
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>WP - Datenbank Backup mit phpMyAdmin</title>
		<link>http://bueltge.de/wp-datenbank-backup-mit-phpmyadmin/97/</link>
		<comments>http://bueltge.de/wp-datenbank-backup-mit-phpmyadmin/97/#comments</comments>
		<pubDate>Mon, 28 Nov 2005 11:59:08 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Tipps]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Datenbank]]></category>
		<category><![CDATA[Export]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[phpMyAdmin]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www.bueltge.de/?p=97</guid>
		<description><![CDATA[Wenn ihr neue Plugins in eurer laufendes WordPress integrieren wollt oder andere Änderungen am System eurer Website vornehmt, dann solltet ihr in jedem Fall vorher eine Sicherung (Backup) eurer Datenbank und eurer Files auf dem Server anlegen. ]]></description>
			<content:encoded><![CDATA[<p>Wenn ihr neue Plugins in eurer laufendes WordPress integrieren wollt oder andere Änderungen am System eurer Website vornehmt, dann solltet ihr in jedem Fall vorher eine Sicherung (Backup) eurer Datenbank und eurer Files auf dem Server anlegen. </p>
<p>Alle <strong>Files</strong> kopiert ihr euch per FTP auf eure lokale Festplatte. Das sollte eigentlich keine Problem darstellen, denn die Installation eures WordPress habt ihr ja hinbekommen.</p>
<p>Die <strong>Sicherung eurer mySQL-Datenbank</strong> ist eigentlich auch nicht komplizierter. Bei den meisten Webspace-Anbietern  ist <a href="http://www.phpmyadmin.net/">phpmyAdmin</a>, ein freeware-Tool, als Tool zur Verwaltung der Datenbank vorinstalliert.</p>
<h3>Wie erstelle ich nun ein Sicherung(Backup) meiner WP-Daten ?  Ein Tutorial.</h3>
<ol>
<li>
Als erstes müsst ihr euch natürlich in eure Admin-Oberfläche einloggen. Mehr Infos bekommt ihr dazu bei eurem Webspace-Anbieter. Alle Screenshots die ich hier darstelle, sind von <a href="http://www.phpmyadmin.net">phpMyAdmin</a> bei <a href="http://www.1und1.de" alt="1und1 Startseite">1und1</a> entnommen. Die Oberfläche sollte aber bei den meisten Anbietern ähnlich aussehen.</p>
<p><a href="http://bueltge.de/wp-content/images/phpmyadmin/phpmyadmin1.gif"><img src="http://bueltge.de/wp-content/images/phpmyadmin/thumb-phpmyadmin1.gif" class="centered" alt="Willkommen bei phpMyAdmin" title="Click für Zoom" /></a>
</li>
<li>
Im  folgenden müssen wir natürlich die Datenbank wählen, die wir sichern oder bearbeiten wollen. Benutzt dazu den Link "Datenbanken" ...</p>
<p><a href="http://bueltge.de/wp-content/images/phpmyadmin/phpmyadmin2.gif" ><img src="http://bueltge.de/wp-content/images/phpmyadmin/thumb-phpmyadmin2.gif" class="centered" alt="Datenbank wählen 1" title="Click für Zoom" /></a></p>
<p>... und wählt dann die Datenbank, in der eure Daten gespeichert sind. Solltet ihr mehrere Datenbanken besitzen, so achtet darauf, dass ihr die Richtige wählt.</p>
<p><img src="http://bueltge.de/wp-content/images/phpmyadmin/phpmyadmin3.gif" class="centered" alt="Datenbank wählen 2" />
</li>
<li>
In der folgenden Oberfläche bekommt ihr alle eure Tabellen aufgelistet und könnt diese dort wählen und dann bearbeiten. Um die Datenbank zu sichern, wählt den Link " Exportieren".</p>
<p><a href="http://bueltge.de/wp-content/images/phpmyadmin/phpmyadmin4.gif" ><img src="http://bueltge.de/wp-content/images/phpmyadmin/thumb-phpmyadmin4.gif" class="centered" alt="Exportieren" title="Click für Zoom" /></a>
</li>
<li>
Nun müsst ihr die nötigen Konfigurationseinstellungen vornehmen und die Daten werden zum Download angeboten, nach dem ihr "OK" geclickt habt. Stellt alle Einstellungen am besten so ein, wie ich es im Screenshot darstelle.</p>
<p><a href="http://bueltge.de/wp-content/images/phpmyadmin/phpmyadmin5.gif" ><img src="http://bueltge.de/wp-content/images/phpmyadmin/thumb-phpmyadmin5.gif" class="centered" alt="Einstellungen Speichern" title="Click für Zoom" /></a>
</li>
</ol>
<p>Nun sollten die Daten als sql-Datei lokal auf eurem Rechner liegen.</p>
<h3>Automatisches Erstellen einer DB-Sicherung unter WordPress</h3>
<p>Wer das ganze automatisch machen möchte, dem empfehle ich die Sicherung der Datenbank mit Hilfe eines Plugins zu erstellen. Mehr infos dazu findet ihr in <a href="http://bueltge.de/datenbank-sichern/9/">diesem Beitrag</a>.<br />
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://bueltge.de/wp-datenbank-backup-mit-phpmyadmin/97/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/wp-datenbank-backup-mit-phpmyadmin/97/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/phpmyadmin/thumb-phpmyadmin1.gif" />
		<media:content url="http://bueltge.de/wp-content/images/phpmyadmin/thumb-phpmyadmin1.gif" medium="image">
			<media:title type="html">Click für Zoom</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/images/phpmyadmin/thumb-phpmyadmin2.gif" medium="image">
			<media:title type="html">Click für Zoom</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/images/phpmyadmin/phpmyadmin3.gif" medium="image">
			<media:title type="html">Datenbank wählen 2</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/images/phpmyadmin/thumb-phpmyadmin4.gif" medium="image">
			<media:title type="html">Click für Zoom</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/images/phpmyadmin/thumb-phpmyadmin5.gif" medium="image">
			<media:title type="html">Click für Zoom</media:title>
		</media:content>
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>WP - Datenbank sichern</title>
		<link>http://bueltge.de/datenbank-sichern/9/</link>
		<comments>http://bueltge.de/datenbank-sichern/9/#comments</comments>
		<pubDate>Tue, 09 Aug 2005 05:40:15 +0000</pubDate>
		<dc:creator>Frank Bültge</dc:creator>
				<category><![CDATA[Plugin]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Backup]]></category>
		<category><![CDATA[Datenbank]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://frankbueltge.kvfl.com/?p=9</guid>
		<description><![CDATA[Anlässlich der "WordPress Backup Woche" habe ich mich mal nach einem Plugin umgesehen, mit dem man recht einfach ein schnelles Backup der Datenbank machen kann. Dabei bin ich auf folgendes Plugin WP-DB-Backup von Scott Merrill gestoßen. Leider liegt das Plugin nur in Englisch vor, so dass ich mal die Sprachdatei übersetzt habe. Nun ist das [...]]]></description>
			<content:encoded><![CDATA[<p>Anlässlich der "<a href="http://blog.wordpress-deutschland.org/2005/07/23/wordpress-backup-woche.html">WordPress Backup Woche</a>" habe ich mich mal nach einem Plugin umgesehen, mit dem man recht einfach ein schnelles Backup der Datenbank machen kann. Dabei bin ich auf folgendes <a href="http://www.skippy.net/blog/category/wordpress/plugins/wp-db-backup/">Plugin WP-DB-Backup</a> von <a href="http://www.skippy.net/">Scott Merrill</a> gestoßen. Leider liegt das Plugin nur in Englisch vor, so dass ich mal die Sprachdatei übersetzt habe. Nun ist das Gesamtbild einer deutschen WordPress-Oberfläche doch etwas schöner, auch wenn das Englisch recht einfach ist.<br />
Zusätzlich kann man das ganze noch automatisieren, in dem man das Plugin "<a href="http://www.skippy.net/blog/category/wordpress/plugins/wp-cron/">WP-Cron</a>" von <a href="http://www.skippy.net/">Scott Merrill</a> nutzt. So kann man beispielsweise täglich eine Mail mit der Sicherung der Datenbank bekommen. Das Plugin kann aber noch weitaus mehr.</p>
<p><img class="alignleftob" src="http://bueltge.de/wp-content/images/po.png" alt="Download als Sprachdatei-po" /><br />
Download als Sprach-Datei (.po)-editierbar: <a href="http://bueltge.de/wp-content/download/wp/wp-db-backup-de_DE.po">wp-db-backup-de_DE.po</a> - 6KByte</p>
<p><img class="alignleftob" src="http://bueltge.de/wp-content/images/mo.png" alt="Download als Sprachdatei-mo" /><br />
Download als Sprach-Datei(.mo): <a href="http://bueltge.de/wp-content/download/wp/wp-db-backup-de_DE.mo">wp-db-backup-de_DE.mo</a> - 10KByte</p>
<p><img class="alignleftob" src="http://bueltge.de/wp-content/images/zip.png" alt="Download als Zipdatei" /><br />
Download als zip-Datei: <a href="/wp-content/download/wp/wp-db-backup-DE.zip">wp-db-backup-DE.zip</a> - 6KByte</p>
<p><strong>Update 9.Aug 2005:</strong><br />
<a href="http://www.skippy.net/">Skippy </a>hat ein kleines <a href="http://www.skippy.net/blog/2005/08/08/wp-db-backup-16/">Update auf 1.6</a> herausgebracht,  jetzt kann die Automatisierung noch besser konfiguriert werden. Besonders für die Nutzer von Plugins in WordPress können nun zusätzliche Tabellen aus mySQL gesichert werden.<br />
Die deutsche Sprachdatei kann natürlich weiterhin verwendet werden.<br />
<hr />
<p><img src="http://bueltge.de/favicon.ico" alt="bueltge.de Favicon"/> <small>&copy; <a href="http://bueltge.de/">Frank B&uuml;ltge</a>, All rights reserved / Alle Rechte vorbehalten. (ID: 6e8b33de4342c4f2ca76b245199aeee8)</small></p>
<p><a href="http://bueltge.de/feed/"><img style="border: medium none ; float: left; margin-right: 10px;" src="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" alt="Feed Icon" width="34" height="34" /></a>Danke für das Abonnieren meines <strong><a href="http://bueltge.de/feed/">Feed</a></strong>! Inhalt gefällt? <a href="http://bueltge.de/wunschliste/" title="Wunschliste">Danke sagen</a> &middot; <a href="http://bueltge.de/datenbank-sichern/9/#writecomment" title="zu den Kommentaren dieses Artikels">Kommentieren</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bueltge.de/datenbank-sichern/9/feed/</wfw:commentRss>
		<slash:comments>31</slash:comments>
	
		<media:thumbnail url="http://bueltge.de/wp-content/images/po.png" />
		<media:content url="http://bueltge.de/wp-content/images/po.png" medium="image">
			<media:title type="html">Download als Sprachdatei-po</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/images/mo.png" medium="image">
			<media:title type="html">Download als Sprachdatei-mo</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/images/zip.png" medium="image">
			<media:title type="html">Download als Zipdatei</media:title>
		</media:content>
		<media:content url="http://bueltge.de/favicon.ico" medium="image">
			<media:title type="html">bueltge.de Favicon</media:title>
		</media:content>
		<media:content url="http://bueltge.de/wp-content/themes/black_label/images/rss.gif" medium="image">
			<media:title type="html">Feed Icon</media:title>
		</media:content>
	</item>
	</channel>
</rss>

