Archiv für WordPress

WordPress – Artikelliste auf eigener Seite anzeigen

Ich habe kürzlich auf dem Freiluft Blog ein Theme im Magazin-Stil installiert. Dabei wird die Startseite völlig neu aufgeteilt. Ins Auge sticht natürlich erst mal der „Featured Content“ Bereich, darunter findet man die Auszüge aus 3 beliebten Kategorien.

Freiluft Blog

Das neue Layout hat leider den Nachteil, dass man nicht mehr durch die komplette Artikelliste blättern kann, wie man das von einem klassischen Blog Layout kennt. Deshalb wollte ich einen Link mit der Bezeichnung „Blog“ in der Hauptnavigationsleiste hinzufügen, welcher dann diese klassische Ansicht anzeigt.

Über die Ausgabe Einstellungen im Admin Bereich von WordPress konnte ich dies allerdings nicht bewerkstelligen. So musste ich einen kleinen Workaround basteln:

1. Eine neue Seite anlegen

Diese Seite dient als Container für die Artikelliste. Den Inhalt kann man leer lassen.

2. Das page.php Template bearbeiten

Das page.php Template wird wie folgt ergänzt :

<?php
if (is_page(‚blog‚)) {
global $paged;
query_posts(‚orderby=date&paged=‘ . $paged);
include(TEMPLATEPATH.“/archive.php“);
} else { ?>

Hier kommt der ursprüngliche Template Code

<?php } ?>

Der Parameter blog wird durch den Namen (Permalink) oder die ID der zuvor erstellten Seite ersetzt.

Das war’s dann auch schon. Ruft man jetzt diese Seite auf, lädt das Seiten Template (page.php)  nun das Archiv Template (archive.php) auf, und gibt die Liste aller Artikel in chronologischer Reihenfolge wieder.

Vielleicht kennt jemand eine elegantere Methode? Oder gibt es doch bereits eine integrierte Funktion in WordPress um die Artikelliste zusätzlich auch ausserhalb der Startseite anzuzeigen?

WordPress für iPhone

Ich teste gerade die WordPress Applikation für das iPhone, welche ich eben im App Store entdeckt habe. Mit dieser kann man recht einfach unterwegs neue Beiträge online stellen, und das gleich auf mehreren verschiedenen Blogs (praktisch für Leute die mehr als ein Blog pflegen). Aber die Tastatur des iPhones ist hier, ebenso wie diese sch### Autokorrektur, eine echte Qual für’s Bloggen. Deshalb mache ich auch Schluß hier :)

Vorsicht bei kostenlosen WordPress Templates

Ein Kollege hat mich heute Morgen darauf aufmerksam gemacht, dass ich doch auf der Seite vom Crossgolf Cup recht komische Werbung im Footer schalten würde. Nach Überprüfung musste ich feststellen, dass im Copyright Text im Fußbereich unter anderem Werbung für ein Arzneistoff namens Accutane, sowie eine Versicherung eingefügt wurde (siehe Screenshot).

Bei genauerem Hinsehen im Code des Footer-Templates habe ich ein kryptisches Javascript entdeckt, welches den HTML Code des Fußbereiches generiert. Ich habe den Code jetzt nicht im Detail analysiert, gehe aber davon aus, dass der Copyright Text von einem anderen Server geladen wird. Ich kann mich jedenfalls nicht daran erinnern, dass bereits solche Werbung im Footer stand, als ich das Template installiert habe.

Hat vielleicht sonst jemand schon mal Werbung in dieser Art in seinem Blog Template entdeckt?

Ich habe jetzt jedenfalls erstmal den kompletten Footer entfernt. Für mich grenzt diese Werbung nämlich an Spam und Bad Neighborhood. Vielleicht sollte ich auch gleich das komplette Theme wechseln.

Rechenaufgabe für Spambots

Da mittlerweile immer mehr Spamkommentare mit Jobangeboten einer komischen Logistik-Firma durch den Akismet-Filter dringen, habe ich beschlossen den Spambots eine Rechenaufgabe zu stellen. Mit dem Plugin Math Comment Spam Protection hat man diese auch in weniger als 5 Minuten in das Kommentar Template eingebaut. Wer mag kann das Plugin noch anpassen indem er zum Beispiel die Zahlen ausschreibt (eins, zwei, drei, …), und hat so einen weiteren Schutz.

Ach, ihr müsst euch natürlich auch der Rechenaufgabe stellen, aber ich denke das sollten die meisten hin bekommen. Sind ja keine Differential- oder Integralrechnungen :)

Permalink-Struktur ändern

wwwWer seine Permalink-Struktur nachträglich ändert, sollte sich bewusst sein welche Konsequenzen dieses Unterfangen auf den Traffic haben kann. Durch das Ändern der Struktur der URL werden sämtliche Links von ausserhalb des eigenen Blogs (z.B. von anderen Blogs, Webseiten, oder gar den Suchergebnisseiten von Google) ungültig, und der Besucher landet auf einer 404 Fehlerseite. Mal davon abgesehen, dass die Bounce Rate bei Blogs erfahrungsgemäss eh schon sehr hoch ist, verliert man so auch noch die letzten möglichen Leser.

Welchen Grund könnte man haben nachträglich die Permalink-Struktur des Blogs zu ändern? Schliesslich hat man bei Erstellen des Blogs doch gründlich überlegt wie man diese auslegt. Muahaha! Dachte ich auch, aber mir ist aufgefallen, dass ich beim Seven.lu Blog doch schon gerne mal einen Beitrag in eine andere Kategorie verschieben möchte. Das Problem ist, dass die Kategorie mit in die URL-Struktur des Beitrages mit eingebunden wird. Ändere ich also die Kategorie, ändere ich gleichzeitig die URL. Also habe ich beschlossen die Kategorie aus der URL zu entfernen, was dann folgendermassen aussieht :

/%year%-%monthnum%/%postname%

Doch damit wären wir wieder bei dem Problem mit den externen Links. Also muss man die nunmehr falschen Adressen auf die richtige URL umleiten. Dies geschieht am einfachsten mit Hilfe des mod_rewrite Moduls des Apache Webservers. In meinem Fall müssen also alle Anfragen in der Form /kategorie/jjjj-mm/post-titel nach /jjjj-mm/post-titel umgeleitet werden. Der Code um diesen permanenten Redirect (auch als 301 Redirect bekannt) zu bewerkstelligen ist recht simpel :

RewriteRule ^(.*)/([0-9]+)-([0-9]+)/(.*)$ /$2-$3/$4 [R=301,L]

So braucht man sich keine Sorgen um den Verlust von Besuchern zu machen. Ausserdem werden die Suchmachinen so rasch die alten Adressen durch die neuen URLs ersetzen.

Eine Einführung in URL-Rewriting mit dem Apache Modul findet man unter Anderem bei modrewrite.de. In der mod_rewrite Dokumentation von Apache findet man auch einige praktische Beispiele wie man das Modul nutzen kann. Komplexere reguläre Ausdrücke sind aber schon eine Wissenschaft für sich :)