In einem aktuellen Projekt stellte sich mir folgende Aufgabe:
Von den (mehreren) einem Post angehängten Bildern sollte das ERSTE Bild in Medium-Größe im Beitrag angezeigt werden.
Bei Klick auf das Bild sollte eine Greybox (Plugin Greybox-Integrator) geöffnet werden, in der dann alle restlichen Bilder, die am Beitrag hängen angezeigt werden. Die Reihenfolge der Bilder sollte durch die Sortierung in der Post-Galerie bestimmt werden.
Hier ist der Code, mit dem es funktioniert (Code muss in den Loop eingefügt werden):
wordpress - automatically create Greybox imageset from images attached to post
<?php
//Die zum Post gehoerenden Bilder ins Array $images schreiben
//Put images from post in to array $images. Order by menu order defined in post gallery
$images = get_children( array('post_parent' => $post->ID, 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => 'ASC', 'orderby' => 'menu_order ID') );
//Pruefen, ob dem Beitrag Bilder angehaengt wurden.
//check if there are any images attached to the post
if (isset($images))
{
//Den Zaehler auf 0 setzen
//set counter to 0
$count=0;
//Alle Bilder im Array $images nacheinander durchlaufen
//go through all images in array $images
foreach( $images as $image )
{
$imageID = $image->ID;
//fuer jedes Bild im Array die URL von sowohl der Mittleren, als auch der grossen Groesse ermitteln.
//get medium and large image url for image
$medImageSrc = wp_get_attachment_image_src($imageID, $size='medium', $icon = false);
$largeImageSrc = wp_get_attachment_image_src($imageID, $size='large', $icon = false);
//Wenn es sich um das erste Bild im Array handelt...
//If it's the first image in the array
if ($count==0)
{
//Den Greybox-Code mit einem Vorschaubild ausgeben
//output Greybox Code with medium size preview
echo"<a href='$largeImageSrc[0]' rel='shadowbox[Bilder]'><img src='$medImageSrc[0]' border='0'></a>";
}
//alle Bilder ,die nach dem erstern Bild kommen
//this is for all the images that come after the first one
else
{
//unsichtbare Greybox-Verknuepfung darstellen.
//create invisible Greybox-Links without preview image
echo"<a href='$largeImageSrc[0]' rel='shadowbox[Bilder]'></a>";
}
//Zaehler erhoehen.
//increase counter
$count++;
} //foreach
}
?>
<!--ENDE Automatic Greybox -->
Google reagiert gerne zickig auf sogenannten “doppelten Content”.
In der Vergangenheit sind natürlich einige clevere Menschen auf die Idee gekommen, man könnte doch eventuell eine bessere Stellung bei Google erreichen, wenn man einfach die eigene Seite mehrfach kopiert und an verschiedenen Stelllen veröffentlicht.
Das haben die Damen und Herren von Google irgendwann auch gemerkt und seitdem reagiert Google sehr empfindlich auf solche Versuche.
Leider betrifft das auch Webseitenanbieter, die wider Willen doppelten Content anbieten. Viele Provider reservieren nämlich gleich zwei Domänen (http://www.domänex.de und http://domänex.de) also einmal mit www. und einmal ohne. Oft werden beide Domänen gleichzeitig auf die eigene Homepage gelenkt.
Was bedeutet, daß Google sich angegriffen fühlt, weil es ja den gleichen Inhalt unter zwei völlig verschiedenen Domänen vorfindet.
Dieses Problem kann man umgehen, indem man eine .htaccess Datei erstellt, die folgende Anweisung enthält:
edit htaccess to prevent duplicate content
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www. [NC]
RewriteCond %{HTTP_HOST} !^$
RewriteRule ^(.*) http://www.%{HTTP_HOST}/$1 [R=301]
Mit dieser Regel werden alle Aufrufe von domain.de auf www.domain.de umgeleitet. Und das auch noch Suchmaschinenfreundlich.
Die Datei Robots.txt liegt in der Regel im Hauptverzeichnis einer Webseite und bietet die Möglichkeit, ein wenig Einfluss auf das Verhalten der sogenannten Such-Bots (z.B. von Google) zu nehmen. Durch Einträge in dieser Datei kann man definieren, welche Bereiche der Seite bzw. der Verzeichnisstruktur auf dem Server vom Bot durchsucht werden sollen und aus welchen Verzeichnissen er lieber seine Schnüffelnase heraushalten soll.
Wenn man nun WordPress im Einsatz hat, gibt es ja mehrere Ordner mit dem Präfix wp- , in denen die Systemdateien von WordPress gespeichert sind. Diese Ordner gehen Google – mit Verlaub – nichts an.
Um zu verhindern, daß Google diese Ordner durchsucht, muss es im Root-Verzeichnis der Webseite die Datei robots.txt geben. Darin sollten nun folgende Zeilen stehen:
User-agent:*
Disallow: /wp-*
Mit der ersten Zeile wird mitgeteilt, dass sich die folgende Regel auf alle Suchmaschinen bezieht. (Hier wäre auch eine gezielte Regelung für Google möglich).
In der zweiten Zeile wird der Zugriff auf alle Verzeichnisse mit dem Präfix wp- verboten.
05.03.2009
Heute habe ich das Theme meiner Webseite geändert. Natürlich läuft auch meine Webseite mit WordPress. Um die Optik vollständig zu verändern, musste ich nur das neu erstellte WordPress-Theme hochladen und im Administrations-Bereich von WordPress aktivieren.
Im Falle meines neuen Portfolios habe ich die Möglichkeiten von WordPress genutzt, für spezifische Seiten oder News-Kategorien verschiedene Layouts zu verwenden. So kann sich die Kategorie “Portfolio” optisch stark vom “Blog” unterscheiden. Ebenso unterscheiden sich die Einzelansichten der beiden Kategorien.