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.

11 Gedanken zu „Nur Artikel des aktuellen Jahres anzeigen

  1. buy cialis

    All require a doctor’s prescription for safety. There are also injectable drugs for erectile dysfunction. Some men sustain stronger erections by injecting these medications directly into the penis.

    Antworten
  2. how to download minecraft free

    Attractive section of content. I just stumbled upon your site and in accession capital
    to assert that I get actually enjoyed account your blog posts.

    Anyway I will be subscribing to your feeds and even I achievement you access
    consistently rapidly.

    Antworten
  3. comprar cialis online en españa

    El urólogo procederá posteriormente a una exploración física del paciente para determinar patología derivadas de la misma y lo complementará con una analítica de sangre completa y, posiblemente, una ecografía del pene para determina el estado de los vasos sanguíneos del mismo.

    Antworten
  4. viagra generico

    Al igual que el vardenafilo, su efecto se puede ver afectado si se consumen alimentos ricos en grasa. Por resultados casi inmediatos vaya a ereccion total. No debe esforzarse en utilizar palabras técnicas cuyo significado exacto pueda desconocer, por el contrario es conveniente utilizar un lenguaje sencillo.

    Antworten
  5. www.netgaincom.com

    Its like you learn my thoughts! You appear to grasp so much about this, like you wrote the guide in it or something.
    I feel that you simply can do with a few % to force the message house
    a bit, but instead of that, this is excellent blog.
    A great read. I will certainly be back.

    Antworten
  6. www.tkplanet.com

    I am not sure where you’re getting your info, but good topic.
    I needs to spend some time learning much more or understanding more.
    Thanks for wonderful info I was looking for this information for my mission.

    Antworten
  7. cosplay costumes

    Woah! I’m really digging the template/theme of this
    blog. It’s simple, yet effective. A lot of times it’s difficult to get that
    „perfect balance“ between usability and visual appeal. I must say you’ve done a
    fantastic job with this. Also, the blog loads super fast for me on Firefox.
    Superb Blog!

    Antworten
  8. Www.stolihotel.com

    With havin so much content and articles do you ever run into
    any problems of plagorism or copyright infringement?
    My site has a lot of exclusive content I’ve either written myself
    or outsourced but it seems a lot of it is popping it up all over the web without my permission. Do you know any ways to help
    prevent content from being stolen? I’d really appreciate it.

    Antworten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

Bist du ein Mensch? Dann kannst du bestimmt die folgende Aufgabe lösen. *