Nur eine Kategorie im Archiv

  • Hallo,

    ich betreibe seit einiger Zeit einen kleinen Blog (http://www.oklahoma-od.com) und kenne mich mit diesem ganzen php-Kram so gut wie gar nicht aus, darum bitte ich um Hilfe. Mein einziges Problem, was ich beheben möchte ist folgendes:

    Mein Blog gliedert sich quasi in 5 Kategorien. In der Sidebar habe ich ein monatliches Archiv, in dem nur die Meldungen aus Kategorie 1 ("Meldungen") zu finden sind. So soll es auch sein. Pro Seite werden bei mir 5 Beiträge angezeigt, ab dem 6. kann man zwischen "vorherigen" und "nächsten Meldungen" blättern. Das Problem tritt nun auf, wenn ich in einem Monat (z.B. Mai 2009) weniger als 5 Beiträge in Kategorie 1 geschrieben, aber wohl in anderen im Archiv nicht sichtbaren Kategorien weitere Beiträge verfasst habe. Dann passiert folgendes:

    http://www.weizenwemmser.com/oklahoma/?m=200905

    Es erscheint "vorherige Meldungen", obwohl gar keine vorherigen Meldungen aus Kategorie 1 vorhanden sind, sondern nur aus anderen Kategorien. Genau das soll unterbunden werden.

    Ich hoffe, ich konnte mich einigermaßen verständlich ausdrücken. Ich habe keinerlei Ahnung, wie man so etwas ändern kann, vermute aber, dass man in der Archive.php oder Archives.php rumfuschen muss, deswegen zitiere ich die Dateien mal.

    archives.php

    archive.php

    Vielleicht lässt sich das Problem ja einfach lösen und jemand ist so nett, mir zu antworten, was ich ändern muss. Falls das zu kompliziert sein sollte, sollte ich es lieber lassen. Aber einen Versuch muss es Wert sein. ;)

    Einmal editiert, zuletzt von maxe (25. Oktober 2009 um 13:13)

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • in archive.php musst du folgendes entfernen:

    Einmal editiert, zuletzt von maxe (25. Oktober 2009 um 13:14)

  • ähm okay habe es gerade nochmal gelesen:

    anscheinend willst du ja die Umbruchsfunktion oben und unten, dann
    füge das rot markierte unter das hier:

    PHP
    <?php query_posts($query_string . '&cat=1'); ?>
    <?php while (have_posts()) : the_post(); ?>

    könnte glauben, dass es daran liegt

  • Meine archiv.php sieht dann also so aus:

    PHP
    <?php get_header(); ?><?php if (have_posts()) : ?><?php $post = $posts[0]; // Hack. Set $post so that the_date() works. ?><?php /* If this is a category archive */ if (is_category()) { ?><h3 class="title"><?php echo single_cat_title(); ?> archiv</h3><?php /* If this is a daily archive */ } elseif (is_day()) { ?><h2 class="headline" style="text-transform:lowercase">archiv für<?php the_time('j. F Y'); ?></h2><?php /* If this is a monthly archive */ } elseif (is_month()) { ?><h2 class="headline" style="text-transform:lowercase">archiv für<span style="text-transform:lowercase"><?php the_time('F, Y'); ?></span></h2><?php /* If this is a yearly archive */ } elseif (is_year()) { ?><h2 class="headline" style="text-transform:lowercase">archive für<?php the_time('Y'); ?></h2><?php /* If this is a search */ } elseif (is_search()) { ?><h2 class="headline">Search results</h2><?php /* If this is an author archive */ } elseif (is_author()) { ?><h2 class="headline">Author archive</h2><?php /* If this is a paged archive */ } elseif (isset($_GET['paged']) && !empty($_GET['paged'])) { ?><h2 class="headline">blog archive</h2><?php } ?><?php query_posts($query_string . '&cat=1'); ?><?php while (have_posts()) : the_post(); ?><div class="page-navigation"><div class="alignleft"><?php next_posts_link('vorherige meldungen') ?></div><div class="alignright"><?php previous_posts_link('nächste meldungen') ?></div></div><div class="post" id="post-<?php the_ID(); ?>"><div class="data" style="text-transform:lowercase"><?php the_time('j. F Y') ?></div><h3 class="title"><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></a></h3><div class="author">verfasstin<?php the_category(', ') ?>von<?php the_author() ?><?php edit_post_link('editieren','&nbsp;|&nbsp;',''); ?></div><?php the_content('mehr'); ?><?php wp_link_pages(); ?><div class="feedback"><?php comments_popup_link(__('keine kommentare'), __('1 kommentar'), __('% kommentare'), '', __('comments off')); ?><span class="link-category">siehe auch <?php the_category(', ') ?></span> </div></div><?php endwhile; ?><div class="page-navigation"><div class="alignleft"><?php next_posts_link('vorherige meldungen') ?></div><div class="alignright"><?php previous_posts_link('nächste meldungen') ?></div></div><?php else : ?><h2>nichts gefunden, versuchs erneut</h2><?php include (TEMPLATEPATH . '/searchform.php'); ?><?php endif; ?><?php get_footer(); ?>

    Das scheint funktioniert zu haben.

    Einmal editiert, zuletzt von maxe (25. Oktober 2009 um 13:14)

  • lol, sorry..

    dann das ganze unter

    PHP
    <?php query_posts($query_string . '&cat=1'); ?>

    und danach

    PHP
    <?php while (have_posts()) : the_post(); ?>

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!