Support » Allgemeine Fragen » Auflistung von Posts mit dem selben Kategoriename wie der Seitenname

  • Hallo!
    Ich bin gerade dabei einen kleinen Blog aufzubauen und möchte neben der typischen Auflistung der Posts gern eine Seite, auf der nur die Posts einer bestimmten Kategorie sind. Also habe ich etwas herum probiert und herausgefunden, dass mir mein Archive-Template reichen würde. Da ich aber gern noch ein paar Zeilen auf dieser Seite schreiben möchte, die nicht auf anderen Kategorie- / Archivseiten erscheinen sollen passt das leider nicht.
    Danach bin ich auf einen Artikel von WordPress gestoßen (Eine Seite mit Posts einer Kategorie), der an sich das macht, was ich will. Im WordPressforum habe ich auch einen Thread entdeckt, wo das selbe Problem wohl auch gelöst wurde (Auflistung von Posts mit dem selben Kategoriename wie der Seitenname).
    Leider stecke ich aber noch nicht tief genug in PHP und CSS drin um die ganze Sache auch mit meinem WordPress-Theme zu vereinen und wende mich deswegen an euch in der Hoffnung, dass sich jemand die Zeit nehmen will, mir zu helfen.
    Zum Schluss noch ein Link zu einer Kategorieseite von mir und der Code von meinem Archive-Template:

    <?php
    /**
    *   Template Name: Archive
    **/
    ?>
    <!DOCTYPE html>
    <!--[if IE 6 ]><html class="ie ielt9 ielt8 ielt7 ie6" lang="<?php bloginfo('language'); ?>"><![endif]-->
    <!--[if IE 7 ]><html class="ie ielt9 ielt8 ie7" lang="<?php bloginfo('language'); ?>"><![endif]-->
    <!--[if IE 8 ]><html class="ie ielt9 ie8" lang="<?php bloginfo('language'); ?>"><![endif]-->
    <!--[if IE 9 ]><html class="ie ie9" lang="<?php bloginfo('language'); ?>"><![endif]-->
    <!--[if (gt IE 9)|!(IE)]><!--><html lang="<?php bloginfo('language'); ?>"><!--<![endif]-->
        <head>
            <?php @include('inc_head.php'); ?>
        </head>
        <body class="archives">
            <div id="screen">
                <?php @include('inc_body_header.php'); ?>
    
                <section class="G4 GR" id="content">
                    <header>
                        <?php if (is_category()): ?>
                        <h1><?php single_cat_title(); ?></h1>
                        <?php query_posts(array('category_name' => single_cat_title('', FALSE), 'order' => 'DESC', 'orderby' => 'date', 'posts_per_page' => '-1')); ?>
                        <?php else: ?>
                        <h1><?php the_title(); ?></h1>
                        <?php get_search_form(); ?>
                        <?php query_posts(array('order' => 'DESC', 'orderby' => 'date', 'posts_per_page' => '-1')); ?>
                        <?php endif; ?>
                    </header>
                    <dl class="containsArticles">
                        <?php while(have_posts()): the_post(); ?>
                        <dt>
                            <hgroup>
                                <a class="title" href="<?php the_permalink() ?>"><?php the_title(); ?></a>
                                <time class="date" datetime="<?php the_time('c') ?>" pubdate="pubdate"><?php the_date(); ?></time>
                            </hgroup>
                        </dt>
                        <dd>
                            <?php the_content(__('Read more', 'ia3')); ?>
                        </dd>
                        <?php endwhile; ?>
                    </dl><!-- .containsArticles -->
                </section><!-- #content.ia.ia-4.ia-r.ia-s -->
                <hr class="implied" />
    
                <?php @include('inc_body_footer.php'); ?>
            </div><!-- #screen -->
        </body>
    </html>

    Grüße
    Sascha

Ansicht von 3 Antworten - 1 bis 3 (von insgesamt 3)
  • Hallo, ist der Text, welcher auf der Archivseite erscheinen soll ein gleichbleibender Text oder soll dieser abhängig von den Postings aussehen ?

    Wenn es nur ein fester Text ist, dann kannst Du dir das Template kopieren, welches dein Archive anzeigt und in die Kopie den festen Text mit eintragen. Der Name der neuen Templateseite ist abhängig von dem Namen deines Kategorienamens. Hier findest du eine Übersicht, wie die Namen aufgebaut sind:

    http://codex.wordpress.org/Template_Hierarchy

    Also wenn Deine Kategorie WordPress heist wär der Name der Kopie:

    category-wordpress.php

    Dieses Template wird dann nur für Anzeigen dieser Kategorie benutzt,
    für andere Kategorien wird dann category.php benutzt, wenn dieses nicht gefunden wurde archive.php

    Perfekt. Das war ja viel einfacher, als ich es gedacht hätte! Vielen Dank.

    Einen winzigen Schönheitsfehler hat die Seite jetzt aber noch. Logischerweise ist die URL jetzt http://meinblog.de/category/meinekategorie, jedoch wäre eine URL ohne das ‚category‘ schöner.

    Grüße
    Sascha

    Hallo,

    Du könntest in der htaccess eine Urlweiterleitung einstellen.

    Damit wird http://meinblog.de/meinekategorie weitergeleitet nach http://meinblog.de/category/meinekategorie

    Das ist auch möglich, ohne das die neue URL im browser angezeigt wird.

    Das hat dann aber nix mit WordPress zu tun, sondern ist Teil deines Webservers.

Ansicht von 3 Antworten - 1 bis 3 (von insgesamt 3)
  • Das Thema „Auflistung von Posts mit dem selben Kategoriename wie der Seitenname“ ist für neue Antworten geschlossen.