<?php
$posttags = get_the_tags(); // Get articles tags
$home = get_bloginfo('url'); // Get homepage URL
// Check tagslug.png exists and display it
if ($posttags) {
foreach($posttags as $tag) {
$image = "/images/tag-images/$tag->slug.png";
if (file_exists("images/tag-images/$tag->slug.png")) {
echo '<a href="' . $home . '/tag/' . $tag->slug . '" /><img title="' . $tag->name . '" alt="' . $tag->name . '" src="' . $image . '" /></a>';
// If no image found, output something else, possibly nothing.
} else {
echo '<p>Not found</p>';
}
}
}
?>
Dieser Code gehört in die Schleife. Er sucht in einem bestimmten Verzeichnis nach Bildern, die den Slugs von Artikel-Tags entsprechen, zeigt sie an und verlinkt sie mit dem entsprechenden Tag-Archiv.
Gibt es einen Grund, warum Sie $image nicht im file_exists-Aufruf verwenden?
Hallo, an denjenigen, der das gepostet hat, das ist AWESOME, ein phänomenaler Zeitsparer.
Für alle, die dies verwenden möchten und keine WordPress-Master sind, haben Sie möglicherweise Probleme, dies auf Ihrer WordPress-Site zum Laufen zu bringen, aufgrund der Verzeichnisstruktur.
Der unten stehende Code funktioniert. Er ist derselbe wie sein obiger Code, findet aber Ihr 'uploads'-Verzeichnis für Sie (bereits im Code enthalten, kopieren und fügen Sie ihn genau hier ein)... (ach ja, übrigens, ich habe ihn von .png auf .jpg geändert, Sie können ihn bei Bedarf natürlich zurückändern).
HINWEIS: Meine 'home'- & 'uploads'-Verzeichnisse sind genau dort, wo sie waren, als ich WordPress geladen habe (d. h. wp-content/uploads). Wenn Sie Ihre verschoben haben (wie es WP Ihnen erlaubt), dann kann ich nichts versprechen. Ich glaube, es könnte in dieser Situation immer noch funktionieren, aber ich bin mir nicht sicher (ich spiele mich hier auch nur durch).
AUCH (wenn Sie nicht ganz verstehen, was das tut)
Wenn Sie ein Bild mit demselben Namen wie der Tag versehen, dem Sie es zuordnen möchten (d. h. tag-slug = tag-slug.jpg ... dann findet dieser Code dieses Bild in Ihrem Ordner 'wp-content/uploads' (d. h. demselben Ordner, den die WP-Medienbibliothek derzeit verwendet) und ordnet es diesem Tag zu, sodass Sie es in Ihrer Schleife neben allen Artikeln anzeigen können, die diesem Tag entsprechen.
Andernfalls müssten Sie eines dieser Tag-zu-Bild-Plugins verwenden und jeden Tag einzeln bearbeiten. Sie können also jetzt stattdessen einfach einen Haufen Bilder in Ihren wp-content/uploads-Ordner hochladen (richtig benannt, wie oben beschrieben) und dies wird sie automatisch zuordnen. Es ist großartig, spart viel Zeit und Kopfzerbrechen (viel, viel, viel Anerkennung an den Poster!).
Hinweis
In meinem Fall verwende ich 'Tags' für 'Quellautoren' (den Autor eines externen Artikels, den ich als Link-Post teile), daher habe ich nur einen (1) Tag pro Artikel.
Ich weiß nicht, was passiert, wenn Sie mehrere Tags haben (sowohl mit entsprechenden Bildern im Uploads-Ordner).
Okay, hier ist er, kein Kopfzerbrechen mehr, warum Sie dieses Ding nicht zum Laufen bringen...
Wenn Sie ein funktionierendes Beispiel sehen möchten
Ich benutze das auf meiner Seite, die ich gerade baue (feedweek.com, im Autorennamen verlinkt, nehme ich an). Ich verwende es auf allen Hauptfeeds und in der rechten Seitenleiste (wo immer Sie Fotos von Bloggern neben Beiträgen sehen). Die Seite ist live, aber noch nicht ganz bereit für die Primetime, daher könnte sie ein Durcheinander sein, wenn Sie zu einem ungünstigen Zeitpunkt vorbeischauen.
Das ist der funktionierende Code
vic maine
EDIT
Ich benutze ein Plugin, um die Tag- & Kategorie-Basen aus meinen URLs zu entfernen, daher fehlen im obigen Code die Tags aus der URL für den Ankerlink zur Tag-Seite.
Wenn Sie immer noch /tag/ in Ihren Tag-Seiten-URLs haben, müssen Sie dies ändern...
zu dem hier...
Dann sollte es so aussehen...
Wenn Ihre Website /tag/ in Ihren URLs zu Ihren Tag-Seiten hat, verwenden Sie diesen Code anstelle desjenigen, den ich in meinem ersten Kommentar eingefügt habe.
Übrigens ist es wirklich schön, dass man kein Konto erstellen muss, um Kommentare hinterlassen zu können. Ich hätte wahrscheinlich keine Lust gehabt, diese Korrekturen zu hinterlassen, wenn ich ein Konto hätte erstellen und mich anmelden müsste, um Kommentare zu posten...
... alles, was benötigt wird, ist nur ein Name und eine E-Mail-Adresse! schön.
Das funktioniert wirklich gut. Wie passe ich diesen Code nun an, damit er das Tag-Bild auf der Tag-Archivseite anzeigt? Es wäre toll, wenn diese Vorlage dasselbe Bild abrufen würde, damit ich nur einmal ein neues Bild erstellen muss (anstatt es manuell zur Tag-Beschreibung hinzufügen + in den Ordner hochladen zu müssen).
Ich habe den obigen Code ausprobiert, indem ich ihn in archive.php eingefügt habe, aber ich habe das Gefühl, dass er den 'tag' auf dieser Seite nicht erkennt.
@Silvan, das funktioniert überall. Ich benutze es unverändert in index.php, archive.php, single.php und sogar in meinen Seitenleisten auf jeder Seite meiner Website... fügen Sie es einfach so ein, wie Sie es in Ihrer index.php getan haben.
Ich habe Ihren Code hinzugefügt, aber ich sehe, dass er in meinen Themes sucht, anstatt im Upload-Verzeichnis von WP.
Ich habe einige Dateien zum Testen als
http://whatsq.com/wp-content/uploads/2015/05/Programming.png
aber ich sehe, dass NUR DER ELSE-TEIL DES CODES ausgeführt wird.
http://whatsq.com/wp-content/uploads/2015/04/pen.png (Ich habe es geändert)
Können Sie mir bitte sagen, was auf meiner Seite fehlt?
http://www.whtasq.com
Danke.
Raj
Der Code ist in der letzten Seitenleiste platziert