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

<channel>
	<title>kulturbanause® blog &#187; PHP</title>
	<atom:link href="http://blog.kulturbanause.de/tag/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.kulturbanause.de</link>
	<description>Artikel, Tipps und Trainings zum Thema Web Design, WordPress, Photoshop und Social Media</description>
	<lastBuildDate>Wed, 19 Jun 2013 13:10:04 +0000</lastBuildDate>
	<language>de-DE</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.2</generator>
		<item>
		<title>WordPress Wartungsmodus (Maintenance Mode) per functions.php</title>
		<link>http://blog.kulturbanause.de/2013/05/wordpress-wartungsmodus-maintenance-mode-per-functions-php/</link>
		<comments>http://blog.kulturbanause.de/2013/05/wordpress-wartungsmodus-maintenance-mode-per-functions-php/#comments</comments>
		<pubDate>Mon, 13 May 2013 06:00:10 +0000</pubDate>
		<dc:creator>Jonas Hellwig</dc:creator>
				<category><![CDATA[Tipps, Hacks, Snippets]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://blog.kulturbanause.de/?p=10748</guid>
		<description><![CDATA[<div><img width="140" height="140" src="http://media.kulturbanause.de/blog/2013/05/wordpress-maintenance-mode.png" class="attachment-post-thumbnail wp-post-image" alt="wordpress-maintenance-mode" title="wordpress-maintenance-mode" /></div>In diesem Beitrag lernt ihr, wie der Wartungsmodus (Maintenance Mode) für WordPress über die functions.php eingerichtet werden kann. <h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></description>
			<content:encoded><![CDATA[<div><img width="140" height="140" src="http://media.kulturbanause.de/blog/2013/05/wordpress-maintenance-mode.png" class="attachment-post-thumbnail wp-post-image" alt="wordpress-maintenance-mode" title="wordpress-maintenance-mode" /></div><p><span class="entry">Ab und zu muss oder möchte man Anpassungen an der eigenen Seite vornehmen, will aber nicht, dass währenddessen Besucher die Seite aufrufen können.</span> Tritt ein solcher Fall ein, kann man WordPress in den Wartungsmodus versetzen. Man selbst hat dann vollen Zugriff auf die Website, Besucher hingegen bekommen eine alternative Seite angezeigt. </p>
<p><span id="more-10748"></span></p>
<p>Mit einem Plugin wie <a href="http://wordpress.org/extend/plugins/wp-maintenance-mode/" target="_blank">WP Maintenance Mode</a> ist der Wartungsmodus schnell hergestellt. Das Plugin ist auch sehr komfortabel und erlaubt verschiedene Designs und Einstellungsmöglichkeiten. Wenn man kein Plugin verwenden möchte und die Seite „nur mal eben“ in den Wartungsmodus versetzen muss, reicht aber auch eine Anpassung in der <code>functions.php</code>. </p>
<figure><a href="http://blog.kulturbanause.de/?attachment_id=10750" rel="attachment wp-att-10750"><img src="http://media.kulturbanause.de/blog/2013/05/wordpress-maintenance-mode-functions-php-550x170.jpg" alt="Über die functions.php erstellte Wartungsseite" title="Über die functions.php erstellte Wartungsseite" width="550" height="170" class="alignnone size-medium wp-image-10750" /></a><br />
<figcaption>Über die functions.php erstellte Wartungsseite</figcaption>
</figure>
<h2>Wartungsmodus in der functions.php aktivieren</h2>
<p>Fügt einfach folgende Zeilen in die <code>functions.php</code> ein. Alle Besucher die keine Administratoren sind, oder die nicht eingelogged sind, sehen anschließend eine Wartungsseite. </p>
<pre class="brush: php; title: ; notranslate">
// Wartungsmodus 
function kb_wartungsmodus() {
if ( !current_user_can( 'edit_themes' ) || !is_user_logged_in() ) { 
	wp_die('
		&lt;h1&gt;Wir aktualisieren unsere Website&lt;/h1&gt;
		&lt;p&gt;Im Moment arbeiten wir an dieser Website. Bitte schauen Sie in Kürze noch einmal vorbei.&lt;/p&gt;
		&lt;p&gt;Sie erreichen uns in der Zwischenzeit per &lt;a href=&quot;#&quot;&gt;E-Mail&lt;/a&gt;.&lt;/p&gt;', 'Website im Wartungsmodus');
}} 
	
add_action('get_header', 'kb_wartungsmodus');
</pre>
<p>Der Aufbau der Funktion sieht wie folgt aus: </p>
<pre class="brush: php; title: ; notranslate">
...
wp_die('INHALT DER MELDUNG', 'TITLE-TAG');
...
</pre>
<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.kulturbanause.de/2013/05/wordpress-wartungsmodus-maintenance-mode-per-functions-php/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SVG-Dateien in die WordPress-Mediathek hochladen</title>
		<link>http://blog.kulturbanause.de/2013/05/svg-dateien-in-die-wordpress-mediathek-hochladen/</link>
		<comments>http://blog.kulturbanause.de/2013/05/svg-dateien-in-die-wordpress-mediathek-hochladen/#comments</comments>
		<pubDate>Fri, 10 May 2013 07:24:06 +0000</pubDate>
		<dc:creator>Jonas Hellwig</dc:creator>
				<category><![CDATA[Tipps, Hacks, Snippets]]></category>
		<category><![CDATA[Mediathek]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[SVG]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://blog.kulturbanause.de/?p=10711</guid>
		<description><![CDATA[<div><img width="140" height="140" src="http://media.kulturbanause.de/blog/2013/05/svg-icon.png" class="attachment-post-thumbnail wp-post-image" alt="svg-icon" title="svg-icon" /></div>In diesem Beitrag erfahrt ihr, welche Anpassung an der functions.php notwendig ist, damit WordPress SVG-Grafiken in der Mediathek erlaubt.<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></description>
			<content:encoded><![CDATA[<div><img width="140" height="140" src="http://media.kulturbanause.de/blog/2013/05/svg-icon.png" class="attachment-post-thumbnail wp-post-image" alt="svg-icon" title="svg-icon" /></div><p><strong>Das Grafikformat SVG (Scalable Vector Graphics) erfreut sich dank <a href="http://blog.kulturbanause.de/2012/04/websites-und-bilder-fur-high-resolution-displays-retina-optimieren/" title="Websites und Bilder für High-Resolution-Displays (Retina, HiDPI) optimieren" target="_blank">hochauflösender Displays</a> und einem zunehmend flexiblen, Performance optimiertem Webdesign größter Beliebtheit.</strong> SVG-Dateien lassen sich verlustfrei skalieren und haben eine verhältnismäßig geringe Dateigröße. Schade nur, dass die WordPress-Mediathek den Upload dieses Dateiformats bisher verbietet. Mit einer kleinen Anpassung an der <code>functions.php</code> behebt ihr dieses Problem.</p>
<p><span id="more-10711"></span></p>
<h2>MIME-Type für SVG hinzufügen</h2>
<p>Fügt folgendes Snippet in die <code>functions.php</code> eures Themes ein. Damit wird der <a href="http://de.wikipedia.org/wiki/Internet_Media_Type" target="_blank">MIME-Type</a> für SVG hinzugefügt. Anschließend kennt WordPress den Dateityp und verbietet den Upload nicht länger. </p>
<pre class="brush: php; title: ; notranslate">
function kb_svg ( $svg_mime ){
	$svg_mime['svg'] = 'image/svg+xml';
	return $svg_mime;
}

add_filter( 'upload_mimes', 'kb_svg' );
</pre>
<p>Das Hinzufügen von bislang unbekannten Dateitypen ist keine Theme-Funktion. Das Snippet sollte daher eigtl. besser als Plugin eingesetzt werden, damit es aktiv bleibt, wenn das Theme gewechselt wird. Alternativ kann das obige Snippet auch innerhalb des <a href="http://wordpress.org/extend/plugins/toolbox/" target="_blank">Plugins Toolbox</a> eingesetzt werden. <a href="http://wordpress.org/extend/plugins/toolbox/" target="_blank">Toolbox</a> verwaltet Code-Snippets im Backend.  </p>
<figure><a href="http://blog.kulturbanause.de/2013/05/svg-dateien-in-die-wordpress-mediathek-hochladen/svg-upload-erfolgreich/" rel="attachment wp-att-10713"><img src="http://media.kulturbanause.de/blog/2013/05/svg-upload-erfolgreich-550x204.jpg" alt="SVG-Datei in der WordPress-Mediathek" title="SVG-Datei in der WordPress-Mediathek" width="550" height="204" class="alignnone size-medium wp-image-10713" /></a><br />
<figcaption>SVG-Datei in der WordPress-Mediathek</figcaption>
</figure>
<h2>Links / Quellen</h2>
<ul>
<li><a href="http://css-tricks.com/snippets/wordpress/allow-svg-through-wordpress-media-uploader/" target="_blank">Allow SVG through WordPress Media Uploader</a></li>
<li><a href="http://die-netzialisten.de/webdesign/svg-vektorgrafiken-in-wordpress-einbauen/" target="_blank">SVG Vektorgrafik in WordPress einbauen</a></li>
</ul>
<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.kulturbanause.de/2013/05/svg-dateien-in-die-wordpress-mediathek-hochladen/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Link-Manager / Blogroll in WordPress 3.5+ wiederherstellen</title>
		<link>http://blog.kulturbanause.de/2013/03/link-manager-blogroll-in-wordpress-3-5-wiederherstellen/</link>
		<comments>http://blog.kulturbanause.de/2013/03/link-manager-blogroll-in-wordpress-3-5-wiederherstellen/#comments</comments>
		<pubDate>Tue, 26 Mar 2013 20:55:16 +0000</pubDate>
		<dc:creator>Jonas Hellwig</dc:creator>
				<category><![CDATA[Tipps, Hacks, Snippets]]></category>
		<category><![CDATA[Backend]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://blog.kulturbanause.de/?p=10552</guid>
		<description><![CDATA[<div><img width="140" height="140" src="http://media.kulturbanause.de/blog/2013/03/link-manager-blogroll.png" class="attachment-post-thumbnail wp-post-image" alt="link-manager-blogroll" title="link-manager-blogroll" /></div>In WordPress 3.5 wurde der Menüpunkt „Links“ (auch bekannt als Blogroll) entfernt. Wenn ihr den Bereich wiederherstellen möchtet, könnt ihr [...]<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></description>
			<content:encoded><![CDATA[<div><img width="140" height="140" src="http://media.kulturbanause.de/blog/2013/03/link-manager-blogroll.png" class="attachment-post-thumbnail wp-post-image" alt="link-manager-blogroll" title="link-manager-blogroll" /></div><p><strong>In WordPress 3.5 wurde der Menüpunkt „Links“ (auch bekannt als Blogroll) entfernt.</strong> Wenn ihr den Bereich wiederherstellen möchtet, könnt ihr entweder das offizielle <a href="http://wordpress.org/extend/plugins/link-manager/" target="_blank">Plugin Link Manager</a> installieren, oder eine kleine Anpassung an der <code>functions.php</code> des Themes vornehmen. </p>
<p><span id="more-10552"></span></p>
<h2>Blogroll über functions.php wiederherstellen</h2>
<p>Um Links wieder verwenden zu können, reicht folgendes Snippet in der <code>functions.php</code>: </p>
<pre class="brush: xml; title: ; notranslate">
add_filter( 'pre_option_link_manager_enabled', '__return_true' );
</pre>
<h2>Links / Quellen</h2>
<ul>
<li><a href="http://wordpress.org/extend/plugins/link-manager/" target="_blank">Link Manager Plugin</a></li>
<li><a href="http://www.wprecipes.com/how-to-activate-link-manager-on-wordpress-3-5-and-newer" target="_blank">How to activate link manager on WordPress 3.5 (and newer)</a> – WP Recipes</li>
</ul>
<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.kulturbanause.de/2013/03/link-manager-blogroll-in-wordpress-3-5-wiederherstellen/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>WordPress-Widgets mit individuellen CSS-Klassen und IDs auszeichnen</title>
		<link>http://blog.kulturbanause.de/2013/01/wordpress-widgets-mit-individuellen-css-klassen-und-ids-auszeichnen/</link>
		<comments>http://blog.kulturbanause.de/2013/01/wordpress-widgets-mit-individuellen-css-klassen-und-ids-auszeichnen/#comments</comments>
		<pubDate>Wed, 30 Jan 2013 09:59:46 +0000</pubDate>
		<dc:creator>Jonas Hellwig</dc:creator>
				<category><![CDATA[Tipps, Hacks, Snippets]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Widgets]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://blog.kulturbanause.de/?p=10077</guid>
		<description><![CDATA[<div><img width="140" height="140" src="http://media.kulturbanause.de/blog/2013/01/wordpress-widgets.png" class="attachment-post-thumbnail wp-post-image" alt="wordpress-widgets" title="wordpress-widgets" /></div>Mit den Widgets von WordPress lässt sich eine Website sehr einfach individualisieren und erweitern. Selbst das simple Text-Widget ermöglicht durch [...]<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></description>
			<content:encoded><![CDATA[<div><img width="140" height="140" src="http://media.kulturbanause.de/blog/2013/01/wordpress-widgets.png" class="attachment-post-thumbnail wp-post-image" alt="wordpress-widgets" title="wordpress-widgets" /></div><p><strong>Mit den Widgets von WordPress lässt sich eine Website sehr einfach individualisieren und erweitern. </strong>Selbst das simple Text-Widget ermöglicht durch die Eingabe von HTML-Markup recht umfangreiche Anpassungen. Ärgerlich in diesem Zusammenhang ist lediglich, dass Widgets keine individuelle ID besitzen und daher auch nicht gezielt angesprochen werden können. Mit folgendem Mini-Snippet erweitert Ihr Widgets um die fehlenden Angaben.</p>
<p><span id="more-10077"></span></p>
<h2>Unterschiedliche Klassen &#038; IDs für WordPress-Widgets</h2>
<p>Damit ein Theme Widgets nutzen kann, muss in der <code>functions.php</code> eine <a href="http://codex.wordpress.org/Widgetizing_Themes" target="_blank">widgetized Sidebar</a> definiert werden. Hierbei wird nicht nur der Name der Sidebar und eine optionale Beschreibung festgelegt, es kann auch angegeben werden ob eine bestimmte Code-Struktur um das Widget herum erstellt wird. Genau hier setzt das Snippet an. Sucht in der <code>functions.php</code> nach dem entsprechenden Abschnitt und passt euren Code um die fehlenden Komponenten an. </p>
<pre class="brush: php; title: ; notranslate">
// widgetized sidebar
if ( function_exists('register_sidebar') )
  register_sidebar(array(
    'name' =&gt; 'Sidebar', // Name der Sidebar 
    'description' =&gt; __('Hier steht die Beschreibung der Sidebar'), // Beschreibung der Sidebar
    'before_widget' =&gt; '&lt;div id=&quot;%1$s&quot; class=&quot;widget %2$s&quot;&gt;', // Code der vor Widgets ausgegeben wird. Hier wird die individuelle ID und eine CSS-Klasse eingefügt. 
    'after_widget' =&gt; '&lt;/div&gt;', // Code der nach Widgets ausgegeben wird
    'before_title' =&gt; '&lt;h2&gt;', // Code der vor dem Titel ausgegeben wird
    'after_title' =&gt; '&lt;/h2&gt;', // Code der nach dem Titel ausgegeben wird
));
</pre>
<p>Am Beispiel eines Text-Widgets sieht das Markup nach der Anpassung in etwa so aus: </p>
<pre class="brush: xml; title: ; notranslate">
&lt;div id=&quot;text-1&quot; class=&quot;widget widget_text&quot;&gt;
  &lt;h2&gt;Titel des Widgets&lt;/h2&gt;
&lt;/div&gt;
</pre>
<p>Mit einer ID und zwei CSS-Klassen, sollte man ausreichend Möglichkeiten haben das Element individuell und objektorientiert zu stylen. </p>
<h2>Links / Quellen</h2>
<ul>
<li>via <a href="http://wordpress.org/support/topic/text-widget-with-different-class" target="_blank">Text Widget with different Class</a> – WordPress-Forum</li>
<li><a href="http://codex.wordpress.org/Widgetizing_Themes" target="_blank">Widgetizing WordPress</a> – WordPress Codex</li>
</ul>
<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.kulturbanause.de/2013/01/wordpress-widgets-mit-individuellen-css-klassen-und-ids-auszeichnen/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Seiten oder Artikel aus der WordPress-Suche entfernen</title>
		<link>http://blog.kulturbanause.de/2012/10/seiten-oder-artikel-aus-der-wordpress-suche-entfernen/</link>
		<comments>http://blog.kulturbanause.de/2012/10/seiten-oder-artikel-aus-der-wordpress-suche-entfernen/#comments</comments>
		<pubDate>Wed, 17 Oct 2012 09:29:44 +0000</pubDate>
		<dc:creator>Jonas Hellwig</dc:creator>
				<category><![CDATA[Tipps, Hacks, Snippets]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://blog.kulturbanause.de/?p=9151</guid>
		<description><![CDATA[<div><img width="140" height="140" src="http://media.kulturbanause.de/blog/2012/10/wordpress-suche.png" class="attachment-post-thumbnail wp-post-image" alt="wordpress-suche" title="wordpress-suche" /></div>Die Standard-Suche von WordPress durchsucht alle öffentlichen Inhalte der Website, und listet die Ergebnisse mit Hilfe der search.php auf. Fast [...]<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></description>
			<content:encoded><![CDATA[<div><img width="140" height="140" src="http://media.kulturbanause.de/blog/2012/10/wordpress-suche.png" class="attachment-post-thumbnail wp-post-image" alt="wordpress-suche" title="wordpress-suche" /></div><p><strong>Die Standard-Suche von WordPress durchsucht alle öffentlichen Inhalte der Website, und listet die Ergebnisse mit Hilfe der <code>search.php</code> auf.</strong> Fast jedes Webdesign-Projekt verfügt jedoch über Seiten die nicht in den Suchergebnissen  auftauchen sollen. Das sind u.a. „Danke“-Seiten für ein Kontaktformular, Bestätigungsseiten für Newsletter-Anmeldungen, Unterseiten von Checkout-Prozessen usw. Mit folgendem Snippet könnt ihr ganz gezielt Inhalte aus der Suche ausschließen.</p>
<p><span id="more-9151"></span></p>
<h2>Inhalte aus der WordPress-Suche löschen</h2>
<p>Fügt folgendes Snippet in die <code>functions.php</code> des Themes ein. Über die IDs innerhalb des Arrays, könnt ihr statische Seiten oder Artikel entfernen. </p>
<pre class="brush: php; title: ; notranslate">
/* exclude specific pages from search */

function kb_exclude_from_search($query) {
    if ($query-&gt;is_search) {
        $query-&gt;set('post__not_in', array(1,2,3,4)); // IDs anpassen!
    }
    return $query;
}

add_filter('pre_get_posts','kb_exclude_from_search');
</pre>
<h2>So findet ihr die ID eines Beitrags heraus</h2>
<p>Um herauszufinden welche ID ein Beitrag besitzt, geht ihr am einfachsten so vor:  Wechselt in das Dashboard von WordPress und öffnet dort die Liste der entsprechenden Artikel oder Seiten. Wenn ihr den Cursor nun über den Titel des Inhalts bewegt, wird in der Statusleiste die ID angezeigt. </p>
<figure><a href="http://blog.kulturbanause.de/2012/10/seiten-oder-artikel-aus-der-wordpress-suche-entfernen/wordpress-id-mouseover/" rel="attachment wp-att-9152"><img src="http://media.kulturbanause.de/blog/2012/10/wordpress-id-mouseover-550x311.jpg" alt="Per Mouse Over wird die ID des Beitrags in der Statusleiste angezeigt." title="Per Mouse Over wird die ID des Beitrags in der Statusleiste angezeigt." width="550" height="311" class="alignnone size-medium wp-image-9152" /></a><br />
<figcaption>Per Mouse Over wird die ID des Beitrags in der Statusleiste angezeigt.</figcaption>
</figure>
<h2>Links zum Thema / Quellen</h2>
<ul>
<li><a href="http://wordpress.org/support/topic/excluding-page-from-search" target="_blank">Excluding Page From Search</a> – WordPress-Forum</li>
</ul>
<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.kulturbanause.de/2012/10/seiten-oder-artikel-aus-der-wordpress-suche-entfernen/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>WordPress sicherer machen – Die Login-Fehlermeldung deaktivieren</title>
		<link>http://blog.kulturbanause.de/2012/09/wordpress-sicherer-machen-die-login-fehlermeldung-deaktivieren/</link>
		<comments>http://blog.kulturbanause.de/2012/09/wordpress-sicherer-machen-die-login-fehlermeldung-deaktivieren/#comments</comments>
		<pubDate>Thu, 06 Sep 2012 07:22:14 +0000</pubDate>
		<dc:creator>Jonas Hellwig</dc:creator>
				<category><![CDATA[Tipps, Hacks, Snippets]]></category>
		<category><![CDATA[Backend]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://blog.kulturbanause.de/?p=8557</guid>
		<description><![CDATA[<div><img width="140" height="140" src="http://media.kulturbanause.de/blog/2012/09/wordpress-login-fehlermeldung-2.png" class="attachment-post-thumbnail wp-post-image" alt="wordpress-login-fehlermeldung-2" title="wordpress-login-fehlermeldung-2" /></div>Wer sich im WordPress-Dashboard anmelden möchte benötigt einen Benutzernamen und ein Passwort. Wenn beide Angaben korrekt eingegeben wurden erfolgt der [...]<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></description>
			<content:encoded><![CDATA[<div><img width="140" height="140" src="http://media.kulturbanause.de/blog/2012/09/wordpress-login-fehlermeldung-2.png" class="attachment-post-thumbnail wp-post-image" alt="wordpress-login-fehlermeldung-2" title="wordpress-login-fehlermeldung-2" /></div><p><strong>Wer sich im WordPress-Dashboard anmelden möchte benötigt einen Benutzernamen und ein Passwort.</strong> Wenn beide Angaben korrekt eingegeben wurden erfolgt der Login, doch was passiert wenn einer der beiden Werte falsch ist? WordPress unterstützt den Benutzer und verkündet sinngemäß „Passwort falsch“ oder „Benutzername falsch“.  Im Umkehrschluss bedeutet dies soviel, wie dass die andere Angabe korrekt war. Ein möglicher Angreifer ist nun um eine wertvolle Erkenntnis reicher.</p>
<p><span id="more-8557"></span></p>
<h2>Komfort oder Sicherheit?</h2>
<p>Im Internet stellt sich häufig die Frage ob die komfortable Handhabung wichtiger ist als die Sicherheit. Speichert ihr ein Passwort im Browser oder gebt ihr es jedes Mal neu ein? Liegen eure Daten in der Cloud und sind sie dort auch sicher genug? Diese Fragen muss jeder Nutzer für sich selbst entscheiden. Was für den einen noch nicht sicher genug ist, kann für den anderen schon pure Paranoia sein. Entscheidend ist, dass komfortable Funktionen häufig zu Lasten der Sicherheit gehen. So auch die Hilfe in der Anmelde-Maske von WordPress. </p>
<figure><img src="http://media.kulturbanause.de/blog/2012/09/wordpress-login-fehlermeldung.png" alt="Fehlermeldung bei WordPress" title="Fehlermeldung bei WordPress" width="550" height="487" class="alignnone size-full wp-image-8559" /><br />
<figcaption>Ein wichtiger Tipp: Der Benutzername ist richtig, das Passwort noch nicht.</figcaption>
</figure>
<h2>WordPress-Hilfe deaktivieren</h2>
<p>Mit folgendem Snippet deaktiviert ihr die Hinweise bei der fehlerhaften Eingabe von Passwort und/oder Benutzernamen. Fügt den Code dazu einfach in die <code>functions.php</code> ein. </p>
<pre class="brush: php; title: ; notranslate">
add_filter('login_errors',create_function('$a', &quot;return null;&quot;));
</pre>
<p>Anschließend wird der Hinweis nicht länger angezeigt, die rote Umrandung der Fehler-Box bleibt jedoch bestehen. </p>
<p>Gefunden auf <a href="http://dukeo.com/how-to-hide-wordpress-login-error-messages-for-improved-security/" target="_blank">dukeo.com</a> </p>
<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.kulturbanause.de/2012/09/wordpress-sicherer-machen-die-login-fehlermeldung-deaktivieren/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>WordPress: Code nur dann ausgeben wenn Inhalte vorhanden sind</title>
		<link>http://blog.kulturbanause.de/2012/08/wordpress-code-nur-dann-ausgeben-wenn-inhalte-vorhanden-sind/</link>
		<comments>http://blog.kulturbanause.de/2012/08/wordpress-code-nur-dann-ausgeben-wenn-inhalte-vorhanden-sind/#comments</comments>
		<pubDate>Thu, 16 Aug 2012 09:04:24 +0000</pubDate>
		<dc:creator>Jonas Hellwig</dc:creator>
				<category><![CDATA[Tipps, Hacks, Snippets]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://blog.kulturbanause.de/?p=8299</guid>
		<description><![CDATA[<div><img width="140" height="140" src="http://media.kulturbanause.de/blog/2012/08/wordpress-if-content-exists.png" class="attachment-post-thumbnail wp-post-image" alt="wordpress-if-content-exists" title="wordpress-if-content-exists" /></div>WordPress wird nicht nur für Blogs und klassische Internetseiten eingesetzt, auch andere Website-Typen bieten sich durchaus an. Lebensläufe, Galerien, Bug-Tracker [...]<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></description>
			<content:encoded><![CDATA[<div><img width="140" height="140" src="http://media.kulturbanause.de/blog/2012/08/wordpress-if-content-exists.png" class="attachment-post-thumbnail wp-post-image" alt="wordpress-if-content-exists" title="wordpress-if-content-exists" /></div><p><strong>WordPress wird nicht nur für Blogs und klassische Internetseiten eingesetzt, auch andere Website-Typen bieten sich durchaus an. Lebensläufe, Galerien, Bug-Tracker ... die Einsatzmöglichkeiten sind unzählig.</strong><br />
Je exotischer der Einsatzbereich, desto eher kann es vorkommen, dass der Inhaltsbereich nicht zwangläufig ausgefüllt wird. Beispielsweise weil nicht immer eine Beschreibung zu einem Produkt verfügbar ist. Mit folgendem Snippet lässt sich prüfen ob <code>&lt;?php the_content();?&gt;</code> gefüllt ist und je nach Ergebnis ein entsprechender Inhalt ausgeben.</p>
<p><span id="more-8299"></span></p>
<p>Das folgende Snippet gibt einen Inhalt aus, wenn <code>&lt;?php the_content();?&gt;</code>nicht gefüllt ist.</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php if(empty($post-&gt;post_content)) { ?&gt;
  &lt;p&gt;Es sind keine Inhalte vorhanden.&lt;/p&gt;
&lt;?php };?&gt;
</pre>
<p>Alternativ kann natürlich auch ein ergänzender Inhalt ausgegeben werden, sobald <code>&lt;?php the_content();?&gt;</code> ebenfalls Inhalte hat.</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php if(!empty($post-&gt;post_content)) { ?&gt;
  &lt;p&gt;Es sind Inhalte vorhanden.&lt;/p&gt;
&lt;?php };?&gt;
</pre>
<p>Die Kombination sieht dann folglich so aus.</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php  if(!empty($post-&gt;post_content)) { ?&gt;
  &lt;p&gt;Es sind Inhalte vorhanden.&lt;/p&gt;
&lt;?php } else { ?&gt;
  &lt;p&gt;Es sind keine Inhalte vorhanden. &lt;/p&gt;
&lt;?php };?&gt;
</pre>
<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.kulturbanause.de/2012/08/wordpress-code-nur-dann-ausgeben-wenn-inhalte-vorhanden-sind/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>WordPress: Gesuchte Wörter in den Suchergebnissen farblich hervorherben</title>
		<link>http://blog.kulturbanause.de/2012/07/wordpress-gesuchte-worter-in-den-suchergebnissen-farblich-hervorherben/</link>
		<comments>http://blog.kulturbanause.de/2012/07/wordpress-gesuchte-worter-in-den-suchergebnissen-farblich-hervorherben/#comments</comments>
		<pubDate>Tue, 31 Jul 2012 12:29:42 +0000</pubDate>
		<dc:creator>Jonas Hellwig</dc:creator>
				<category><![CDATA[Tipps, Hacks, Snippets]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://blog.kulturbanause.de/?p=8219</guid>
		<description><![CDATA[<div><img width="140" height="140" src="http://media.kulturbanause.de/blog/2012/07/suchergebnisse-highlight-jquery.png" class="attachment-post-thumbnail wp-post-image" alt="suchergebnisse-highlight-jquery" title="suchergebnisse-highlight-jquery" /></div>Die Suchfunktion von WordPress wird häufig kritisiert und verfügt nicht über allzu viele Funktionen. Mit einigen Tricks lässt sich die [...]<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></description>
			<content:encoded><![CDATA[<div><img width="140" height="140" src="http://media.kulturbanause.de/blog/2012/07/suchergebnisse-highlight-jquery.png" class="attachment-post-thumbnail wp-post-image" alt="suchergebnisse-highlight-jquery" title="suchergebnisse-highlight-jquery" /></div><p><strong>Die Suchfunktion von WordPress wird häufig kritisiert und verfügt nicht über allzu viele Funktionen.</strong> Mit einigen Tricks lässt sich die Suche um fehlende Features erweitern und benutzerfreundlicher gestalten. So könnt ihr beispielweise über die <code>functions.php</code> gezielt <a href="http://blog.kulturbanause.de/2012/05/beitrage-aus-wordpress-suche-entfernen/">Seiten in den Suchergebnissen verstecken</a>.<br />
Mit folgendem jQuery-Snippet hebt ihr die gesuchten Begriffe in der Ergebnisseite farblich hervor. Das erleichtert Besuchern die Orientierung und <a href="http://kulturbanause.de/?s=responsive+webdesign" target="_blank">sieht z.B. so aus</a>. </p>
<p><span id="more-8219"></span></p>
<h2>PHP-Snippet in der functions.php einfügen</h2>
<p>Das Snippet muss an zwei stellen im Code eingefügt werden. Zunächst öffnet ihr die <code>functions.php</code> und fügt folgenden Code ein. </p>
<pre class="brush: php; title: ; notranslate">
/* highlight search terms in title and content */
function hls_set_query() {
  $query  = esc_js(get_search_query());

  if(strlen($query) &gt; 0){
    echo '
      &lt;script type=&quot;text/javascript&quot;&gt;
        var hls_query  = &quot;'.$query.'&quot;;
      &lt;/script&gt;
    ';
  }
}

function hls_init_jquery() {
  wp_enqueue_script('jquery');
}

add_action('init', 'hls_init_jquery');
add_action('wp_print_scripts', 'hls_set_query');
</pre>
<h2>JavaScript im head einbinden</h2>
<p>Anschließend muss noch ein Snippet im <code>head</code> der Seite eingebunden werden. Über den Conditional Tag von WordPress wird erreicht, dass der Code nur innerhalb der Suche geladen wird. </p>
<pre class="brush: xml; title: ; notranslate">
&lt;?php if ( is_search() ) { ?&gt;
&lt;style type=&quot;text/css&quot; media=&quot;screen&quot;&gt;
    .hls { 
		color: #000;
		padding-left:3px;
		padding-right:3px;
		background: #ffefda;
	}
&lt;/style&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
jQuery.fn.extend({
  highlight: function(search, insensitive, hls_class){
	var regex = new RegExp(&quot;(&lt;[^&gt;]*&gt;)|(\\b&quot;+ search.replace(/([-.*+?^${}()|[\]\/\\])/g,&quot;\\$1&quot;) +&quot;)&quot;, insensitive ? &quot;ig&quot; : &quot;g&quot;);
	return this.html(this.html().replace(regex, function(a, b, c){
	  return (a.charAt(0) == &quot;&lt;&quot;) ? a : &quot;&lt;span class=\&quot;&quot;+ hls_class +&quot;\&quot;&gt;&quot; + c + &quot;&lt;/span&gt;&quot;;
	}));
  }
});
jQuery(document).ready(function($){
  if(typeof(hls_query) != 'undefined'){
	$(&quot;#searchResultsContainer&quot;).highlight(hls_query, 1, &quot;hls&quot;);
  }
});
&lt;/script&gt;
&lt;?php } ?&gt;
</pre>
<p>Nun müsst ihr nur noch den CSS-Code im Snippet anpassen um die farbliche Hervorhebung zu gestalten. Am Ende des Snippets muss darüber hinaus das Container-Element angegeben werden in welchem die Ergebnisse hervorgehoben werden sollen. In diesem Beispiel heißt der Container <code>#searchResultsContainer</code>.</p>
<h3>Links zum Thema</h3>
<ul>
<li>via: <a href="http://weblogtoolscollection.com/archives/2009/04/10/how-to-highlight-search-terms-with-jquery/" target="_blank">How to highlight search terms with jQuery</a></li>
</ul>
<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.kulturbanause.de/2012/07/wordpress-gesuchte-worter-in-den-suchergebnissen-farblich-hervorherben/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Anzahl der Zeichen im Excerpt anzeigen – für perfekte Google Descriptions</title>
		<link>http://blog.kulturbanause.de/2012/05/anzahl-der-zeichen-im-excerpt-anzeigen-fur-perfekte-google-descriptions/</link>
		<comments>http://blog.kulturbanause.de/2012/05/anzahl-der-zeichen-im-excerpt-anzeigen-fur-perfekte-google-descriptions/#comments</comments>
		<pubDate>Fri, 18 May 2012 07:09:07 +0000</pubDate>
		<dc:creator>Jonas Hellwig</dc:creator>
				<category><![CDATA[Tipps, Hacks, Snippets]]></category>
		<category><![CDATA[Backend]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://blog.kulturbanause.de/?p=7931</guid>
		<description><![CDATA[<div><img width="140" height="140" src="http://media.kulturbanause.de/blog/2012/05/wordpress-excerpt.png" class="attachment-post-thumbnail wp-post-image" alt="wordpress-excerpt" title="wordpress-excerpt" /></div>Wenn Ihr einen neuen Beitrag in WordPress verfasst, habt ihr die Möglichkeit neben dem vollständigen Inhalt auch eine kurze Zusammenfassung [...]<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></description>
			<content:encoded><![CDATA[<div><img width="140" height="140" src="http://media.kulturbanause.de/blog/2012/05/wordpress-excerpt.png" class="attachment-post-thumbnail wp-post-image" alt="wordpress-excerpt" title="wordpress-excerpt" /></div><p><strong>Wenn Ihr einen neuen Beitrag in WordPress verfasst, habt ihr die Möglichkeit neben dem vollständigen Inhalt auch eine kurze Zusammenfassung zu formulieren. </strong> Diese Funktion heißt in WordPress „Auszug“ (engl. Excerpt) und wird über den Template Tag (<code>&lt;?php the_excerpt();?&gt;</code>) in das Theme integriert.<br />
Der Artikelauszug bietet sich an um eine auf den jeweiligen Artikel zugeschnittene Meta-Description für Google &#038; Co. zu erstellen. Damit ihr die Länge der Description perfekt auf die von Google angezeigte Zeichenzahl abstimmen könnt, lohnt es sich in WordPress die Anzahl der Zeichen einzublenden. </p>
<p><span id="more-7931"></span></p>
<h2>Anpassung über die functions.php</h2>
<p>Öffnet die <code>functions.php</code> und fügt nachfolgenden Code ein. Die Anzahl der Zeichen wird über JavaScript eingeblendet. Den Text könnt natürlich anpassen – ich habe als Merkhilfe auch die erlaubte Anzahl an Zeichen in der Google Meta-Description notiert. </p>
<pre class="brush: php; title: ; notranslate">
// Zeigt die Anzahl der Zeichen im Auszug eines WP-Artikel an. 
function kb_excerptCharacterCount(){
    echo ' &lt;script&gt;jQuery(document).ready(function(){
    jQuery(&quot;#postexcerpt .handlediv&quot;).after(&quot;&lt;div style=\&quot;position:absolute;top:5px; right:0;\&quot;&gt;Anzahl Zeichen (Google Descr. max 156 Zeichen): &lt;input type=\&quot;text\&quot; value=\&quot;0\&quot; maxlength=\&quot;3\&quot; size=\&quot;3\&quot; id=\&quot;excerpt_counter\&quot; readonly=\&quot;\&quot; style=\&quot;background:transparent; border:none;\&quot;&gt;&lt;/div&gt;&quot;);
    jQuery(&quot;#excerpt_counter&quot;).val(jQuery(&quot;#excerpt&quot;).val().length);
    jQuery(&quot;#excerpt&quot;).keyup( function() {
    jQuery(&quot;#excerpt_counter&quot;).val(jQuery(&quot;#excerpt&quot;).val().length);
    });
});&lt;/script&gt;';
}

add_action('admin_head', 'kb_excerptCharacterCount');
</pre>
<h2>Darstellung im WordPress-Editor</h2>
<p>Innerhalb des WordPress-Editors wird die Zeichenzahl nun wie folgt abgebildet. </p>
<figure><img src="http://media.kulturbanause.de/blog/2012/05/wordpress-artikelauszug.png" alt="Artikelauszug in WordPress" title="Artikelauszug in WordPress" width="550" height="160" class="alignnone size-full wp-image-7932" /></figure>
<p>Wenn ihr den Artikelauszug nicht sehen könnt, klickt oben rechts im Editor zunächst auf „Optionen einblenden“ und aktiviert anschließend den „Auszug“. </p>
<p>Mit diesem Snippet könnt ihr den Artikelauszug optimal auf die von Google erlaubten 156 Zeichen in der Meta-Description anpassen. Eventuell werden so für euch zusätzliche SEO-Plugins überflüssig. </p>
<figure><img src="http://media.kulturbanause.de/blog/2012/05/google-description-wordpress-excerpt.png" alt="Meta-Description in Google" title="Meta-Description in Google" width="550" height="119" class="alignnone size-full wp-image-7933" /></figure>
<ul>
<li><a href="http://www.sagerock.com/blog/title-tag-meta-description-length/" target="_blank">Title Tag and Meta Description Length for Google, Yahoo, Bing &#038; Ask</a> - Sagerock</li>
<li>via <a href="http://www.ilovecolors.com.ar/character-counter-excerpt-wordpress/" target="_blank">Add a character counter for the excerpt in WordPress</a> - I Love Colors</li>
<li><a href="https://codex.wordpress.org/Function_Reference/the_excerpt" target="_blank">The Excerpt</a> - WordPress Codex</li>
<li><a href="http://www.texto.de/die-vielen-moeglichkeiten-von-the_excerpt-die-artikel-kurzfassung-von-wordpress-1218/" target="_blank">die vielen Möglichkeiten von the_excerpt – die Artikel Kurzfassung von WordPress</a> - Texto.de</li>
<li><a href="http://www.clickonf5.org/11357/how-to-get-the-post-excerpt-outside-wordpress-loop/" target="_blank">How to Get The Post Excerpt Outside WordPress Loop</a> - clickonf5.org</li>
</ul>
<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.kulturbanause.de/2012/05/anzahl-der-zeichen-im-excerpt-anzeigen-fur-perfekte-google-descriptions/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>WordPress: Minimale Anzahl an Wörtern je Beitrag erzwingen</title>
		<link>http://blog.kulturbanause.de/2012/05/wordpress-minimale-anzahl-an-wortern-je-beitrag-erzwingen/</link>
		<comments>http://blog.kulturbanause.de/2012/05/wordpress-minimale-anzahl-an-wortern-je-beitrag-erzwingen/#comments</comments>
		<pubDate>Fri, 18 May 2012 07:08:55 +0000</pubDate>
		<dc:creator>Jonas Hellwig</dc:creator>
				<category><![CDATA[Tipps, Hacks, Snippets]]></category>
		<category><![CDATA[Backend]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://blog.kulturbanause.de/?p=7925</guid>
		<description><![CDATA[<div><img width="140" height="140" src="http://media.kulturbanause.de/blog/2012/05/wordpress-veroeffentlichen-button-cursor.png" class="attachment-post-thumbnail wp-post-image" alt="WordPress - Artikel veröffentlichen" title="WordPress - Artikel veröffentlichen" /></div>Das Layout einer Website erwartet häufig bestimmte Textmengen für die einzelnen Seitenelemente. Ähnlich wie beim Layout einer Zeitung müssen die [...]<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></description>
			<content:encoded><![CDATA[<div><img width="140" height="140" src="http://media.kulturbanause.de/blog/2012/05/wordpress-veroeffentlichen-button-cursor.png" class="attachment-post-thumbnail wp-post-image" alt="WordPress - Artikel veröffentlichen" title="WordPress - Artikel veröffentlichen" /></div><p><strong>Das Layout einer Website erwartet häufig bestimmte Textmengen für die einzelnen Seitenelemente.</strong> Ähnlich wie beim Layout einer Zeitung müssen die Texte nicht nur inhaltlich für Besucher und Suchmaschinen optimiert werden sondern sollen auch im Layout gut aussehen. Insbesondere zu wenig Inhalt führt da schnell zu hässlichen Darstellungen.<br />
Mit folgendem Snippet könnt ihr eine Mindestanzahl an Wörtern für neue Beiträge festlegen. Spärlich gefüllte Teaser o.ä. gehören so der Vergangenheit an. </p>
<p><span id="more-7925"></span></p>
<h2>functions.php anpassen</h2>
<p>Öffnet die <code>functions.php</code> eures Themes und fügt folgenden Code ein.  Die Zahl der Wörter könnt ihr in Zeile 4 anpassen. </p>
<pre class="brush: php; title: ; notranslate">
// Mindestanzahl an Wörtern je Beitrag 
function minWordsPerPost($content){
	global $post;
                $num = 100; // Anzahl Wörter festlegen
		$content = $post-&gt;post_content;
	if (str_word_count($content) &lt;  $num)
	        wp_die( __('Fehler: Dein Beitrag muss mindestens 100 Wörter umfassen.') );
}

add_action('publish_post', 'minWordsPerPost');
</pre>
<p>Wenn ihr anschließend einen Beitrag veröffentlichen wollte der zu wenig Wörter hat erscheint folgende Fehlermeldung. </p>
<figure><img src="http://media.kulturbanause.de/blog/2012/05/wordpress-mindestanzahl-woerter.png" alt="Fehlermeldung bei zu wenigen Wörtern im Beitrag" title="Fehlermeldung bei zu wenigen Wörtern im Beitrag" width="550" height="143" class="alignnone size-full wp-image-7926" /></figure>
<ul>
<li>via: <a href="http://www.wprecipes.com/how-to-define-a-minimum-word-count-per-post" target="_blank">How to define a minimum word count per post</a></li>
</ul>
<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.kulturbanause.de/2012/05/wordpress-minimale-anzahl-an-wortern-je-beitrag-erzwingen/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Beiträge aus WordPress-Suche entfernen</title>
		<link>http://blog.kulturbanause.de/2012/05/beitrage-aus-wordpress-suche-entfernen/</link>
		<comments>http://blog.kulturbanause.de/2012/05/beitrage-aus-wordpress-suche-entfernen/#comments</comments>
		<pubDate>Wed, 09 May 2012 08:27:39 +0000</pubDate>
		<dc:creator>Jonas Hellwig</dc:creator>
				<category><![CDATA[Tipps, Hacks, Snippets]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://blog.kulturbanause.de/?p=7836</guid>
		<description><![CDATA[<div><img width="140" height="140" src="http://media.kulturbanause.de/blog/2012/05/wordpress-search.png" class="attachment-post-thumbnail wp-post-image" alt="wordpress-search" title="wordpress-search" /></div>Die WordPress-Suche ist bekanntlich nicht die Beste, lässt sich aber durch Plugins wie Search Everything oder Relevanssi deutlich optimieren. Manchmal [...]<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></description>
			<content:encoded><![CDATA[<div><img width="140" height="140" src="http://media.kulturbanause.de/blog/2012/05/wordpress-search.png" class="attachment-post-thumbnail wp-post-image" alt="wordpress-search" title="wordpress-search" /></div><p><strong>Die WordPress-Suche ist bekanntlich nicht die Beste, lässt sich aber durch Plugins wie <a href="http://wordpress.org/extend/plugins/search-everything/" title="Search Everything Plugin für WordPress" target="_blank">Search Everything</a> oder <a href="http://wordpress.org/extend/plugins/relevanssi/" title="Relevanssi Plugin für WordPress" target="_blank">Relevanssi</a> deutlich optimieren.</strong> Manchmal findet die WordPress-Suche allerdings Artikel oder Seiten die nicht in den Suchergebnissen auftauchen sollen. Wie z.B. die „Danke“-Seite eines Kontaktformulars. Mit folgendem Snippet blendet ihr unerwünschte Beiträge in der Suche aus. </p>
<p><span id="more-7836"></span></p>
<h2>Artikel über functions.php entfernen</h2>
<p>Öffnet die <code>functions.php</code> eures Themes und fügt folgende Zeilen ein. </p>
<pre class="brush: php; title: ; notranslate">
/* Beiträge aus der WordPress-Suche entfernen */
function kb_exclude_from_search($query) {
    if ($query-&gt;is_search) {
        $query-&gt;set('post__not_in', array(1111, 2222)); /* IDs anpassen! */
    }
    return $query;
}

add_filter('pre_get_posts','kb_exclude_from_search');
</pre>
<p>Die Stellen mit „1111“ und „2222“ passt ihr an: hier gehören die IDs der Beiträge hin die ausgeblendet werden sollen. </p>
<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.kulturbanause.de/2012/05/beitrage-aus-wordpress-suche-entfernen/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>WordPress: Passwort-Formular für geschützte Artikel anpassen</title>
		<link>http://blog.kulturbanause.de/2012/05/wordpress-passwort-formular-fur-geschutzte-artikel-anpassen/</link>
		<comments>http://blog.kulturbanause.de/2012/05/wordpress-passwort-formular-fur-geschutzte-artikel-anpassen/#comments</comments>
		<pubDate>Fri, 04 May 2012 09:00:36 +0000</pubDate>
		<dc:creator>Jonas Hellwig</dc:creator>
				<category><![CDATA[Artikel]]></category>
		<category><![CDATA[Formulare]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://blog.kulturbanause.de/?p=7823</guid>
		<description><![CDATA[<div><img width="140" height="140" src="http://media.kulturbanause.de/blog/2012/05/wordpress-passwort-geschuetzt.png" class="attachment-post-thumbnail wp-post-image" alt="wordpress-passwort-geschuetzt" title="wordpress-passwort-geschuetzt" /></div>Wenn Ihr in WordPress einen Beitrag mit einem Passwort geschützt habt, fügt das System automatisch ein Formular für die Anmeldung [...]<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></description>
			<content:encoded><![CDATA[<div><img width="140" height="140" src="http://media.kulturbanause.de/blog/2012/05/wordpress-passwort-geschuetzt.png" class="attachment-post-thumbnail wp-post-image" alt="wordpress-passwort-geschuetzt" title="wordpress-passwort-geschuetzt" /></div><p><strong>Wenn Ihr in WordPress einen Beitrag mit einem Passwort geschützt habt, fügt das System automatisch ein Formular für die Anmeldung in den Beitrag ein.</strong> Leider lässt sich dieses Formular nicht über ein eigenes Template editieren. Die entsprechende Datei befindet sich im WP-Core – würde also bei jedem Update überschrieben.<br />
Über die <code>functions.php</code> des Themes kann das Formular dennoch überschrieben werden. </p>
<p><span id="more-7823"></span></p>
<h2>Passwort-Form über functions.php editieren</h2>
<p>Fügt folgenden Code in die <code>functions.php</code> eures Themes ein. Statt einer Anpassung des WordPress-Core nutzen wir einen Filter für <code>the_password_form()</code>.<br />
Das Formular wird anschließend mit den Werten des Snippets überschrieben.  </p>
<pre class="brush: php; title: ; notranslate">
function kb_ind_pw_form () {
	$output = '
		  &lt;form action=&quot;'.get_option('siteurl').'/wp-pass.php&quot; method=&quot;post&quot;&gt;&lt;fieldset&gt;'.&quot;\n&quot;
		.'&lt;label for=&quot;post_password&quot;&gt;Bitte Passwort eingeben:&lt;/label&gt;'.&quot;\n&quot;
		.'&lt;input name=&quot;post_password&quot; type=&quot;password&quot; size=&quot;10&quot; /&gt;'.&quot;\n&quot;
		.'&lt;input type=&quot;submit&quot; name=&quot;Submit&quot; value=&quot;'.__(&quot;Einloggen&quot;).'&quot; /&gt;'.&quot;\n&quot;
		.'&lt;/p&gt;'.&quot;\n&quot;
		.'&lt;/fieldset&gt;&lt;/form&gt;'.&quot;\n&quot;;
	return $output;
}
add_filter(&quot;the_password_form&quot;,&quot;kb_ind_pw_form&quot;);
</pre>
<figure><img src="http://media.kulturbanause.de/blog/2012/05/wordpress-password-form.png" alt="WordPress Passwort Formular" title="WordPress Passwort Formular" width="550" height="189" class="alignnone size-full wp-image-7825" /></figure>
<p class="small">via <a href="http://simbo.de/blog/2009/12/wordpress-passwort-formular-anpassen/" target="_blank">simbo.de</a>. vielen Dank :)</p>
<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.kulturbanause.de/2012/05/wordpress-passwort-formular-fur-geschutzte-artikel-anpassen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress: „Geschützt“-Hinweis in passwortgeschützten Artikeln entfernen</title>
		<link>http://blog.kulturbanause.de/2012/05/wordpress-%e2%80%9egeschutzt-hinweis-in-passwortgeschutzten-artikeln-entfernen/</link>
		<comments>http://blog.kulturbanause.de/2012/05/wordpress-%e2%80%9egeschutzt-hinweis-in-passwortgeschutzten-artikeln-entfernen/#comments</comments>
		<pubDate>Fri, 04 May 2012 09:00:30 +0000</pubDate>
		<dc:creator>Jonas Hellwig</dc:creator>
				<category><![CDATA[Tipps, Hacks, Snippets]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://blog.kulturbanause.de/?p=7815</guid>
		<description><![CDATA[<div><img width="140" height="140" src="http://media.kulturbanause.de/blog/2012/05/wordpress-passwort-info-artikel-entfernen.png" class="attachment-post-thumbnail wp-post-image" alt="wordpress-passwort-info-artikel-entfernen" title="wordpress-passwort-info-artikel-entfernen" /></div>WordPress bietet eine sehr komfortable Möglichkeit Beiträge mit einem Passwort zu versehen und den entsprechenden Artikel dadurch nur für bestimmte [...]<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></description>
			<content:encoded><![CDATA[<div><img width="140" height="140" src="http://media.kulturbanause.de/blog/2012/05/wordpress-passwort-info-artikel-entfernen.png" class="attachment-post-thumbnail wp-post-image" alt="wordpress-passwort-info-artikel-entfernen" title="wordpress-passwort-info-artikel-entfernen" /></div><p><strong>WordPress bietet eine sehr komfortable Möglichkeit Beiträge mit einem Passwort zu versehen und den entsprechenden Artikel dadurch nur für bestimmte User zugänglich zu machen.</strong> In der Editor-Ansicht kann auf der rechten Seite  im Bereich „Veröffentlichen“ unter „Sichtbarkeit“ ein Passwort festgelegt werden. Anschließend ist der Beitrag geschützt. Doch leider ergänzt WordPress den Titel des Beitrag um den Hinweis „Geschützt: “. Mit folgendem Snippet entfernt Ihr diese Info. </p>
<p><span id="more-7815"></span></p>
<h2>functions.php anpassen</h2>
<p>Öffnet die <code>functions.php</code> eures Themes und fügt folgende Zeilen ein: </p>
<pre class="brush: php; title: ; notranslate">
/* &quot;geschützt&quot; aus dem Beitragstitel entfernen */
function kb_remove_pw_pr_info ( $title_with_info ) {
$title_with_info = str_replace( 'Gesch&amp;uuml;tzt: ', '', $title_with_info );
$title_with_info = str_replace( 'Geschützt: ', '', $title_with_info );
return $title_with_info;
}
add_filter('the_title', 'kb_remove_pw_pr_info');
</pre>
<p>Per <code>str_replace</code> werden die Zeichen im Titel durch einen leeren String ersetzt. Diese Zeichenersetzung wirkt also auch wenn ihr die Zeichen manuell im Titel verwenden solltet. </p>
<figure><img src="http://media.kulturbanause.de/blog/2012/05/wordpress-passwort-geschuetzt-artikel-entfernen.png" alt="WordPress - Passwort geschützt Hinweis entfernen" title="WordPress - Passwort geschützt Hinweis entfernen" width="550" height="315" class="alignnone size-full wp-image-7817" /><br />
<figcaption>Passwortgeschützter Beitrag im Standard-Theme von WordPress</figcaption>
</figure>
<h2>"Privat"-Hinweis entfernen</h2>
<p>In WordPress besteht ebenfalls die Möglichkeit einen Beitrag als „privat“ zu kennzeichnen. In diesem Fall wird ebenfalls eine Info in den Titel eingefügt. Der folgende Code entfernt auch diesen Hinweis. </p>
<pre class="brush: php; title: ; notranslate">
/* &quot;privat&quot; &amp; &quot;geschützt&quot; aus dem Beitragstitel entfernen */
function kb_remove_pw_pr_info ( $title_with_info ) {
$title_with_info = str_replace( 'Gesch&amp;uuml;tzt: ', '', $title_with_info );
$title_with_info = str_replace( 'Geschützt: ', '', $title_with_info );
$title_with_info = str_replace( 'Privat:', '', $title_with_info );
return $title_with_info;
}
add_filter('the_title', 'kb_remove_pw_pr_info');
</pre>
<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.kulturbanause.de/2012/05/wordpress-%e2%80%9egeschutzt-hinweis-in-passwortgeschutzten-artikeln-entfernen/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Navigationspunkte im WordPress-Backend ausblenden und umbenennen</title>
		<link>http://blog.kulturbanause.de/2012/04/navigationspunkte-im-wordpress-backend-ausblenden-und-umbenennen/</link>
		<comments>http://blog.kulturbanause.de/2012/04/navigationspunkte-im-wordpress-backend-ausblenden-und-umbenennen/#comments</comments>
		<pubDate>Tue, 10 Apr 2012 08:09:43 +0000</pubDate>
		<dc:creator>Jonas Hellwig</dc:creator>
				<category><![CDATA[Tipps, Hacks, Snippets]]></category>
		<category><![CDATA[Backend]]></category>
		<category><![CDATA[Navigation]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://blog.kulturbanause.de/?p=7680</guid>
		<description><![CDATA[<div><img width="140" height="140" src="http://media.kulturbanause.de/blog/2012/04/wordpress-menu-individualisieren.png" class="attachment-post-thumbnail wp-post-image" alt="wordpress-menu-individualisieren" title="wordpress-menu-individualisieren" /></div>Wenn ihr WordPress für Kundenprojekte einsetzt, ist das Backend häufig umfangreicher als es für die Bedürfnisse des Kunden notwendig ist. [...]<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></description>
			<content:encoded><![CDATA[<div><img width="140" height="140" src="http://media.kulturbanause.de/blog/2012/04/wordpress-menu-individualisieren.png" class="attachment-post-thumbnail wp-post-image" alt="wordpress-menu-individualisieren" title="wordpress-menu-individualisieren" /></div><p><strong>Wenn ihr WordPress für Kundenprojekte einsetzt, ist das Backend häufig umfangreicher als es für die Bedürfnisse des Kunden notwendig ist. </strong>Damit im Dashboard nur die Navigationspunkte auftauchen die der Kunde auch wirklich benötigt bietet es sich an ein paar Anpassungen vorzunehmen. In diesem Beitrag möchte ich euch verschiedene Snippets, Links und Plugins vorstellen mit denen ihr das Dashboard individualisieren könnt. </p>
<p><span id="more-7680"></span></p>
<h2>Verschiedene Lösungsansätze</h2>
<p>Bevor ihr Änderungen am WordPress-Theme vornehmt oder ein Plugin verwendet  solltet ihr prüfen ob die Standard-Benutzerverwaltung von WordPress nicht bereits zum Ziel führt. Wenn für den Kunden beispielsweise nur die administrativen Menüeinträge versteckt werden sollen, bietet es sich an eine schwächere Benutzerrolle (z.B. den Redakteur) zu verwenden. </p>
<figure><img src="http://media.kulturbanause.de/blog/2012/04/wordpress-menu-editor.png" alt="" title="wordpress-menu-editor" width="550" height="269" class="alignnone size-full wp-image-7681" /><br />
<figcaption>WordPress-Plugin: Admin Menu Editor</figcaption>
</figure>
<p>Eine weitere Möglichkeit das Backend abzuspecken ist der Einsatz eines Plugins wie <a href="http://wordpress.org/extend/plugins/admin-menu-editor/" target="_blank">Admin Menu Editor</a> oder <a href="http://wordpress.org/extend/plugins/wplite/" target="_blank">WPlite</a>. Mit diesem Plugin können unerwünschte Menüpunkte und Boxen ausgeblendet werden. Inwiefern sich hier ein Plugin anbietet ist wohl abhängig von der Art der Anpassung die ihr vornehmen wollt.</p>
<p>Zuletzt besteht noch die Möglichkeit die Anpassungen selbst über die <code>functions.php</code> des Themes vorzunehmen.  Für diesen Weg möchte ich euch zwei Snippets vorstellen.  </p>
<h2>Navigationspunkte ausblenden</h2>
<p>Wenn ihr Navigationspunkte ausblenden möchtet, kopiert das folgende Snippet in die <code>functions.php</code> eures Themes. Alle Menüeinträge innerhalb des Arrays werden entfernt.  </p>
<pre class="brush: php; title: ; notranslate">
/* Navigationspunkte aus dem WordPress-Dashboard entfernen */ 
function remove_menus () {
global $menu;
		$restricted = array(__('Artikel'), __('Mediathek'), __('Links'), __('Seiten'), __('Kommentare'), __('Design'), __('Plugins'), __('Benutzer'), __('Werkzeuge'), __('Einstellungen'));
		end ($menu);
		while (prev($menu)){
			$value = explode(' ',$menu[key($menu)][0]);
			if(in_array($value[0] != NULL?$value[0]:&quot;&quot; , $restricted)){unset($menu[key($menu)]);}
		}
}
add_action('admin_menu', 'remove_menus');
</pre>
<h2>Dashboard Menüpunkte umbenennen</h2>
<p>Wenn Ihr Menüpunkte umbenennen möchtet könnt ihr dafür folgendes Snippet verwenden und einzelne Wörter per <code> str_replace</code> ersetzen. Die Ersetzung findet dann allerdings immer global im gesamten Menü statt, auch in den Untermenüs. </p>
<figure><img src="http://media.kulturbanause.de/blog/2012/04/wordpress-menu-umbenennen1.png" alt="" title="wordpress-menu-umbenennen" width="550" height="223" class="alignnone size-full wp-image-7684" /></figure>
<p>Kopiert folgenden Code in die <code>functions.php</code> des Themes. Anschließend legt ihr immer fest welche Zeichenkette mit welchem Wort ersetzt werden soll. Im nachfolgenden Beispiel ersetzen wir „Artikel“ mit „Blog-Beiträge“. </p>
<pre class="brush: php; title: ; notranslate">
/* Gezielte Wörter im WordPress-Dashboard-Menü umbenennen */ 
function kb_rename_dashboard_menu( $kb_rename_item ) 
{  
    $kb_rename_item = str_replace( 'Artikel', 'Blog-Beiträge', $kb_rename_item );
    $kb_rename_item = str_replace( 'artikel', 'blog-beiträge', $kb_rename_item );
    return $kb_rename_item;
}

add_filter( 'gettext', 'kb_rename_dashboard_menu' );
add_filter( 'ngettext', 'kb_rename_dashboard_menu' ); 
</pre>
<h2>Zum Thema</h2>
<p>Wenn ihr gezielt einen einzelnen Menüpunkt umbenennen möchtet, oder die Anordnung der Navigationspunkte umstellen wollt, könnt ihr direkt auf den Array des Dashboard-Menüs zugreifen. Ein ausführlicher Beitrag auf WPTuts gibt einen Einblick in die Materie. </p>
<ul>
<li><a href="http://wp.tutsplus.com/tutorials/creative-coding/customizing-your-wordpress-admin/" target="_blank">WPtuts: Customizing Your WordPress Admin</a></li>
<li><a href="http://10up.com/blog/2011/03/customizing-wordpress-admin/" target="_blank">Customizing WordPress Admin – updated for 3.1 with new tips! </a></li>
<li><a href="http://blog.kulturbanause.de/tag/dashboard/">Alle Beiträge auf kulturbanause zum Thema WordPress-Dashboard</a></li>
<ul>
<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.kulturbanause.de/2012/04/navigationspunkte-im-wordpress-backend-ausblenden-und-umbenennen/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>WordPress: Geplante Beiträge inkl. Permalink anzeigen</title>
		<link>http://blog.kulturbanause.de/2012/04/wordpress-geplante-beitrage-inkl-permalink-anzeigen/</link>
		<comments>http://blog.kulturbanause.de/2012/04/wordpress-geplante-beitrage-inkl-permalink-anzeigen/#comments</comments>
		<pubDate>Mon, 02 Apr 2012 07:20:25 +0000</pubDate>
		<dc:creator>Jonas Hellwig</dc:creator>
				<category><![CDATA[Tipps, Hacks, Snippets]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://blog.kulturbanause.de/?p=7650</guid>
		<description><![CDATA[<div><img width="140" height="140" src="http://media.kulturbanause.de/blog/2012/04/wordpress-time-machine.jpg" class="attachment-post-thumbnail wp-post-image" alt="wordpress-time-machine" title="wordpress-time-machine" /></div>WordPress bietet die Möglichkeit Beiträge zu planen und automatisch zu einem zukünftigen Zeitpunkt zu veröffentlichen. Die Funktion wird aber auch [...]<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></description>
			<content:encoded><![CDATA[<div><img width="140" height="140" src="http://media.kulturbanause.de/blog/2012/04/wordpress-time-machine.jpg" class="attachment-post-thumbnail wp-post-image" alt="wordpress-time-machine" title="wordpress-time-machine" /></div><p><strong>WordPress bietet die Möglichkeit Beiträge zu planen und automatisch zu einem zukünftigen Zeitpunkt zu veröffentlichen.</strong> Die Funktion wird aber auch häufig dazu eingesetzt eine Kalenderfunktion zu realisieren. Stark vereinfacht funktioniert das so: Die einzelnen Termine (Beiträge) werden zunächst geplant, anschließend wird ein individueller Loop verwendet um alle Beiträge anzuzeigen die den <code>post_status</code> <code>future</code> haben. Sobald das Datum erreicht ist, ändert WordPress den Status in <code>published</code>, folglich verschwinden abgelaufene Termine aus dem Kalender. Auf diese Weise lassen sich sehr schön anstehende Termine, beispielsweise die Tourdaten einer Band, anzeigen. Doch leider funktionieren bei diesem Prinzip die Permalinks nicht. </p>
<p><span id="more-7650"></span></p>
<h2>Geplante Beiträge nur für eingeloggte User / Admins sichtbar</h2>
<p>Sofern man die Termine nur in einer Übersicht anzeigen möchte funktioniert die Vorgehensweise mit dem individuellen Loop einwandfrei. Alle geplanten Inhalte des Beitrags lassen sich über den Loop und über RSS-Feeds abbilden. Möchte man hingegen auch eine Detailansicht (<code>single.php</code>) zu jedem Termin anbieten, steht man schnell vor einem Problem. Die Detailansicht, die über den von WordPress generierten Permalink erreichbar ist, funktioniert nicht. Nur eingeloggte User können die geplanten Beiträge sehen – alle anderen Besucher sehen einen Error 404. </p>
<h2>Alle geplanten Beiträge anzeigen</h2>
<p>Mit folgenden Code-Snippet ist das Problem gelöst. Alle geplanten Beiträge werden angezeigt unabhängig von Kategorie, Post Type etc.<br />
Fügt den nachfolgenden Code ganz einfach in die <code>functions.php</code> eures Themes ein. </p>
<pre class="brush: php; title: ; notranslate">
/* Show future posts for all categories, post types etc. */
function show_future_posts($posts)
{
   global $wp_query, $wpdb;
   if(is_single() &amp;&amp; $wp_query-&gt;post_count == 0)
   {
      $posts = $wpdb-&gt;get_results($wp_query-&gt;request);
   }
   return $posts;
}
add_filter('the_posts', 'show_future_posts');
</pre>
<p>Das Snippet habe ich im <a href="http://wordpress.org/support/topic/display-future-post-on-single-pageview" target="_blank">WordPress-Forum</a> ausgegraben. </p>
<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.kulturbanause.de/2012/04/wordpress-geplante-beitrage-inkl-permalink-anzeigen/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>WordPress: PHP-Dateien per Shortcode includieren</title>
		<link>http://blog.kulturbanause.de/2012/02/wordpress-php-dateien-per-shortcode-includieren/</link>
		<comments>http://blog.kulturbanause.de/2012/02/wordpress-php-dateien-per-shortcode-includieren/#comments</comments>
		<pubDate>Thu, 23 Feb 2012 09:12:09 +0000</pubDate>
		<dc:creator>Jonas Hellwig</dc:creator>
				<category><![CDATA[Tipps, Hacks, Snippets]]></category>
		<category><![CDATA[Backend]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://blog.kulturbanause.de/?p=7409</guid>
		<description><![CDATA[<div><img width="140" height="140" src="http://media.kulturbanause.de/blog/2012/02/wordpress-includes.png" class="attachment-post-thumbnail wp-post-image" alt="wordpress-includes" title="wordpress-includes" /></div>Innerhalb des WordPress-Editors lässt sich kein PHP-Code ausführen, was sinnvoll und nachvollziehbar ist, denn ansonsten gäbe es sichere einige zerschossene [...]<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></description>
			<content:encoded><![CDATA[<div><img width="140" height="140" src="http://media.kulturbanause.de/blog/2012/02/wordpress-includes.png" class="attachment-post-thumbnail wp-post-image" alt="wordpress-includes" title="wordpress-includes" /></div><p><strong>Innerhalb des WordPress-Editors lässt sich kein PHP-Code ausführen, was sinnvoll und nachvollziehbar ist, denn ansonsten gäbe es sichere einige zerschossene WordPress-Websites mehr.</strong> Ohne PHP könnt ihr allerdings auch keine externen Dateien inkludieren. Im Rahmen eines individuellen Themes seid ihr also, was die Möglichkeiten von PHP betrifft, auf die Bereiche vor und nach <code>&lt;?php the_content();?&gt;</code> begrenzt. Mit einem Shortcode holt ihr Includes in den Editor. </p>
<p><span id="more-7409"></span></p>
<h2>PHP-Includes per Shortcode ermöglichen</h2>
<p>Wenn Ihr Includes innerhalb des Inhaltsbereichs einsetzen möchtet, gibt es eine simple Lösung über Shortcodes. Zunächst wird in der <code>functions.php</code> folgender Code eingesetzt: </p>
<pre class="brush: php; title: ; notranslate">
// include files via shortcode
function include_file($atts) {
	extract(shortcode_atts(array('filepath' =&gt; 'NULL'), $atts));
	if ($filepath!='NULL' &amp;&amp; file_exists(TEMPLATEPATH.$filepath)){
	ob_start();
	include(TEMPLATEPATH.$filepath);
	$content = ob_get_clean();
	return $content;
	}
}

add_shortcode('include', 'include_file');
</pre>
<p>Anschließend könnt ihr innerhalb des Editors mit folgendem Shortcode beliebige Dateien inkludieren. Der Pfad der gewünschten Datei ist dabei relativ zum Root des Theme-Ordners. Die folgende Beispieldatei <code>deine-datei.php</code> liegt also im gleichen Verzeichnis wie die <code>styles.css</code></p>
<pre class="brush: xml; title: ; notranslate">
[include filepath='/deine-datei.php']
</pre>
<p class="info">
<strong>Bitte vorsichtig verwenden</strong><br />
Mit PHP-Code innerhalb des WordPress-Editors, könnt ihr eure Website stark beschädigen! Verwendet die hier vorgestellte Lösung also nur, wenn ihr wisst was ihr tut.
</p>
<p class="small">Das hier vorgestellte Snippet habe ich auf amberpanther.com gefunden. Diese Seite ist hier nicht verlinkt, da Google Maleware gefunden hat.</p>
<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.kulturbanause.de/2012/02/wordpress-php-dateien-per-shortcode-includieren/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>WordPress: Anzahl der Kommentare und Trackbacks getrennt darstellen</title>
		<link>http://blog.kulturbanause.de/2011/12/wordpress-anzahl-der-kommentare-und-trackbacks-getrennt-darstellen/</link>
		<comments>http://blog.kulturbanause.de/2011/12/wordpress-anzahl-der-kommentare-und-trackbacks-getrennt-darstellen/#comments</comments>
		<pubDate>Thu, 22 Dec 2011 15:45:23 +0000</pubDate>
		<dc:creator>Jonas Hellwig</dc:creator>
				<category><![CDATA[Tipps, Hacks, Snippets]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://blog.kulturbanause.de/?p=6913</guid>
		<description><![CDATA[<div><img width="140" height="140" src="http://media.kulturbanause.de/blog/2011/12/comments-trackbacks.png" class="attachment-post-thumbnail wp-post-image" alt="comments-trackbacks" title="comments-trackbacks" /></div>In WordPress ist es mit Bordmitteln, etwa einem Template Tag, leider nicht möglich die Anzahl der Kommentare und die der [...]<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></description>
			<content:encoded><![CDATA[<div><img width="140" height="140" src="http://media.kulturbanause.de/blog/2011/12/comments-trackbacks.png" class="attachment-post-thumbnail wp-post-image" alt="comments-trackbacks" title="comments-trackbacks" /></div><p><strong>In WordPress ist es mit Bordmitteln, etwa einem Template Tag, leider nicht möglich die Anzahl der Kommentare und die der Trackbacks getrennt von einander darzustellen. </strong>In der Datenbank unterscheidet WordPress hingegen beide Typen, und markiert echte Kommentare in einem zusätzlichen Feld. Mit einer entsprechenden Funktion kann geprüft werden ob das Feld ausgefüllt ist, wodurch sich beide Arten von Kommentaren einzeln anzeigen lassen. </p>
<p><span id="more-6913"></span></p>
<h2>Anzahl an Kommentaren darstellen</h2>
<p>Der folgende Code gehört üblicherweise in die <code>functions.php</code>. Er kann jedoch auch im gleichen Template eingesetzt werden.<br />
Die Funktion prüft ob Kommentare vorhanden sind und gibt (sofern das Ergebnis nicht Null ist) die Anzahl aus. </p>
<pre class="brush: php; title: ; notranslate">
function comment_count() { global $post; $thePostID = $post-&gt;ID; global $wpdb;
$count = &quot;SELECT COUNT(*) FROM $wpdb-&gt;comments WHERE comment_type = ' '
AND comment_post_ID = $thePostID&quot;; $co_number = $wpdb-&gt;get_var($count);
if ($co_number == 0) {} else {echo $co_number;} 
}
</pre>
<p>Mit folgenden Snippet wird die Anzahl der Kommentare an einer beliebigen Stelle des Themens dargestellt. </p>
<pre class="brush: php; title: ; notranslate">
&lt;?php comment_count(); ?&gt;
</pre>
<h2>Anzahl der Trackbacks darstellen</h2>
<p>Der Code für die Darstellung der Trackbacks funktioniert auf die gleiche Art und Weise. Folgendes Snippet gehört in die <code>functions.php</code>.</p>
<pre class="brush: php; title: ; notranslate">
function trackback_count() 
{ global $post;
$thePostID = $post-&gt;ID; global $wpdb; $count = &quot;SELECT COUNT(*) FROM $wpdb-&gt;comments
WHERE comment_type != ' '
AND comment_post_ID = $thePostID&quot;; $tb_number = $wpdb-&gt;get_var($count);
if ($tb_number == 0) {} else {echo $tb_number;} }
</pre>
<p>Mit diesem Snippet wird die Anzahl der Trackbacks ausgegeben. </p>
<pre class="brush: php; title: ; notranslate">
&lt;?php trackback_count(); ?&gt;
</pre>
<h2>Credits</h2>
<p>Dieses Snippet habe ich auf  denkvirtuose.de gefunden und unverändert übernommen. Es funktioniert einwandfrei und ist auch auf diesem Blog im Einsatz. Vielen Dank dafür! </p>
<ul>
<li><a target="_blank "href="http://denkvirtuose.de/wordpress/die-anzahl-der-kommentare-und-trackbacks-getrennt-anzeigen.html">denkvirtuose.de/wordpress/die-anzahl-der-kommentare-und-trackbacks-getrennt-anzeigen.html</a></li>
</ul>
<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.kulturbanause.de/2011/12/wordpress-anzahl-der-kommentare-und-trackbacks-getrennt-darstellen/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Daten per Link/URL an Zielseite übergeben</title>
		<link>http://blog.kulturbanause.de/2011/12/daten-per-linkurl-an-zielseite-ubergeben/</link>
		<comments>http://blog.kulturbanause.de/2011/12/daten-per-linkurl-an-zielseite-ubergeben/#comments</comments>
		<pubDate>Thu, 15 Dec 2011 11:06:28 +0000</pubDate>
		<dc:creator>Jonas Hellwig</dc:creator>
				<category><![CDATA[Tipps, Hacks, Snippets]]></category>
		<category><![CDATA[Navigation]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://blog.kulturbanause.de/?p=6871</guid>
		<description><![CDATA[<div><img width="140" height="140" src="http://media.kulturbanause.de/blog/2011/12/daten-uebertragen-per-link-parameter-url.png" class="attachment-post-thumbnail wp-post-image" alt="daten-uebertragen-per-link-parameter-url" title="daten-uebertragen-per-link-parameter-url" /></div>Wenn ihr Daten von einer Quellseite an eine Zielseite übergeben wollt, stehen euch verschiedene Möglichkeiten offen. Die Variante, auf die [...]<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></description>
			<content:encoded><![CDATA[<div><img width="140" height="140" src="http://media.kulturbanause.de/blog/2011/12/daten-uebertragen-per-link-parameter-url.png" class="attachment-post-thumbnail wp-post-image" alt="daten-uebertragen-per-link-parameter-url" title="daten-uebertragen-per-link-parameter-url" /></div><p><strong>Wenn ihr Daten von einer Quellseite an eine Zielseite übergeben wollt, stehen euch verschiedene Möglichkeiten offen.</strong> Die Variante, auf die ich in diesem Beitrag kurz eingehen möchte überträgt die Daten mit Hilfe der URL an eine Zielseite. Dazu werden dem Link verschiedene Parameter mitgegeben und auf der Zielseite mit dem PHP-Befehl GET wieder ausgelesen. </p>
<p><span id="more-6871"></span></p>
<h2>Grundsätzliche Funktionsweise</h2>
<p>Das Prinzip ist denkbar einfach. Ihr setzt einen ganz gewöhnlichen Link auf eine andere Seite und erweitert diesen lediglich um verschiedene Parameter/Werte-Paare. Verschiedene Parameter werden mit „&#038;“ von einander getrennt. </p>
<h4>Beispiel für einen Link mit zwei Parametern:</h4>
<pre class="brush: xml; title: ; notranslate">
&lt;a href=&quot;ziel.php&amp;parameter=wert&amp;parameter2=wert2&quot;&gt;Link&lt;/a&gt;
</pre>
<p>Auf der Zielseite wird anschließend der Wert zu einem bestimmten Parameter wieder ausgelesen. Das funktioniert mit folgendem Snippet: </p>
<pre class="brush: php; title: ; notranslate">
&lt;?php echo $_GET[&quot;parameter&quot;]; ?&gt;
&lt;?php echo $_GET[&quot;parameter2&quot;]; ?&gt;
</pre>
<p class="info clear">Beachtet bitte, dass die Parameter in der URL sichtbar sind und daher leicht manipuliert werden können. <strong>Für sensible Daten ist diese Art der Übertragung daher absolut nicht geeignet!</strong>  </p>
<h2>Beispielseite</h2>
<p>Ich habe ein Beispiel zu diesem Thema erstellt, das ihr hier live testen und herunterladen könnt. Es geht darum eine Farbe auszuwählen und die Eigenschaften dieser Farbe zu erfahren. Je nach Wahl werden unterschiedliche Paramenter mit dem Namen der Farbe, dem Hexadezimalcode und den Eigenschaften an die Zielseite übertragen und dort entsprechend zusammengesetzt. </p>
<h4>Live-Demo (Probiert es aus!):</h4>
<p><iframe src="http://media.kulturbanause.de/blog/2011/12/daten-uebertragen/start.php" frameborder="0" width="550" height="200"></iframe></p>
<p><a class="button demo" href="http://media.kulturbanause.de/blog/2011/12/daten-uebertragen/start.php" target="_blank">Live-Demo in neuem Fenster öffnen</a></p>
<h5 class="clear">HTML/PHP-Code der Ausgangsseite (start.php)</h4>
<pre class="brush: php; title: ; notranslate">
[...]

&lt;body&gt;
&lt;h1&gt;Welche Farbe gefällt dir am besten?&lt;/h1&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;ziel.php?Farbe=Rot&amp;Code=ff0000&amp;Eigenschaften=selbstbewusst, Liebe, Leidenschaft, Aufregung, Glück, glühend, dramatisch, kräftig, Lust, Kampf&quot;&gt;Rot&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;ziel.php?Farbe=Orange&amp;Code=ff9000&amp;Eigenschaften=ausgelassen, Vergnügen, süß, Kreativität, Genuss, energiegeladen, ungezwungen, inspirierend, ehrgeizig, spritzig&quot;&gt;Orange&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;ziel.php?Farbe=Gelb&amp;Code=fff000&amp;Eigenschaften=Gold, lustig, Hitze, strahlend, Glanz, Lebensfreude, aktiv, Fröhlichkeit, Energie, Sonne&quot;&gt;Gelb&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;ziel.php?Farbe=Grün&amp;Code=29c100&amp;Eigenschaften=Natur, Harmonie, Ruhe, Frische, Neid, beruhigend, Hoffnung, gesund, Leben, Erneuerung&quot;&gt;Grün&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;ziel.php?Farbe=Blau&amp;Code=0072c1&amp;Eigenschaften=zuverlässig, sympathisch, vertrauenswürdig, sicher, vernünftig, mutig, Offenheit, Intelligenz, Ferne, Autorität&quot;&gt;Blau&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;ziel.php?Farbe=Violett&amp;Code=7600c1&amp;Eigenschaften=kreativ, mächtig, extravagant, modisch, weiblich, unseriös, magisch, eitel, künstlich, sensibel, geheimnisvoll&quot;&gt;Violett&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/body&gt;

[...]
</pre>
<h4>HTML/PHP-Code der Zielseite (ziel.php)</h4>
<pre class="brush: php; title: ; notranslate">
[...]

&lt;body&gt;
&lt;h1 style=&quot;color:#&lt;?php echo $_GET[&quot;Code&quot;]; ?&gt;&quot;&gt; Du hast &lt;?php echo $_GET[&quot;Farbe&quot;]; ?&gt; gewählt. Eine schöne Farbe! &lt;/h1&gt;
&lt;p&gt;Wusstest du schon, dass mit &lt;?php echo $_GET[&quot;Farbe&quot;]; ?&gt; folgende Eigenschaften, Wirkungen und Assiziationen verbunden werden?&lt;/p&gt;
&lt;p&gt;&lt;?php echo $_GET[&quot;Eigenschaften&quot;]; ?&gt;&lt;/p&gt;

&lt;a href=&quot;start.php&quot;&gt;← Zurück zur Farbauswahl&lt;/a&gt;
&lt;/body&gt;

[...]
</pre>
<p>Ihr könnt alle Dateien des Beispiels auch herunterladen. </p>
<p><a href="http://media.kulturbanause.de/blog/2011/12/daten-per-url.zip" target="_blank" class="download button">Beispieldateien herunterladen </a></p>
<p class="small clear"><a href="http://daswebdesignblog.de/farbwirkungen-und-farbverwendung/393.html">Die Farbwirkungen für das Beispiel habe ich mir vom Webdesign Blog ausgeliehen. Vielen Dank dafür! </a></p>
<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.kulturbanause.de/2011/12/daten-per-linkurl-an-zielseite-ubergeben/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>WordPress Post-Thumbnails aus RSS-Feed auslesen. preg_match und Regular Expressions</title>
		<link>http://blog.kulturbanause.de/2011/12/wordpress-post-thumbnails-aus-rss-feed-auslesen-preg_match-und-regular-expressions/</link>
		<comments>http://blog.kulturbanause.de/2011/12/wordpress-post-thumbnails-aus-rss-feed-auslesen-preg_match-und-regular-expressions/#comments</comments>
		<pubDate>Tue, 13 Dec 2011 08:09:04 +0000</pubDate>
		<dc:creator>Jonas Hellwig</dc:creator>
				<category><![CDATA[Tipps, Hacks, Snippets]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[RSS]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://blog.kulturbanause.de/?p=6943</guid>
		<description><![CDATA[<div><img width="140" height="140" src="http://media.kulturbanause.de/blog/2011/12/wordpress-rss-feed.png" class="attachment-post-thumbnail wp-post-image" alt="wordpress-rss-feed" title="wordpress-rss-feed" /></div>Ab und zu möchte man den RSS-Feed seines WordPress Blogs auf einer anderen Seite einbinden, um dort beispielsweise die neuesten [...]<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></description>
			<content:encoded><![CDATA[<div><img width="140" height="140" src="http://media.kulturbanause.de/blog/2011/12/wordpress-rss-feed.png" class="attachment-post-thumbnail wp-post-image" alt="wordpress-rss-feed" title="wordpress-rss-feed" /></div><p><strong>Ab und zu möchte man den RSS-Feed seines WordPress Blogs auf einer anderen Seite einbinden, um dort beispielsweise die neuesten fünf Beiträge zu bewerben.</strong> <a href="http://blog.kulturbanause.de/2011/01/rss-feed-von-wordpress-auslesen/" title="RSS-Feed von WordPress auslesen">Der RSS-Feed ist schnell ausgelesen</a>,  ein Problem sind häufig die Post-Thumbnails der Artikel.<br />
Die Artikelbilder werden von WordPress nicht in den Feed übertragen. Um die Post-Thumbnails dennoch im Feed anzuzeigen, wird häufig in der <code>functions.php</code> <a href="http://www.wpbeginner.com/wp-tutorials/how-to-add-post-thumbnail-to-your-wordpress-rss-feeds/" target="_blank">ein Snippet</a> eingefügt das die Bilder in den Inhaltsbereich des Feeds lädt. Da sich die Bilder dann allerdings zusammen mit dem Text und anderen Bildern in einem Feed-Element befinden, ist schwierig sie gezielt auszulesen.</p>
<p><span id="more-6943"></span></p>
<h2>Element mit PHP preg_match identifizieren</h2>
<p>Das Artikelbild wird im Feed als <code>img</code> direkt vor dem eigentlichen Inhalt des Beitrags eingebunden. Semantisch betrachtet befindet es sich aber ebenso wie der Beitrag selbst innerhalb des Elements "<code>&lt;description&gt;</code>". Mit <code>preg_match</code> lasst sich das Artikelbild über die Dateiendung identifizieren und in einem Array speichern. Anschließend zeigen wir immer nur das erste Bild des Array. </p>
<p>Alles was ihr benötigt, ist eine Variabel bzw. ein Array in der ihr den Feed-Inhalt (<code>description</code>) verfügbar habt. Sollte das nicht der Fall sein, schaut euch bitte noch einmal diesen Artikel an: <a href="http://blog.kulturbanause.de/2011/01/rss-feed-von-wordpress-auslesen/" title="RSS-Feed von WordPress auslesen" target="_blank">RSS-Feed von WordPress auslesen</a>. </p>
<p>Im folgenden Beispiel-Code wird <code>$quelle</code> nach Bildern durchsucht, und diese der Reihe nach in <code>$ziel</code> abgespeichert. </p>
<pre class="brush: php; title: ; notranslate">
preg_match(&quot;/src=[\&quot;\']?([^\&quot;\']?.*\.(png|jpg|gif))[\&quot;\']?/i&quot;, $quelle, $ziel); // Bilder werden aus $quelle ausgelesen und in $ziel gespeichert.
</pre>
<p>Anschließend könnt ihr mit folgendem Code das erste Elemente des Array auslesen und in einem <code>img</code>-Tag einbinden.</p>
<pre class="brush: php; title: ; notranslate">
&lt;img &lt;?php print_r($ziel[0]); ?&gt; height=&quot;100&quot; width=&quot;100&quot; alt=&quot;&quot;/&gt;
</pre>
<p>Mit diesem "regulären Ausdruck" ist es möglich die Post-Thumbnails von WordPress aus dem Feed zu extrahieren und in Kombination mit anderen ausgelesenen Feed-Elementen auf einer externen Website darzustellen. </p>
<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.kulturbanause.de/2011/12/wordpress-post-thumbnails-aus-rss-feed-auslesen-preg_match-und-regular-expressions/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Theme Options Page für WordPress erstellen</title>
		<link>http://blog.kulturbanause.de/2011/11/theme-options-page-fur-wordpress-erstellen/</link>
		<comments>http://blog.kulturbanause.de/2011/11/theme-options-page-fur-wordpress-erstellen/#comments</comments>
		<pubDate>Mon, 14 Nov 2011 08:00:06 +0000</pubDate>
		<dc:creator>Jonas Hellwig</dc:creator>
				<category><![CDATA[Tipps, Hacks, Snippets]]></category>
		<category><![CDATA[Backend]]></category>
		<category><![CDATA[Google Analytics]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://blog.kulturbanause.de/?p=6607</guid>
		<description><![CDATA[<div><img width="140" height="140" src="http://media.kulturbanause.de/blog/2011/11/wordpress-theme-options-page.png" class="attachment-post-thumbnail wp-post-image" alt="wordpress-theme-options-page" title="wordpress-theme-options-page" /></div>Komplexe und hochwertige WordPress-Themes verfügen in der Regel über eine so genannte "Theme Options Page" - eine zusätzliche Seite im [...]<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></description>
			<content:encoded><![CDATA[<div><img width="140" height="140" src="http://media.kulturbanause.de/blog/2011/11/wordpress-theme-options-page.png" class="attachment-post-thumbnail wp-post-image" alt="wordpress-theme-options-page" title="wordpress-theme-options-page" /></div><p><strong>Komplexe und hochwertige WordPress-Themes verfügen in der Regel über eine so genannte "Theme Options Page" - eine zusätzliche Seite im Dashboard anhand der ein Benutzer das Theme über die normalen Möglichkeiten hinaus anpassen kann.</strong> Das TwentyEleven-Theme von WordPress wird beispielsweise mit einer solchen Options-Page ausgeliefert. Hier könnt ihr u.a. auswählen ob das Theme schwarz oder weiß sein soll, in welcher Farbe Verlinkungen auf der Website dargestellt werden und ob ihr eine Sidebar anzeigen möchtet.<br />
In diesem Beitrag möchte ich euch zeigen wie ihr selbst eine Theme-Options-Page erstellt. Anhand eines leicht verständlichen Beispiels werdet ihr das Prinzip sicher schnell auf eure eigenen Projekte übertragen können. </p>
<p><span id="more-6607"></span></p>
<h2>WordPress Theme-Options-Pages</h2>
<p>Ich möchte einmal kurz zusammenfassen was wir jetzt vorhaben. Wir erstellen eine Theme Options Page für ein beliebiges WordPress-Theme auf der wir zwei Eingabefelder platzieren. Das erste Eingabefeld dient dazu das Copyright-Datum im Footer des Themes anzupassen, in das zweite Feld kann der Benutzer seinen Google Analytics Tracking Code eintragen. Beide Anpassungen sind normalerweise nur möglich indem der Code der Website bearbeitet und anschließend hochgeladen wird. </p>
<figure>
<img src="http://media.kulturbanause.de/blog/2011/11/theme-options-page-wordpress-2011.png" alt="Theme Options-Page in WordPress-TwentyEleven" title="theme-options-page-wordpress-2011" width="550" height="400" class="alignnone size-full wp-image-6713" /></p>
<figcaption>Theme-Options-Page im 2011-Theme von WordPress</figcaption>
</figure>
<p>Wir arbeiten mit der functions.php des Themes, mit dem WordPress-Dashboard und mit der footer.php. Zunächst erstellen wir über die functions.php die Options-Seite mit allen Inhalten. Über das Dashboard können dann die Daten eingetragen werden. Die Eingabewerte werden in der Options-Tabelle der Datenbank abgelegt. Im letzten Schritt lesen wir die eingetragenen Werte in der footer.php des Themes wieder aus.</p>
<p>Das klingt kompliziert? Ist es aber nicht. 2x Copy &#038; Paste und alles läuft. </p>
<h2>functions.php - Theme Options Page anlegen</h2>
<p>Der folgende Code gehört in die functions.php eures Themes. Ich habe euch die einzelnen Bereiche der Datei im Code kommentiert. </p>
<pre class="brush: php; title: ; notranslate">

/* ------------------ */
/* theme options page */
/* ------------------ */

add_action( 'admin_init', 'theme_options_init' );
add_action( 'admin_menu', 'theme_options_add_page' );

// Einstellungen registrieren (http://codex.wordpress.org/Function_Reference/register_setting)
function theme_options_init(){
	register_setting( 'kb_options', 'kb_theme_options', 'kb_validate_options' );
}

// Seite in der Dashboard-Navigation erstellen
function theme_options_add_page() {
	add_theme_page('Optionen', 'Optionen', 'edit_theme_options', 'theme-optionen', 'kb_theme_options_page' ); // Seitentitel, Titel in der Navi, Berechtigung zum Editieren (http://codex.wordpress.org/Roles_and_Capabilities) , Slug, Funktion 
}

// Optionen-Seite erstellen
function kb_theme_options_page() {
global $select_options, $radio_options;
if ( ! isset( $_REQUEST['settings-updated'] ) )
	$_REQUEST['settings-updated'] = false; ?&gt;

&lt;div class=&quot;wrap&quot;&gt; 
&lt;?php screen_icon(); ?&gt;&lt;h2&gt;Theme-Optionen für &lt;?php bloginfo('name'); ?&gt;&lt;/h2&gt; 

&lt;?php if ( false !== $_REQUEST['settings-updated'] ) : ?&gt; 
&lt;div class=&quot;updated fade&quot;&gt;
	&lt;p&gt;&lt;strong&gt;Einstellungen gespeichert!&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;?php endif; ?&gt;

  &lt;form method=&quot;post&quot; action=&quot;options.php&quot;&gt;
	&lt;?php settings_fields( 'kb_options' ); ?&gt;
    &lt;?php $options = get_option( 'kb_theme_options' ); ?&gt;

    &lt;table class=&quot;form-table&quot;&gt;
      &lt;tr valign=&quot;top&quot;&gt;
        &lt;th scope=&quot;row&quot;&gt;Copyright&lt;/th&gt;
        &lt;td&gt;&lt;input id=&quot;kb_theme_options[copyright]&quot; class=&quot;regular-text&quot; type=&quot;text&quot; name=&quot;kb_theme_options[copyright]&quot; value=&quot;&lt;?php esc_attr_e( $options['copyright'] ); ?&gt;&quot; /&gt;&lt;/td&gt;
      &lt;/tr&gt;  
      &lt;tr valign=&quot;top&quot;&gt;
        &lt;th scope=&quot;row&quot;&gt;Google Analytics&lt;/th&gt;
        &lt;td&gt;&lt;textarea id=&quot;kb_theme_options[analytics]&quot; class=&quot;large-text&quot; cols=&quot;50&quot; rows=&quot;10&quot; name=&quot;kb_theme_options[analytics]&quot;&gt;&lt;?php echo esc_textarea( $options['analytics'] ); ?&gt;&lt;/textarea&gt;&lt;/td&gt;
      &lt;/tr&gt;
    &lt;/table&gt;
    
    &lt;!-- submit --&gt;
    &lt;p class=&quot;submit&quot;&gt;&lt;input type=&quot;submit&quot; class=&quot;button-primary&quot; value=&quot;Einstellungen speichern&quot; /&gt;&lt;/p&gt;
  &lt;/form&gt;
&lt;/div&gt;
&lt;?php }

// Strip HTML-Code:
// Hier kann definiert werden, ob HTML-Code in einem Eingabefeld 
// automatisch entfernt werden soll. Soll beispielsweise im 
// Copyright-Feld KEIN HTML-Code erlaubt werden, kommentiert die Zeile 
// unten wieder ein. http://codex.wordpress.org/Function_Reference/wp_filter_nohtml_kses
function kb_validate_options( $input ) {
	// $input['copyright'] = wp_filter_nohtml_kses( $input['copyright'] );
	return $input;
}
</pre>
<p>Es besteht natürlich auch die Möglichkeit die Theme-Options-Page in einer eigenen Datei anzulegen und diese dann in die functions.php zu laden. Das macht vor allem dann Sinn, wenn die Options-Seite sehr umfangreich ist. Mit diesem Snippet ladet ihr eine externe Datei in die functions.php. Die Datei muss im gleichen Verzeichnis wie die functions.php abgelegt werden.   </p>
<pre class="brush: php; title: ; notranslate">
require_once ( get_stylesheet_directory() . '/theme-options-page.php' );
</pre>
<h2>Theme-Options-Page im Dashboard</h2>
<p>Im WordPress-Backend findet ihr die Theme-Options-Page nun im Bereich "Design". </p>
<figure>
<img src="http://media.kulturbanause.de/blog/2011/11/wordpress-theme-options-page1.png" alt="" title="wordpress-theme-options-page" width="550" height="210" class="alignnone size-full wp-image-6733" /><br />
</figure>
<p>Tragt in beide Felder nun einen Testinhalt ein und speichert die Änderung. Im letzten Schritt übertragen wir die Eingabe in das entsprechende Template.  </p>
<h2>footer.php - Eingaben im Template anzeigen</h2>
<p>Alles was noch fehlt ist das Snippet um die gespeicherten Daten im Theme auszugeben. Für dieses Beispiel benutzt ihr dazu die footer.php.</p>
<p>Zunächst ruft ihr mit <code>get_options</code> (<a href="http://codex.wordpress.org/Function_Reference/get_option" target="_blank">codex.wordpress.org/Function_Reference/get_option</a>) die entsprechenden Werte aus der Datenbank ab. Anschließend stellt ihr die Inhalte über <code>echo</code> dar.</p>
<p>Das folgende Snippet gibt beide Inhalte direkt untereinander aus. </p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
 $options = get_option('kb_theme_options');
 echo $options['copyright'];
 echo $options['analytics'];
?&gt;
</pre>
<p>Das wars auch schon. </p>
<h2>Weitere Links zum Thema</h2>
<p>Wenn ihr euch eingehender mit der Erstellung von Theme-Options-Pages befassen wollt, schaut euch auch folgende empfehlenswerte Artikel und Tutorials an. </p>
<ul>
<li><a href="http://net.tutsplus.com/tutorials/wordpress/how-to-create-a-better-wordpress-options-panel/" target="_blank">net.tutsplus.com/tutorials/wordpress/how-to-create-a-better-wordpress-options-panel</a></li>
<li><a href="http://wpshout.com/create-an-advanced-options-page-in-wordpress/" target="_blank">wpshout.com/create-an-advanced-options-page-in-wordpress</a></li>
<li><a href="http://smashingwall.com/wordpress/theme-options-page-resources/" target="_blank">smashingwall.com/wordpress/theme-options-page-resources</a></li>
</ul>
<p>Außerordentlich lohnenswert ist auch diese Basis-Theme-Options-Page. Hier sind alle Arten von Eingabefeldern (Input, Select, Radio, Checkbox etc.) enthalten. </p>
<ul>
<li><a href="http://themeshaper.com/2010/06/03/sample-theme-options/" target="_blank">themeshaper.com/2010/06/03/sample-theme-options/</a></li>
</ul>
<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.kulturbanause.de/2011/11/theme-options-page-fur-wordpress-erstellen/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>WordPress-Dashboard mit dem eigenen Logo versehen</title>
		<link>http://blog.kulturbanause.de/2011/10/wordpress-dashboard-mit-dem-eigenen-logo-versehen/</link>
		<comments>http://blog.kulturbanause.de/2011/10/wordpress-dashboard-mit-dem-eigenen-logo-versehen/#comments</comments>
		<pubDate>Fri, 14 Oct 2011 05:49:32 +0000</pubDate>
		<dc:creator>Jonas Hellwig</dc:creator>
				<category><![CDATA[Tipps, Hacks, Snippets]]></category>
		<category><![CDATA[Backend]]></category>
		<category><![CDATA[Dashboard]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://blog.kulturbanause.de/?p=6470</guid>
		<description><![CDATA[<div><img width="140" height="140" src="http://media.kulturbanause.de/blog/2011/10/wordpress-dashboard-logo.png" class="attachment-post-thumbnail wp-post-image" alt="WordPress Dashboard-Logo austauschen" title="wordpress-dashboard-logo" /></div>Ich habe im vorausgegangenen Beitrag das Snippet zum Austausch des Login-Screen-Logos vorgestellt, nun möchte ich euch zeigen wie ihr das [...]<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></description>
			<content:encoded><![CDATA[<div><img width="140" height="140" src="http://media.kulturbanause.de/blog/2011/10/wordpress-dashboard-logo.png" class="attachment-post-thumbnail wp-post-image" alt="WordPress Dashboard-Logo austauschen" title="wordpress-dashboard-logo" /></div><p><strong>Ich habe im vorausgegangenen Beitrag das <a href="http://blog.kulturbanause.de/2011/10/wordpress-login-screen-individualisieren/" title="WordPress Login-Screen individualisieren">Snippet zum Austausch des Login-Screen-Logos</a> vorgestellt, nun möchte ich euch zeigen wie ihr das Logo innerhalb des WordPress-Dashboards ersetzen könnt.</strong><br />
Diese kleine Anpassung kann ebenfalls dazu beitragen, dass sich ein Kunde in WordPress wohler fühlt und das Gesamtprojekt (noch) positiver wahrnimmt. Auch dieses Snippet ist daher fester Bestandteil meines Basis-Themes das ich für alle WordPress-Projekte als technische Grundlage nutze und ständig weiterentwickle. </p>
<p><span id="more-6470"></span></p>
<h2>Logografik</h2>
<p>Das Icon im WordPress-Dashboard hat die Abmessungen 16 x 16 Pixel. Erstellt also ein eigenes Logo mit diesen Abmessungen und speichert es im Theme-Ordner <code>(../wp-content/themes/name-des-themes/img/logo-dashboard.png)</code> ab. Ihr könnt auch einen anderen Speicherort wählen, das folgende Snippet sucht jedoch im oben genannten Ordner nach der Grafik. </p>
<figure>
<img src="http://media.kulturbanause.de/blog/2011/10/wordpress-dashboard-logo-austauschen.png" alt="WordPress Dashboard-Logo austauschen" title="wordpress-dashboard-logo-austauschen" width="550" height="171" class="alignnone size-full wp-image-6508" /><br />
</figure>
<h2>functions.php</h2>
<p>Kopiert folgendes Snippet in die <code>functions.php</code> eures Themes und passt ggf. den Pfad zum Bild an. </p>
<pre class="brush: php; title: ; notranslate">
// replace dashboard logo
function kb_dashboard_logo() {
	echo '&lt;style type=&quot;text/css&quot;&gt;#header-logo { background-image: url('.get_bloginfo('template_directory').'/img/logo-dashboard.png) !important; }&lt;/style&gt;';
}

add_action('admin_head', 'kb_dashboard_logo');
</pre>
<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.kulturbanause.de/2011/10/wordpress-dashboard-mit-dem-eigenen-logo-versehen/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>WordPress Login-Screen individualisieren</title>
		<link>http://blog.kulturbanause.de/2011/10/wordpress-login-screen-individualisieren/</link>
		<comments>http://blog.kulturbanause.de/2011/10/wordpress-login-screen-individualisieren/#comments</comments>
		<pubDate>Wed, 12 Oct 2011 04:47:31 +0000</pubDate>
		<dc:creator>Jonas Hellwig</dc:creator>
				<category><![CDATA[Tipps, Hacks, Snippets]]></category>
		<category><![CDATA[Backend]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://blog.kulturbanause.de/?p=6462</guid>
		<description><![CDATA[<div><img width="140" height="140" src="http://media.kulturbanause.de/blog/2011/10/wordpress-logo-login.png" class="attachment-post-thumbnail wp-post-image" alt="wordpress-logo-login" title="wordpress-logo-login" /></div>Wenn ihr WordPress für Kundenprojekte einsetzt, macht es Sinn den Administrationsbereich optisch an das bestehende Corporate Design des Kunden anzupassen. [...]<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></description>
			<content:encoded><![CDATA[<div><img width="140" height="140" src="http://media.kulturbanause.de/blog/2011/10/wordpress-logo-login.png" class="attachment-post-thumbnail wp-post-image" alt="wordpress-logo-login" title="wordpress-logo-login" /></div><p><strong>Wenn ihr WordPress für Kundenprojekte einsetzt, macht es Sinn den Administrationsbereich optisch an das bestehende Corporate Design des Kunden anzupassen. </strong> Dieser sieht nämlich in der Regel das eigene Logo lieber als das von WordPress, und eine individualisierte Installation wirkt natürlich auch technisch hochwertiger.<br />
Der erste Kontaktpunkt zwischen Anwender und WordPress-Backend ist der Login-Bereich. Mit wenigen Zeilen Code tauscht ihr hier das WordPress-Logo gegen das des Kunden aus. Ein Snippet das unbedingt in die Theme-Vorlage wandern sollte. </p>
<p><span id="more-6462"></span></p>
<h2>Logografik erstellen</h2>
<p>Das Standard-WordPress-Logo hat die Abmessungen 326 x 67 Pixel. Am einfachsten ist es daher, wenn ihr euer Logo ebenfalls im Rahmen dieser Abmessungen anlegt.<br />
Das nachfolgende Snippet sucht innerhalb des Theme-Ordners <code>(../wp-content/themes/name-des-themes/img/logo-login.png)</code> nach der Grafik. Achtet also darauf, dass ihr das Bild auch an der richtigen Stelle ablegt. </p>
<figure><img src="http://media.kulturbanause.de/blog/2011/10/wordpress-login-screen-brading.png" alt="wordpress-login-screen-brading" title="wordpress-login-screen-brading" width="550" height="419" class="alignnone size-full wp-image-6478" /></figure>
<h2>functions.php</h2>
<p>Kopiert folgenden Code in die <code>functions.php</code> des Themes. Es werden drei Elemente des Login-Screens verändert.<br />
Zunächst wird das Logo gegen die von euch erstellte Grafik ausgetauscht. Anschließend wird die Verlinkung des Logos von wordpress.com auf die Startseite eurer Website umgeschrieben <code>get_bloginfo( 'blogname' )</code> und der Titel durch den Namen eures Blogs <code>get_option('blogname')</code> ersetzt. </p>
<pre class="brush: php; title: ; notranslate">
/* ----------------------- */
/* customized login-screen */
/* ----------------------- */

// logo
function kb_custom_login_logo() { ?&gt;
    &lt;style type=&quot;text/css&quot;&gt;
        body.login div#login h1 a {
            background-image: url(&lt;?php echo get_bloginfo( 'template_directory' ) ?&gt;/img/logo-login.png);
            padding-bottom: 30px;
        }
    &lt;/style&gt;
&lt;?php }

add_action( 'login_enqueue_scripts', 'kb_custom_login_logo' );

// link
function kb_custom_login_logo_url() {
    return get_bloginfo( 'url' );
}

add_filter( 'login_headerurl', 'kb_custom_login_logo_url' );

// title
function kb_custom_login_logo_url_title() {
    return get_bloginfo( 'blogname' );
}

add_filter( 'login_headertitle', 'kb_custom_login_logo_url_title' );

</pre>
<h2>Update 1</h2>
<p>Ich habe den Code oben angepasst, da spätestens ab WordPress 3.4 die URL unerwünschter Weise im Layout aufgetaucht ist. Nun funktioniert wieder alles einwandfrei. </p>
<h2>Links zum Thema</h2>
<p>Auch im WordPress-Codex findet man mittlerweile Infos zu diesem Thema: </p>
<ul>
<li><a href="http://codex.wordpress.org/Customizing_the_Login_Form" target="_blank">Customizing the Login Form</a> - WordPress-Codex</li>
</ul>
<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.kulturbanause.de/2011/10/wordpress-login-screen-individualisieren/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Die meist kommentierten WordPress-Beiträge der letzten 30 Tage anzeigen</title>
		<link>http://blog.kulturbanause.de/2011/10/die-meist-kommentierten-wordpress-beitrage-der-letzten-30-tage-anzeigen/</link>
		<comments>http://blog.kulturbanause.de/2011/10/die-meist-kommentierten-wordpress-beitrage-der-letzten-30-tage-anzeigen/#comments</comments>
		<pubDate>Sun, 02 Oct 2011 15:44:16 +0000</pubDate>
		<dc:creator>Jonas Hellwig</dc:creator>
				<category><![CDATA[Tipps, Hacks, Snippets]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://blog.kulturbanause.de/?p=6423</guid>
		<description><![CDATA[<div><img width="140" height="140" src="http://media.kulturbanause.de/blog/2011/09/wordpress-comment.png" class="attachment-post-thumbnail wp-post-image" alt="wordpress-comment" title="wordpress-comment" /></div>Um möglichst viele Besucher auf heiß diskutierte Beiträge des Blogs aufmerksam zu machen, lohnt es sich einen Bereich mit "beliebten [...]<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></description>
			<content:encoded><![CDATA[<div><img width="140" height="140" src="http://media.kulturbanause.de/blog/2011/09/wordpress-comment.png" class="attachment-post-thumbnail wp-post-image" alt="wordpress-comment" title="wordpress-comment" /></div><p><strong>Um möglichst viele Besucher auf heiß diskutierte Beiträge des Blogs aufmerksam zu machen, lohnt es sich einen Bereich mit "beliebten Artikeln" einzubinden.</strong> Mit den Custom Queries von WordPress ist es möglich Beiträge nach der Anzahl der abgegebenen Kommentare zu sortieren und in ihrer Anzahl zu begrenzen. Mit dieser Technik werden jedoch auch veraltete, aber viel kommentierte Artikel berücksichtigt. Um nur aktuelle Trends abzubilden muss daher ein Zeitfenster definiert werden. </p>
<p><span id="more-6423"></span></p>
<h2>Code-Snippet</h2>
<p>Mit dem folgenden Code-Snippet ist es möglich zunächst nur die Beiträge der letzten 30 Tage auszulesen und anschließend nach der Anzahl der abgegebenen Kommentare zu sortieren. Die Anzahl der dargestellten Beiträge wird auf 5 beschränkt.<br />
Im letzten Schritt wird der WordPress-Loop gestartet und die Beiträge inkl. Beitragsbild, Titel und Verlinkung innerhalb einer ungeordneten Liste ausgegeben. </p>
<pre class="brush: php; title: ; notranslate">
&lt;ul&gt;
&lt;?php
function filter_where($where = '') {
    $where .= &quot; AND post_date &gt; '&quot; . date('Y-m-d', strtotime('-30 days')) . &quot;'&quot;; // Zeitfenster auf 30 Tage begrenzen
    return $where;
}

add_filter('posts_where', 'filter_where');

// WordPress Query
	$args = array(
		'posts_per_page' =&gt; 5,
		'order'    =&gt; 'DESC',
		'orderby' =&gt; 'comment_count'
	);
	query_posts( $args );

// WordPress-Loop
while (have_posts()): the_post(); ?&gt;

&lt;li&gt;
	&lt;a href=&quot;&lt;?php the_permalink(); ?&gt;&quot; title=&quot;&lt;?php the_title(); ?&gt;&quot;&gt;&lt;?php the_post_thumbnail( 'thumbnail' ); ?&gt;&lt;?php the_title (); ?&gt;&lt;/a&gt;
&lt;/li&gt;

&lt;?php endwhile;
	wp_reset_query();
?&gt;
&lt;/ul&gt;
</pre>
<p>Das Snippet ist bei mir im Einsatz und zeigt in der Sidebar die aktuellen Trends an. </p>
<p><a class="small" href="http://wpmu.org/daily-tip-display-your-most-popular-posts-in-the-last-30-days-without-a-plugin/" target="_blank">Der Code in diesem Artikel basiert auf einem Beitrag von wpmu.org</a></p>
<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.kulturbanause.de/2011/10/die-meist-kommentierten-wordpress-beitrage-der-letzten-30-tage-anzeigen/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>WordPress: Titel übergeordneter Seiten auslesen (direkter und oberster Vorfahre)</title>
		<link>http://blog.kulturbanause.de/2011/09/wordpress-titel-ubergeordneter-seiten-auslesen-direkter-und-oberster-vorfahre/</link>
		<comments>http://blog.kulturbanause.de/2011/09/wordpress-titel-ubergeordneter-seiten-auslesen-direkter-und-oberster-vorfahre/#comments</comments>
		<pubDate>Fri, 23 Sep 2011 10:42:40 +0000</pubDate>
		<dc:creator>Jonas Hellwig</dc:creator>
				<category><![CDATA[Tipps, Hacks, Snippets]]></category>
		<category><![CDATA[Navigation]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://blog.kulturbanause.de/?p=6386</guid>
		<description><![CDATA[<div><img width="140" height="140" src="http://media.kulturbanause.de/blog/2011/09/wordpress-page-title.png" class="attachment-post-thumbnail wp-post-image" alt="wordpress-page-title" title="wordpress-page-title" /></div>Bei der Erstellung eines WordPress-Themes kommt es häufiger vor, dass man nur den Titel einer übergeordneten Seite anzeigen möchte. Zum [...]<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></description>
			<content:encoded><![CDATA[<div><img width="140" height="140" src="http://media.kulturbanause.de/blog/2011/09/wordpress-page-title.png" class="attachment-post-thumbnail wp-post-image" alt="wordpress-page-title" title="wordpress-page-title" /></div><p><strong>Bei der Erstellung eines WordPress-Themes kommt es häufiger vor, dass man nur den Titel einer übergeordneten Seite anzeigen möchte. </strong>Zum Beispiel um für eine Metanavigation in der Sidebar eine Überschrift auszugeben.<br />
Besonders interessant ist in diesem Zusammenhang der Titel einer Eltern-Seite auf oberster Verschachtelungsebene. </p>
<p><span id="more-6386"></span></p>
<p>Bei einer Verschachtelungstiefe ab zwei, besteht ein Unterschied zwischen dem direkten Vorfahren einer Seite und dem Vorfahren auf oberster Ebene. Das folgende Beispiel zeigt eine Beispiel-Verschachtelung: </p>
<ul>
<li>Geografie
<ul>
<li style="color:black;">Städte
<ul>
<li style="color:black;">Berlin</li>
<li style="color:black;">Köln</li>
</ul>
</li>
<li style="color:black;">Flüsse
<ul>
<li style="color:black;">Spree</li>
<li style="color:black;">Rhein</li>
</ul>
</li>
</ul>
</li>
</ul>
<h2>Übergeordnete Seite auf oberster Ebene ausgeben</h2>
<p>Nehmen wir nun an wir befinden uns auf der Seite "Berlin". Mit dem folgenden Snippet geben wir den Vorfahren auf oberster Ebene aus. In unsererm Beispiel also "Geografie". </p>
<p>Dieses Snippet gehört entweder global in die <code>functions.php</code> oder ebenfalls in die Template-Datei. </p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
	 
function get_top_level_parent_title() {

global $post;
  if ( empty($post-&gt;post_parent) )
	{ the_title(); }
  else {
	$ancestors = get_post_ancestors($post-&gt;ID);
	end($ancestors);
	  echo get_the_title(end($ancestors));
  }
}

?&gt;
</pre>
<p>Um den Titel im Theme auszugeben verwendet ihr folgendes Snippet: </p>
<pre class="brush: php; title: ; notranslate">
&lt;?php get_top_level_parent_title() ?&gt;
</pre>
<h2>Direkten Vorfahren ausgeben</h2>
<p>Wenn wir nun auf Basis des gleichen Beispiels den direkten Vorfahren (Städte) auslesen wollten, muss das Snippet leicht modifiziert werden. </p>
<p>Code für die <code>functions.php</code>.</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
	 
function get_ancestor_title() {

global $post;
  if ( empty($post-&gt;post_parent) )
	{ the_title(); }
  else {
	$ancestors = get_post_ancestors($post-&gt;ID);
	end($ancestors);
	  echo get_the_title($ancestors[0]);
  }
}

?&gt;
</pre>
<p>Um den Titel im Theme auszugeben verwendet ihr  folgendes Snippet: </p>
<pre class="brush: php; title: ; notranslate">
&lt;?php get_ancestor_title() ?&gt;
</pre>
<p><a href="http://www.jonathan.vc/top-level-parent-page-wordpress.html" target="_blank">via</a></p>
<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.kulturbanause.de/2011/09/wordpress-titel-ubergeordneter-seiten-auslesen-direkter-und-oberster-vorfahre/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>WordPress: Untergeordnete Seiten gezielt ausgeben</title>
		<link>http://blog.kulturbanause.de/2011/09/wordpress-untergeordnete-seiten-gezielt-ausgeben/</link>
		<comments>http://blog.kulturbanause.de/2011/09/wordpress-untergeordnete-seiten-gezielt-ausgeben/#comments</comments>
		<pubDate>Fri, 23 Sep 2011 09:43:03 +0000</pubDate>
		<dc:creator>Jonas Hellwig</dc:creator>
				<category><![CDATA[Tipps, Hacks, Snippets]]></category>
		<category><![CDATA[Navigation]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://blog.kulturbanause.de/?p=6399</guid>
		<description><![CDATA[<div><img width="140" height="140" src="http://media.kulturbanause.de/blog/2011/09/wordpress-page-strcture.png" class="attachment-post-thumbnail wp-post-image" alt="wordpress-page-strcture" title="wordpress-page-strcture" /></div>In einem WordPress-Themes müssen häufig untergeordnete Seiten ausgegeben werden. Ich benötige diese Funktion regelmäßig um in der Sidebar die themenverwandten [...]<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></description>
			<content:encoded><![CDATA[<div><img width="140" height="140" src="http://media.kulturbanause.de/blog/2011/09/wordpress-page-strcture.png" class="attachment-post-thumbnail wp-post-image" alt="wordpress-page-strcture" title="wordpress-page-strcture" /></div><p><strong>In einem WordPress-Themes müssen häufig untergeordnete Seiten ausgegeben werden. </strong>Ich benötige diese Funktion regelmäßig um in der Sidebar die themenverwandten Seiten zur aktuell aufgerufenen Seite aufzulisten. In Kombination mit dem <a href="http://blog.kulturbanause.de/2011/09/wordpress-titel-ubergeordneter-seiten-auslesen-direkter-und-oberster-vorfahre/">Snippet für den Titel der Eltern-Seite</a> lässt sich hier sehr schnell eine individuelle Navigation erstellen.<br />
Mit Standard-Funktionen von WordPress können alle, oder nur ausgewählte Seiten eingeblendet werden. </p>
<p><span id="more-6399"></span></p>
<h2>Alle untergeordneten Seiten ausgeben</h2>
<p>Der folgende Code zeigt immer alle untergeordneten Seiten zur aktuell aufgerufenen Seite an. Auch Kinder von Kindern etc. </p>
<pre class="brush: php; title: ; notranslate">
&lt;ul&gt;
  &lt;?php wp_list_pages(&quot;title_li=&amp;child_of=&quot;.$post-&gt;ID); ?&gt;
&lt;/ul&gt;
</pre>
<h2>Verschachtelungstiefe begrenzen</h2>
<p>Wenn ihr die Tiefe beschränken wollt, erreicht ihr das mit dem Parameter "depth".<br />
"0" Entspricht hierbei allen Seiten. Mit "1", "2", "3" etc. legt ihr die Tiefe fest. Sollen also nur die direkten Nachkommen angezeigt werden - so benutzt folgenden Code: </p>
<pre class="brush: php; title: ; notranslate">  
&lt;ul&gt;
  &lt;?php wp_list_pages(&quot;depth=1&amp;title_li=&amp;child_of=&quot;.$post-&gt;ID); ?&gt;
&lt;/ul&gt;
</pre>
<p>Bei der hier beschriebenen Technik handelt es sich um eine WordPress-Standard-Funktion. Mehr dazu findet ihr hier: <a href="http://codex.wordpress.org/Function_Reference/wp_list_pages" target="_blank">codex.wordpress.org/Function_Reference/wp_list_pages</a></p>
<h3>Jetzt bist Du gefragt</h3><p>Gefällt Dir dieser Beitrag oder bist du anderer Meinung? Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freue ich mich auf deinen Kommentar.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.kulturbanause.de/2011/09/wordpress-untergeordnete-seiten-gezielt-ausgeben/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
