Ich bin neugierig und alles, wofür ich Lösungen entwickle und die möglicherweise dir helfen können, findest du hier.

Mit dem Bus auf Rügen

Ein kürzlicher Busurlaub und die klammen Informationen des Internets haben mich dazu gebracht, dieses Bericht zu schreiben. Er handelt von meinen Erfahrungen und den Stellplätzen, die ich auf einer kleinen Bustour über die Insel Rügen gefunden habe.

Ursprünglich wollte ich mit meiner Freundin einen Campingbus chartern. Da wir uns aber zu spät gekümmert haben, sind wir auf die Idee gekommen, einfach einen Transporter zu mieten. Matraze hinten rein, Essen, Werkzeug und Nippes in Klappboxen und ab geht es.

Im Nachgang gefiel mir diese Lösung gut: großer Schlafraum und eine „hohe“ Decke.

Als Tranporter hatten wir einen VW TDI Transporter T4, fantastischerweise mit mehreren Schreiben im hinteren Bereich und einem Dachfenster. Diese Verglasung gefiel mir in sofern ganz gut, als dass sie mir einen guten Rundumblick erlaubt hat.

Unterwegs trafen wir einen Camper, der uns noch ein paar Tipps gegeben hat: wir hatten eine Kühlbox mitgenommen, die wir am Zigarettenanzünder angeschlossen haben. Nach zwei Tagen war die Batterie des Buses hin. Also: Wenn man einen Verbraucher mitnimmt, sollte man unbedingt eine zweite Batterie einpacken. Es gibt da wohl auch technische Vorrichtungen, die das Aufladen während des Fahrens erlauben.

Bezüglich des Essens: Wir waren der Meinung, da wir in Deutschland fuhren, dass wir durchaus frisches Essen mitnehmen konnten. Futtern wie bei Muttern sozusagen. Die Alternative heißt: Konserven einpacken, Trockenfutter und wenn frisches Essen, dann in solchen Portionen, die verzehrgerecht sind und wo wenig übrig bleibt.

Das hatten wir mit:

  • Kühlbox (34W, kühlt auf Umgebungstemperatur minus 15 Grad)
  • 5x4m Plane (ggf. zur Vergrößerung der überdachten Fläche)
  • Seile (in Zusammenspiel mit Plane und/oder Hängematte)
  • Hängematte
  • Zelt
  • Schlafsäcke (in einem Bus kann es nachts trotzdem sehr sehr kalt werden)
  • Campinggeschirr und -utensilien (Gaskocher, Lampen, Besteck etc.)
  • Klopapier
  • Müllsäcke
  • 20l-Kanister

Das hätten wir noch mitnehmen sollen:

  • Klappspaten für das kleine und große Geschäft
  • Kanister bzw. Beutel zum Duschen

Auf der Insel angekommen, begrüßte uns nachts erstmal ein richtig gewaltiges Unwetter. Das tat uns nichts an, wir suchten uns einen schönen Parkplatz und stiegen nach hinten. Licht aus, gute Nacht.

Unsere erste Übernachtungsmöglichkeit befand sich zwischen Bobbin und Sagard, hier südlich von Bobbin. Ein gepflegter Parkplatz mit Tischen, Bänken und Mülleimern.

Nicht genutzt, aber für interessant befunden, haben wir auch mehrere Parkplätze zwischen Glowe und Juliusruh. Tagsüber ist hier zwar ein Ticket zu lösen, aber ab 21 bis 8 Uhr ist das Parken kostenlos. Die Besonderheit an diesen Stellen ist der kurze Weg zum Strand (<300m).

Unsere zweite Übernachtungsmöglichkeit fanden wir auf der Suche nach dem Parkplatz Nordstrand, der inzwischen kostenpflichtig ist und bei dem das Übernachten explizit verboten ist (wobei vor Ort sich die Beschilderung widerspricht).

Der Standort hat eine Bank, jedoch keine Entsorgung.

Das – für uns – absolute Highlight ist dieser Stellplatz unweit der Siedlung Schwarbe: Bank und kurzer Weg zum Strand (<1000m) haben uns eine Weile dabehalten.

Alles in allem, war es eine sehr schöne Erfahrung. Was unglaublich entspannt, ist die gute Infrastruktur. Überall gibt es einen Supermarkt und Ausflugsziele sind über die ganze Insel verstreut.

Ich möchte an dieser Stelle noch etwas weitergeben: An den Stellplätzen sah es prinzipiell immer aufgeräumt aus. Wenn du mal mit dem Bus oder wie auch immer unterwegs bist, achte darauf, dass dein Übernachtungsort sauber und aufgeräumt bleibt.

Außerdem hilft das dabei, den ein oder anderen Stellplatz zu erhalten, weil die AnwohnerInnen keinen Grund haben, ihn für die Nutzung sperren zu lassen.

Ich hoffe, die Erfahrungen helfen dir weiter.

Nur Artikel des aktuellen Jahres anzeigen

Zuletzt hatte ich die Idee eines anderen Bloggers aufgegriffen, wie ich die Sharebuttons unterhalb meiner Artikel einbinden kann.

In diesem Beitrag beschreibe ich eine Lösung, mit deren Hilfe ich auf der Beitragsseite sowie auf allen Kategorie-Seiten nur die Artikel des aktuellen Jahres anzeigen lasse. Ich hatte dazu eine ganze Weile gesucht, aber nichts passendes gefunden.

Am Ende bin ich auch ganz froh darüber, weil ich eine Lösung gefunden habe, die ohne ein Plugin auskommt und meiner Meinung nach nur wenig Programmieraufwand mit sich bringt.

Das sind meine Bedingungen:

  • Das aktuelle WordPress 3.8 (zum Zeitunkt der Veröffentlichung dieses Artikels)
  • Ein Child-Theme des Twenty Twelve Themes von WordPress

Du benötigst:

  • Grundkenntnisse in PHP
  • Du benötigst Zugang zu den Dateien auf deinem Server, insbesondere zu den Dateien style.css und content.php deines Twenty Twelve Themes (!)

Mein Ziel ist es, dir meine Lösung so zu beschreiben, dass du sie möglichst einfach übernehmen kannst.

Wieder einmal heißt es: Funktioniere, du Skript!

Am Anfang öffne ich die Datei content.php meines Child-Themes und füge vor dem <article […]>-Tag folgenden Code ein:

<?php
	$currentyear = date('Y');
	$postyear = get_the_date('Y');
	$pattern = "/\/[0-9]{4}\/[0-9]{2}\//";
	$checkpattern = preg_match($pattern,$_SERVER['REQUEST_URI']);
	if ($postyear != $currentyear AND $checkpattern == 0) {} else {
?>

In der Variable $currentyear ist das aktuelle Jahr gespeichert, in der Variable $postyear das Jahr, in dem der Artikel veröffentlicht wurde. Die PHP-Funktion date() ermittelt das aktuelle Datum, ergänz um den Parameter ‚Y‘, reduziert sie das Ergebnis auf das aktuelle Jahr.

Die PHP-Funktion get_the_date() ist eine WordPress-Funktion, die das Veröffentlichungsdatum des Artikels ausliest. Der Parameter ‚Y‘ hat die gleiche Bedeutung wie bei der PHP-Funktion date().

Die Variable $pattern und $checkpattern sorgen dafür, dass die Artikel in den Archiven wieder eingeblendet werden. Wenn du genau wissen möchtest, wie das funktioniert (mit der PHP-Funktion preg_match() und regulären Ausdrücken), dann lass es mich wissen. Eine Erklärung in diesem Beitrag würde den Rahmen dieses Themas sprengen.

Wichtig: Die hier aufgeführte Lösung blendet die Artikel nur in den Zeitarchiven (deren Permalink in der Form www.deindomainname.de/Jahr/Monat/ verfasst ist) ein. Für andere Archivkriterien (Autor, Schlagwörter etc.) muss die preg_match()-Funktion erweitert bzw. angepasst werden.

Ich benutze nur das Zeitarchiv, deswegen stört mich dieses Manko nicht. Allerdings werde ich den Code nochmal verändern, um die Artikel auch im Autorenarchiv anzeigen zu lassen (und diesen Artikel entsprechend überarbeiten).

Wenn die Jahreszahlen nicht miteinander übereinstimmen und keine Archiv-Seite aufgerufen wird, dann wird der Artikel (alles zwischen <article></article>) ausgeblendet (zu erkennen an den geschweiften Klammern, die normalerweise den auszuführenden Code enthalten).

Die Angabe „else {“ leitet die Angaben ein, für den Fall, dass die Jahreszahlen identisch sind und das der Besucher keine Archivseite angefordert hat. Der Artikel wird wie gewünscht angezeigt.

Wichtig! Nach dem </article>-Tag am Ende der content.php muss noch die if-else-Funktion geschlossen werden:

<?php } ?>

Ich hoffe, ich konnte etwas Nützliches teilen und freue mich über eine Rückmeldung in den Kommentaren.

Eigene Sharebuttons für den WordPress-Blog

Wenn du auf gedichtkueche.de kommst, siehst du unter jedem Artikel die „Teilen“-Schaltflächen für E-Mail, Facebook, Google+ und Twitter.

Ich möchte dir in diesem Beitrag beschreiben, wie ich diese Schaltflächen in meine Seite eingebaut habe. Eins vornweg: Anregung für meine Lösung war dieser Beitrag.

Der Vorteil dieser Variante ist, dass ich ohne ein Plugin auskomme, die Schaltflächen datenschutzkonform sind und ich die Gestaltung komplett selbst in der Hand habe. Vom Programmieren hat meine Lösung die schöne Eigenschaft, dass Design und Funktion sauber getrennt sind und damit Konflikte ein Stück weit vermieden werden.

Bevor ich beschreibe, wie ich vorgegangen bin, benötigst du folgende Voraussetzungen:

  • Du besitzt einen selbst gehosteten WordPress-Blog.
  • Du solltest die Grundstruktur deines Themes kennen (empfohlen: Die Arbeit mit einem Child-Theme).
  • Du solltest Grundkenntnisse im Umgang mit HTML, PHP und CSS besitzen, um Fehlern beim Übertragen oder der Anpassung der Lösung an deine Bedürfnisse vorzubeugen.
  • Du solltest Zugang zum Server und deinen Dateien besitzen, um diese bearbeiten zu können (empfohlene Tools: www.web2ftp.de oder FileZilla).

Meine Bedingungen sind:

  • das aktuelle WordPress 3.7.1. (zum Zeitpunkt der Erstellung dieses Artikels)
  • mein Child-Theme für das Twentytwelve-Theme

First things first oder: zuerst die Funktion

Zum Einstieg benutze ich folgenden HTML/PHP-Code. Es handelt sich dabei um einen DIV-Container mit der CSS-Klasse „sharing“ (auf letzteres komme ich später zu sprechen).

Inhalt des Containers sind im Grunde genommen ein Link zum Mailen des Artikels und die Links zu den SocialMedia-Diensten.

<div class="sharing">
	<a href="mailto:?subject=Literaturtipp: <?php the_title();?>&amp;body=<?php the_permalink() ?>" title="Teile das Gedicht per E-Mail" class="email"></a>
	<a href="https://www.facebook.com/sharer/sharer.php?u=<?php echo urlencode(get_permalink($post->ID)); ?>&t=<?php echo rawurlencode(strip_tags(get_the_title())) ?>" target="blank" title="Teile das Gedicht bei Facebook" class="facebook"></a>
	<a href="https://plusone.google.com/_/+1/confirm?hl=de&url=<?php echo urlencode(get_permalink($post->ID)); ?>&title=<?php echo rawurlencode(strip_tags(get_the_title())) ?>" target="blank" title="Teile das Gedicht bei Google+" class="google"></a>
	<a href="https://twitter.com/intent/tweet?source=webclient&text=<?php echo rawurlencode(strip_tags(get_the_title())) ?>%20<?php echo urlencode(get_permalink($post->ID)); ?>" target="blank" title="Teile das Gedicht bei Twitter" class="twitter"></a>
</div>

Diesen Code setze ich in die content.php meines Child-Themes hinter dem Endtag </footer>. Die content.php ist eine Kopie der Datei content.php meines originalen Themes.

Hinweis: In dem Beitrag, von dem ich mich anregen lassen habe, steht, dass der Code in die single.php gehört. Leider kann ich das für mein Theme nicht bestätigen. Die Buttons werden dann nicht angezeigt. Der Autor des Beitrags verrät leider nicht, welches Theme er verwendet.

Was besagt der obige Code? Als Adresse der Links werden die URL’s der Anbieter angeben, die mit PHP-Code vervollständigt werden (alles, was in der Eigenschaft href=““ notiert ist). Hier solltest du nichts weiter ändern, damit das Teilen auch gut klappt.

Die Eigenschaft target=““ beschreibt, in welchem Fenster der neue Inhalt angezeigt wird. In meinem Beispiel wird ein neues Fenster geöffnet.

Unter title=““ kannst du einen Text angeben, der angezeigt wird, wenn der Besucher/die Besucherin mit der Maus über die Schaltfläche fährt.

Wie du vielleicht bemerkt hast, steht innerhalb des Linktags (<a></a>) nichts. Du könntest hier auch einen Text eingeben, der dann als Link dargestellt wird. Aber warum das in meiner Lösung nicht so ist, beschreibe ich dir zweiten wichtigen Teil: der Gestaltung mit CSS.

Funktionieren soll’s! Ach ja, und nett aussehen auch.

Sowohl der DIV-Container als auch die Links gehören zu jeweils einer CSS-Klasse („sharing“ und „email“ oder „facebook“ usw.). Dafür rufe ich die style.css meines Child-Themes auf und notiere dort:

.sharing {
	display:	block;
	margin-bottom:	20px;
	}
a.email {
	display:		block;
	width:			16px;
	height:			16px;
	background-image:	url(http://www.wortediewandern.de/wp-content/themes/twentytwelve-child/images/icons/email-16x16-grey.png);
	float: 			left;
	margin-right:		5px;
	}
a.email:hover {
	background-image:	url(http://www.wortediewandern.de/wp-content/themes/twentytwelve-child/images/icons/email-16x16.png);
	}
a.facebook {
	display:		block;
	width:			16px;
	height:			16px;
	background-image:	url(http://www.wortediewandern.de/wp-content/themes/twentytwelve-child/images/icons/facebook-16x16-grey.png);
	float: 			left;
	margin-right:		5px;
	}
a.facebook:hover {
	background-image:	url(http://www.wortediewandern.de/wp-content/themes/twentytwelve-child/images/icons/facebook-16x16.png);
	}
a.google {
	display:		block;
	width:			16px;
	height:			16px;
	background-image:	url(http://www.wortediewandern.de/wp-content/themes/twentytwelve-child/images/icons/google+-16x16-grey.png);
	float: 			left;
	margin-right:		5px;
	}
a.google:hover {
	background-image:	url(http://www.wortediewandern.de/wp-content/themes/twentytwelve-child/images/icons/google+-16x16.png);
	}
a.twitter {
	display:		block;
	width:			16px;
	height:			16px;
	background-image:	url(http://www.wortediewandern.de/wp-content/themes/twentytwelve-child/images/icons/twitter-16x16-grey.png);
	float:			left;
	margin-right:		5px;
	}
a.twitter:hover {
	background-image:	url(http://www.wortediewandern.de/wp-content/themes/twentytwelve-child/images/icons/twitter-16x16.png);
	}

Hier liegt nun die Lösung des Geheimnisses, warum der reine HTML-Code keine Schaltflächen anzeigt. Sie werden erst durch CSS-Angaben gestaltet.

Ich habe die Höhe und Breite (height und with), das Verhalten im Textfluss (display), die Hintergrundgrafik (background-image) und den Abstand zu anderen Elementen (margin-right; konkret den Abstand auf der rechten Seite) festgelegt. Prinizipiell ist das alles änderbar und anpassbar, so wie du es gern haben magst.

Konkret funktioniert es so, dass zwei Grafiken je Schaltflächen hinterlegt sind. Eine graue Grafik, die zu sehen ist, wenn der Besucher auf die Seite kommt und eine farbige Grafik, die erscheint, wenn der Besucher über die Schaltfläche fährt.

Im Grunde genommen, war es das auch schon. Wenn dich die Anleitung ratlos zurücklässt, dann stelle deine Frage in den Kommentaren, ich versuche dir dann zu antworten oder ggf. die Anleitung zu überarbeiten.

Erweiterung: Sharebuttons nur bei Artikeln einer bestimmten Kategorie anzeigen

Den oben dargestellten HTML/PHP-Code habe ich anschließend noch erweitert:

<?php if(in_category('Interview')) {} else { ?>
	<div class="sharing">
		<a href="mailto:?subject=Literaturtipp: <?php the_title();?>&amp;body=<?php the_permalink() ?>" title="Teile das Gedicht per E-Mail" class="email"></a>
		<a href="https://www.facebook.com/sharer/sharer.php?u=<?php echo urlencode(get_permalink($post->ID)); ?>&t=<?php echo rawurlencode(strip_tags(get_the_title())) ?>" target="blank" title="Teile das Gedicht bei Facebook" class="facebook"></a>
		<a href="https://plusone.google.com/_/+1/confirm?hl=de&url=<?php echo urlencode(get_permalink($post->ID)); ?>&title=<?php echo rawurlencode(strip_tags(get_the_title())) ?>" target="blank" title="Teile das Gedicht bei Google+" class="google"></a>
		<a href="https://twitter.com/intent/tweet?source=webclient&text=<?php echo rawurlencode(strip_tags(get_the_title())) ?>%20<?php echo urlencode(get_permalink($post->ID)); ?>" target="blank" title="Teile das Gedicht bei Twitter" class="twitter"></a>
	</div>
<?php } ?>

Durch folgende Angabe sage ich WordPress, dass es unter einem Artikel der angegebenen Kategorie bitte keine Sharebuttons anzeigen soll.

<?php if(in_category('Interview')) {} else { ?>

Diese Zeile besagt, dass bei Artikeln mit der Kategorie „Interview“ keine Sharebuttons angezeigt werden (umgesetzt durch die leeren {}). Der praktische Aspekt an der WordPress-Funktion in_category() ist, dass die Angabe um beliebig viele Kategorien erweitert werden kann. Ich könnte zum Beispiel den betreffenden Teil durch folgendes Beispiel ersetzen:

<?php if(in_category('Interview','Gedicht','Ankündigungen')) {} else { ?>

In diesem Beispiel werden die Sharebuttons also bei allen Artikeln ausgeblendet, die zur Kategorie „Interview“, „Gedicht“ oder „Ankündigungen“ gehören.

Wichtig ist, dass ich die if-else-Funktion nach dem DIV-Container (also nach dem </div>) durch folgende Angabe schließe:

<?php } ?>