it-swarm.com.de

Benutzerdefinierte Post-Typ-Archive nach Datum (gespeichert als Meta-Wert) WP3.1

Ich möchte eine datumsbasierte Archivierungsfunktion (ähnlich der Funktionalität des ursprünglichen Widgets WP Archives) für den benutzerdefinierten Beitragstyp (CPT) implementieren. Was es schwierig macht, ist die Tatsache, dass ich Ereignisse gruppieren und archivieren muss , nicht nach Veröffentlichungsdatum, sondern nach event_date als Meta-Wert gespeichert .

Zum Beispiel habe ich event CPT wie folgt registriert:

$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);

Ich möchte Archiv-Links wie /past-events/2011/04 generieren, ähnlich der Funktionalität des WP Archiv-Widgets. Meine Ereignisse sollten jedoch mit dem Metawert event_date archiviert werden. Wenn es beispielsweise im April 2011 mehr Ereignisse gibt als meine Einstellung Blog pages show at most, hätte ich gerne eine korrekte Paginierung für Seiten. Und im Idealfall hätte ich beim Anzeigen eines einzelnen Ereignisses korrekte Links zu vorherigen und nächsten Ereignissen auf dieser Archivseite. Hoffe das macht Sinn.

Ich verwende WP3.1. Ich habe die Einstellung has_archive für das CPT festgelegt. Ich habe mich umgesehen, war aber verwirrt, wie ich vorgehen soll. Muss ich das selbst schreiben oder könnte ich es mit WP Funktionen oder Plugins machen?

Würde mich über jede Hilfe und Tipps wirklich freuen.

Vielen Dank, Dasha

3
dashaluna

Dies beantwortet Ihre Frage nicht vollständig, ist jedoch ein Versuch zu helfen.

Werfen Sie einen Blick auf: http://seebz.net/notes/#note-145 Richtet ein CPT mit Datumsarchiven ein und richtet alle erforderlichen ein Regeln umschreiben.

Da für die Verwendung von wp_get_archives() nicht die erforderlichen Filter-Hooks vorhanden sind, um mit einem CPT zu arbeiten, empfehle ich, die Funktion zu kopieren und nach Ihren Wünschen zu ändern.

1
Brady