web-dev-qa-db-ja.com

日付によるカスタム投稿タイプアーカイブ(メタ値として保存)WP3.1

カスタム投稿タイプ(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関数またはプラグインを使って行うことができるでしょうか。

本当に助けやヒントをいただければ幸いです。

ありがとう、ダーシャ

3
dashaluna

これはあなたの質問に完全には答えませんが、助けようとする試みです。

ご覧ください。 http://seebz.net/notes/#note-145 日付アーカイブを使用してCPTを設定し、必要なものすべてを設定します。ルールを書き換えます。

wp_get_archives()の使用に関しては、CPTで動作するために必要なフィルタのフックがないので、関数をコピーして好みに合わせて変更することをお勧めします。

1
Brady