it-swarm.com.de

Wie lautet die URL für ein Kategoriearchiv?

Wenn meine Kategorie-URL lautet:

/ blogs/category/foo

und meine Archiv URL ist:

/ blogs/2011/02 /

wie lautet die URL für "foo" -Blogs ab Februar 2011?

5
Bobby Jack

Es gibt kein datumsbasiertes Archiv für eine Kategorie. Die /category/[slug]/-Seiten sind insofern bereits "Archive", als sie alte Beiträge auf verschiedenen Seiten anzeigen.

Sie können auf die verschiedenen Seiten zugreifen, indem Sie der URL page/2/, page/3/, ... hinzufügen. Die Vorlagen-Tags zum Hinzufügen dieser Links sind next_posts_link() und previous_posts_link() .

Wenn Sie Ihren Kategoriearchiven einen datumsbasierten Layer hinzufügen möchten, können Sie eine Umschreiberegel hinzufügen, die einem Jahr, einem optionalen Monat und einem optionalen Seitenwechsel entspricht.

add_filter( 'category_rewrite_rules', 'wpse8769_category_rewrite_rules' );
function wpse8769_category_rewrite_rules( $category_rules )
{
    global $wp_rewrite;
    // This could be incorrect for fancy permastructs, only tested in simple situations
    $category_permastruct = str_replace( $wp_rewrite->rewritecode, $wp_rewrite->rewritereplace, $wp_rewrite->get_category_permastruct() );
    $category_permastruct = preg_replace( '|^/+|', '', $category_permastruct );

    $category_extra_rules = array(
        // Or split this up over different rewrite rules, if the regex is too complicated
        // Feeds are left as an exercise for the reader
        $category_permastruct . '/([0-9]{4})(/([0-9]{1,2}))?(/page/([0-9]+))?/?$' =>
            'index.php?category_name=$matches[1]&year=$matches[2]&monthnum=$matches[4]&paged=$matches[6]',
    );

    return $category_extra_rules + $category_rules;
}
3
Jan Fabry

F: Wie lautet die URL für "Foo" -Blogs ab Februar 2011?

Die URL im Kontext Ihrer Website lautet: /blogs/category/foo/?y=2011&monthnum=02

(Ich habe das eklatant von einem Commment t31os kopiert, also verdanke ich es ihm.)

0
hakre