Care este URL-ul pentru o arhivă de categorie?
7 feb. 2011, 19:03:36
Vizualizări: 20.1K
Voturi: 5
Comentarii
Arată celelalte 2 comentarii
Toate răspunsurile la întrebare
2
1
Nu există o arhivă bazată pe dată pentru o categorie. Paginile /category/[slug]/
sunt deja "arhive", în sensul că afișează postări vechi pe diferite pagini.
Diferitele pagini pot fi accesate adăugând page/2/
, page/3/
, ... la URL. Etichetele de șablon pentru a adăuga aceste linkuri sunt next_posts_link()
și previous_posts_link()
.
Dacă dorești să adaugi un strat bazat pe dată la arhivele de categorii, poți adăuga o regulă de rescriere pentru a potrivi un an, lună opțională și paginare opțională.
add_filter( 'category_rewrite_rules', 'wpse8769_category_rewrite_rules' );
function wpse8769_category_rewrite_rules( $category_rules )
{
global $wp_rewrite;
// Acest lucru poate fi incorect pentru structuri permalink complexe, testat doar în situații simple
$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(
// Sau poți împărți acest lucru în diferite reguli de rescriere, dacă regex-ul este prea complicat
// Feed-urile sunt lăsate ca exercițiu pentru cititor
$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;
}

Jan Fabry
30.5K
7 feb. 2011 19:06:50
Comentarii
Din păcate, asta nu funcționează chiar așa cum trebuie. Limitează luna la februarie OK, dar filtrul pentru an nu are efect, așa că ajung cu articole din feb 2011, feb 2010, etc.

11 feb. 2011 13:35:48
Întrebări similare
3
răspunsuri
4
răspunsuri