web-dev-qa-db-fra.com

Quelle est l'URL d'une archive de catégorie?

Si mon URL de catégorie est:

/ blogs/catégorie/foo

et mon URL d'archive est:

/ blogs/2011/02 /

quelle est l'URL des blogs "foo" à partir de février 2011?

5
Bobby Jack

Il n'y a pas d'archive basée sur la date pour une catégorie. Les pages /category/[slug]/ sont déjà des "archives", en ce sens qu'elles affichent d'anciennes publications sur différentes pages.

Vous pouvez accéder aux différentes pages en ajoutant page/2/, page/3/, ... à l'URL. Les balises de modèle pour ajouter ces liens sont next_posts_link() et previous_posts_link() .

Si vous souhaitez ajouter une couche basée sur la date à vos archives de catégorie, vous pouvez ajouter une règle de réécriture pour faire correspondre une année, un mois et une pagination en option.

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

Q: quelle est l'URL pour les blogs 'foo' à partir de février 2011?

L'URL dans le contexte de votre site est: /blogs/category/foo/?y=2011&monthnum=02

(Je l'ai copiée de façon flagrante à partir d'un commentaire, merci de le lui attribuer)

0
hakre