私のカテゴリのURLが
/ブログ/カテゴリ/ foo
そして私のアーカイブURLは:
/ブログ/ 2011/02 /
2011年2月からの 'foo'ブログのURLは何ですか?
カテゴリの日付ベースのアーカイブはありません。 /category/[slug]/
ページは別のページにまたがって古い投稿を表示するという点で、すでに「アーカイブ」です。
URLにpage/2/
、page/3/
、...を追加することで、さまざまなページにアクセスできます。これらのリンクを追加するためのテンプレートタグは next_posts_link()
と previous_posts_link()
です。
カテゴリアーカイブに日付ベースのレイヤーを追加する場合は、年、任意の月、および任意のページングに一致するように書き換え規則を追加できます。
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;
}
Q:2011年2月からの 'foo'ブログのURLは何ですか?
あなたのサイトのコンテキストでのURLは/blogs/category/foo/?y=2011&monthnum=02
です。
(私は明らかにこれをコミッションt31osからコピーしたので、このことを彼にクレジットします)