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?
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;
}
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.)