die erde unter unseren füßen

wir werden das blättern verlernen
wie einst das ackern
werden das denken verlernen
wie einst das fragen
vor dem reich gedeckten tisch werden wir hungern
wir werden jammern und klagen
egal wohin die moderne uns führt
es bleibt stets die gleiche erde
unter unseren füßen
die uns berührt

21.12.2013

mensch, befreie dich

mensch, befreie dich
aus dem käfig
den du nicht siehst
von den ketten
die du nicht spürst
schnappe nach der reinen luft
die dich umspült

bewaffne deinen geist mit kenntnis
verwerfe die hoffnung auf das paradies
wenn du wirklich frei bist
bist du bereits da
und du einer, der es genießt

21.12.2013

aufbruch

nur die verstoßenen
müssen fliehen
müssen wandern
auf der flucht vor dem system
und wenn schon aufbruch!
umsonst!
ersetzt er den "diktator"
durch einen ander'n!

21.12.2013

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 } ?>

die graue, gelbe menschenmasse

die graue, gelbe menschenmasse
wälzt sich durch ihre lebenszeit
hofft auf ein baldiges ende
– ein schnelles ist ja ein tabu! –
das sie befreit

trinker kreisen um laternen
arbeiter knüppeln ihre leiber
angestellte starren in flimmerkästen

wieviele millionen generationen
an hoffnungen hat man bereits begraben

den schwindel zu erkennen
und weiterzutragen
ist schwerer in diesen tagen:

lebe mensch, sei kein rädchen
nimm dir, was du zum leben brauchst
die ganz großen, glaube es mir,
tun es auch!

10.12.2013

Frag‘ Schbautzki!

Die Zeit ist rum, Schbautzki hat genug. Er braucht Input, wie die Schorle Sprudel braucht. Er sehnt sich nach dem Salz in der Suppe, nach der Cumulus Nimbus am blauen, sonnenerstrahlten Himmel!

Willst du wissen, was Schbautzki denkt, dann frage ihn! Schreibe ihm deine Frage. Seine E-Mail-Adresse lautet easchbautzki [ at ] wortediewandern.de.

2013 war das Jahr wichtiger politischer Entscheidungen: Bewältigung der Finanz- und Staatsschuldenkrise, Dortmund gegen Bayern im Finale der Championsleague und die Bundestagswahl. Apropos Bundestagswahl: Darf ich fragen, wen Sie gewählt haben?

Sie dürfen. (Schweigt) (Lacht). Ich mache es kurz. Erststimme: SPD. Zweitstimme: Piraten. Für mich sind die Piraten bereits ein adäquater FDP-Ersatz geworden. Basisdemokratisch, liberal, innovativ.

Ich traue ihnen zwar keine Regierungsmehrheit zu, aber in Kombination mit einer Volkspartei können sie einen guten Draht zwischen Volk und Regierung bilden.

Die Zeit der Piraten wird noch kommen, wenn nämlich die digitale Kommunikation und Arbeit flächenddeckend eingetreten ist. Wenn der Umgang mit Software und Internet so selbstverständlich geworden sein wird, dass die Benutzung des PC oder einer anderen Schnittstelle nicht mehr als Barriere wahrgenommen werden wird.

Ich glaube alle anderen Parteien sind nicht glaubwürdig. Der SPD wünsche ich, dass sie endlich begreift, dass ihr „Arbeiterparteiimage“ nicht mehr zeitgemäß ist, wenn es bereits mehr Angestellte als Arbeiter gibt. Wenn sie diesen Bewusstseinswandel vollzieht, eröffnen sich auch neue Themen und Bevölkerungsgruppen.

Jedem unzufriedenen Demokraten empfehle ich, den Wahlzettel ungültig zu machen. Noch ignorieren die parlamentarischen Parteien diese Kategorie einer Wahl (wie auch die mangelhafte Legitmation ihrer Vertretung den Stimmen aller Wahlberechtigten zu Folge – Die Fraktion der Nichtwählerinnen und Nichtwähler wäre die zweitgrößte im Deutschen Bundestag!)

Es ist ja auch eine Frage des Extremismus: Die Demokratie, die nicht zuhört, die nicht spricht, die nicht widerspricht, stirbt am Vertrauenstod.

Es gab ein Mal ein Manifest, dass besagte: „Märkte sind Gespräche“. Nehmt euch ein Beispiel, Krawattenköpfe: Demokratie ist Dialog!

Ein Punkt noch zur Bundestagswahl: Die FDP, die Sie jahrelang mit Zweitstimme wählten, ist nach 64 Jahren aus dem Parlament ausgeschieden. Ihr Resümée?

Es war absehbar. Ich habe es ja sogar unterstützt! Die FDP braucht diesen Schnitt. Er schmerzt, tut weh, als liberal eingestellter Mensch besonders.

Was soll’s? Sie hat die Programmatik vergeigt, den Anschluss ans Volk verloren. Sich nicht erklärt, nicht mit sich reden lassen. Letztlich scheitert der Liberalismus der FDP (der meiner Meinung keiner ist) an Überfrachtung von Ansprüchen und der Blindheit vor der Realität.

Ich kann die freie Marktwirtschaft gutheißen, wenn die Voraussetzungen stimmen: Personalkosten sind überall gleich, die gesetzlichen Rahmenbedingungen auch. Die Kaufkraft sowieso. Dann funktioniert sie. Aber in einer sich entwickelnden Welt, wo noch genügend Staaten in ihrer wirtschaftlichen Entwicklung hinterherhinken, da braucht es Verteilung und nicht Akkumulation.

Das große Ziel wäre der Liberalismus gewesen, wie der Sozialismus für DIE LINKE.

Ich schwanke nicht gern in Geschichte. Errungenschaften wie 64 Jahre Parlamentsbeteiligung, den ersten Bundespräsidenten stellen zu dürfen, im Grunde Urheber des Grundgesetzes und des Wirtschaftswunders zu sein, konnten leider weder die geistige Reifung hervorrufen, noch den nötigen Stolz befeuern, den eine liberale Partei immer braucht. Die Freiheit zu erklären ist eine schwere Aufgabe, erfordert Ausdauer, Gesprächsbereitschaft und Offenheit.

Ich dachte nach, über einen Eintritt, über ein Pamphlet, aber was soll’s! Der Liberalismus der FDP ist gescheitetert. Möge er neu entworfen werden. Von einer anderen Partei. Den Piraten, so hoffe ich. Vielleicht.