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
<?php
/*
Template Name: Archives
*/
?>
<?php get_header(); ?>
<?php include (TEMPLATEPATH . '/searchform.php'); ?>
<div class="post">
<h3 class="title" style="text-transform:lowercase">Archives by month:</h3>
<ul>
<?php wp_get_archives('type=monthly'); ?>
</ul>
<h3 class="title">Archives by subject:</h3>
<ul>
<?php wp_list_cats(); ?>
</ul>
</div>
<?php get_footer(); ?>
Alles anzeigen
archive.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 } ?>
<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 query_posts($query_string . '&cat=1'); ?>
<?php while (have_posts()) : the_post(); ?>
<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">verfasst
in
<?php the_category(', ') ?>
von
<?php the_author() ?>
<?php edit_post_link('editieren',' | ',''); ?>
</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(); ?>
Alles anzeigen
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. ;)