Ich nutze Wordpress in der Version 2.8.6. .
{Link gelöscht}
Zum besseren Durchblick meinerseits habe ich die Divs unterschiedlich eingefärbt.
Zur Erklärung:
Ich versuche eine Automatisierung zu erstellen, die mir Konzertdaten sowohl in der Kategorie "Konzerte" (zu finden im Menü unter "Live->aktuelle Konzerte") als auch in der Sidebar anzeigt.
Dazu versehe ich den jeweiligen Post während des Erstellens zunächst mit folgenden Metadaten
datum
ort
location
uhrzeit
Diese lassen sich dann problemlos mit get_post_meta($id,$key,$single) auslesen. Für die eigentliche Konzertdaten-Seite habe ich also eine category-3.php erstellt, die ich nun innerhalb des Loops mit den Metadaten füttere. Klappt auch wunderbar.
Problem:
Wie schaffe ich das selbe in der Sidebar. Ich hatte mir überlegt, dass ich in der Sidebar.php ebenfalls die Loop einfüge und dann über the_category() die Kategorie des jeweiligen Posts auslese. Mit einer if-Abfrage kann ich dann bestimmen, ob aus diesem Post die Metadaten genommen werden sollen (Wenn's ein Konzerteintrag ist) oder nicht (wenn's ein normaler Newseintrag ist).
Aber aus irgendeinem Grund bekomme ich keinen Zugriff auf the_category(), obwohl ja in der oben verlinkten Dokumentation steht, dass man innerhalb der Loop Zugriff auf the_category hat.
Edit:
mit
the_category(', ')
klappts. Hatte den Inhalt der Klammer nicht beachtet.
Bleibt noch folgendes Problem
Die Loopschleife in der Sidebar scheint nurBeiträge durchzugehen, die gerade im Hauptfenster angezeigt sind. Wenn ich also unter News bin, erhalte ich mit the_category(', ') in der Sidebar alle Einträge, unter "Band" erhalte ich in der Sidebar allerdings nur einen Beitrag.
Ich bräuchte aber an jeder Stelle der Seite in der Sidebar immer die Konzerte mit Metadaten.
Liegt das daran, dass die Loop-Schleife im Hauptfenster zuerst aufgerufen war?
Wie schaffe ich es, dass die Loop in der Sidebar alle Posts "untersucht" und nicht nur die aktuell im Hauptfenster angezeigten?
Weiß gerade echt nicht mehr weiter. Ich wäre euch sehr dankbar, wenn ihr mir helfen könntet.
Hier die sidebar.php. Auf der Seite im Netz habe ich zur Zeit das
echo post_class();
drin.
<?php
/**
* @package WordPress
* @subpackage Default_Theme
*/
?>
<div id="sidebar" role="complementary">
<ul role="navigation">
<li><h2>Slowtide @</h2>
<ul><img src="http://51761409.de.strato-hosting.eu/wp/wp-content/themes/default/images/myspace_favicon.gif"></img> <a href="http://www.myspace.com/slowtidekw">Myspace</a></ul>
<ul><img src="http://51761409.de.strato-hosting.eu/wp/wp-content/themes/default/images/lastfm_favicon.gif"></img> <a href="http://www.lastfm.de/music/Slowtide">Last.fm</a></ul>
<ul><img src="http://51761409.de.strato-hosting.eu/wp/wp-content/themes/default/images/facebook_favicon.gif"></img> <a href="http://www.facebook.com/pages/Slowtide/52916520767?v=app_2347471856#/pages/Slowtide/52916520767?v=wall">Facebook</a></ul>
<ul><img src="http://51761409.de.strato-hosting.eu/wp/wp-content/themes/default/images/amazon_favicon.gif"></img> <a href="http://www.amazon.de/Origins-Slowtide/dp/B001NYNOMI/ref=sr_1_1?ie=UTF8&s=music&qid=1259856918&sr=1-1">Amazon</a></ul>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<?
the_category(', ')
?>
<?php endwhile; else: ?>
<p><?php _e('Sorry, no posts matched your criteria.'); ?></p>
<?php endif; ?>
</li>
</ul>
</div>
Alles anzeigen