カスタム投稿タイプ(CPT)用に日付ベースのアーカイブ機能(オリジナルのWP Archivesウィジェット機能と同様)を実装したいと思います。難しいのは、公開日ではなくアーカイブイベントをグループ化してする必要があることです。(== --- ==)event_date
でメタ値として格納されます。
たとえば、event
CPTを次のように登録しています。
$args = array(
'labels' => $labels,
'public' => true,
'publicly_queryable' => true,
'show_ui' => true,
'has_archive' => 'past-events',
'rewrite' => array('slug' => 'event','with_front' => false),
'query_var' => true,
'capability_type' => 'post',
'hierarchical' => false,
'show_in_nav_menus' => false,
'menu_position' => 15,
'supports' => array(
'title',
'editor',
'author',
'revisions'
)
);
register_post_type('event',$args);
WP Archivesウィジェットの機能に似た、/past-events/2011/04
のようなアーカイブリンクを生成したいと思います。しかし、私のイベントはevent_date
メタ値によってアーカイブされるべきです。また、2011年4月の予定で、私のBlog pages show at most
設定よりも多くのイベントがある場合は、ページの正しいページ区切りを付けたいと思います。そして理想的には、単一のイベントを見るとき、私はそのアーカイブページの中に正しい前後のイベントリンクを持つでしょう。それが理にかなっていることを願っています。
私はWP3.1を使用していますが、CPTにhas_archive
設定を指定することまでは行ってきました。私は周りを見回したが、どうすれば先へ進むべきか混乱した。それは私が自分で書かなければならないということですか、それともWP関数またはプラグインを使って行うことができるでしょうか。
本当に助けやヒントをいただければ幸いです。
ありがとう、ダーシャ
これはあなたの質問に完全には答えませんが、助けようとする試みです。
ご覧ください。 http://seebz.net/notes/#note-145 日付アーカイブを使用してCPTを設定し、必要なものすべてを設定します。ルールを書き換えます。
wp_get_archives()
の使用に関しては、CPTで動作するために必要なフィルタのフックがないので、関数をコピーして好みに合わせて変更することをお勧めします。