カスタム投稿タイプ "contest_recipe"があります。私は以下のURLでコンテストレシピの投稿を年と日付で見ることができます。
http://example.com/2011/?post_type=contest_recipe - shows all 2011 contest recipes http://example.com/2011/7/?post_type=contest_recipe - shows all July 2011 contest recipes
URLを簡単にしたい
http://example.com/2011/recipes http://example.com/2011/7/recipes
これは可能ですか?書き換え規則の概念には慣れていません。誰かがこれについて学ぶ方法や例を提供する方法についてのチュートリアルを推奨できますか?
これを使用して、カスタム投稿タイプの年間アーカイブと月次アーカイブを有効にしました。このコードをfunctions.php
ファイルに入れるだけです。
これにより、カスタムルールがRules配列の一番上に追加されます。 NB - Wordpressはルール配列を使用して書き換えルールを保存します。
<?php
function wpse22992_custom_post_rewrite( $rewrite_rules ) {
$cpslug = 'contest_recipe'; // custom post type slug
// Rule to display monthly archive -> contest_recipe/2012/08/
$year_archive = array( $cpslug . '/([0-9]{4})/([0-9]{1,2})/?$' => 'index.php?year=$matches[1]&monthnum=$matches[2]&post_type=' . $cpslug );
// Rule to display yearly archive -> contest_recipe/2012/
$month_archive = array( $cpslug . '/([0-9]{4})/?$' => 'index.php?year=$matches[1]&post_type=' . $cpslug );
$rewrite_rules = $year_archive + $month_archive + $rewrite_rules;
return $rewrite_rules;
}
add_filter('rewrite_rules_array', 'wpse22992_custom_post_rewrite');
?>
rewrite_rules_array