So teilen Sie die Kategorietaxonomie mit einem benutzerdefinierten Beitragstyp (das Ereigniskalender-Plugin)


7

Ich habe einen benutzerdefinierten Beitragstyp 'Ereignisse', der vom Plugin für den Ereigniskalender erstellt wurde. Es hat seine eigene benutzerdefinierte Taxonomie registriert. Gibt es eine Möglichkeit, einigen dieser Ereignisse die regulären WP-Post-Kategorien zuzuweisen, damit sie in Kategoriearchiven angezeigt werden?

Ich sehe in der Antwort auf diese Frage, dass get_posts nicht aus einer bestimmten Kategorie greifen kann , die ich dem Array von Taxonomien, die vom Beitragstyp "Ereignisse" unterstützt werden, "Kategorie" hinzufügen muss.

register_post_type( 'tribe_events', array( 'taxonomies' => array( 'category' ) ) );

Was ist der nächste Schritt, den ich unternehmen muss, damit dies funktioniert?


Diese Frage ist schwer zu verstehen. Regelmäßige Beitragskategorien werden bereits für Kategoriearchive angezeigt. Was meinen Sie mit Zuweisen?
Wyck

Sie möchten also zulassen, dass Events eine Taxonomie mit regulären Posts teilen?
Pat J

Genau, ich brauche die Events-Posts, um die Taxonomie der regulären Posts zu teilen.
Chris

Antworten:


7

Sie können register_taxonomy_for_object_type()eine Taxonomie mit einem Beitragstyp verwenden, ohne den Registrierungscode für den Beitragstyp berühren zu müssen. Beispiel:

function wpa_categories_for_events(){
    register_taxonomy_for_object_type( 'category', 'tribe_events' );
}
add_action( 'init', 'wpa_categories_for_events' );

Damit Ereignisse auf den Kategorieseiten angezeigt werden, müssen Sie meines Erachtens die Standardkategorieabfragen über ändern pre_get_posts, um benutzerdefinierte Beitragstypen hinzuzufügen. Standardmäßig wird nur der postBeitragstyp abgefragt .

function wpa_events_on_category_pages( $query ) {
    if ( $query->is_category() && $query->is_main_query() ) {
        $query->set( 'post_type', array( 'post', 'tribe_events' ) );
    }
}
add_action( 'pre_get_posts', 'wpa_events_on_category_pages' );

Genau das, wonach ich gesucht habe, aber es vermasselt auch die Tabellenanzeige auf der Administrationsseite des modernen Stammeskalenders "Ereignisse bearbeiten", indem eine zusätzliche Spalte hinzugefügt wird. Ich bin ein WP-Tyro und habe keine Ahnung, wie ich dieses Problem angehen soll. Irgendwelche Hinweise?
jjon

Zu Ihrer Information (Workaround): Die Tabelle "Ereignisse" in admin ist nur für maximal 8 Spalten ausgelegt. Wenn Sie also die Spalte "Kategorien" mit diesen Funktionen hinzufügen, wird das Layout der Tabelle verzerrt. Glücklicherweise können Sie unter "Bildschirmoptionen" auswählen, welche Spalten angezeigt werden sollen, sodass Sie nur eine auswählen können. (duh!)
jjon
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.