it-swarm.com.de

Wie erhält man den Beitragstyp aus einer Kategorie-ID?

Ich versuche, den Beitragstyp anhand einer Kategorie-ID zu ermitteln.

Angenommen, ich öffne eine Kategorieseite

localhost/project/foobaar/category/pen

Ich möchte wissen, zu welchem ​​Post-Typ der Kategorie - Stift gehört. Ich habe zwei benutzerdefinierte Post-Typ namens "Buch" und "Kopie" Wenn Kategorie Stift mit Buch verknüpft ist, sollte es den Post-Typ als "Buch" zurückgeben. Ebenso, wenn Kategorie Bleistift ist, sollte es "Kopie" zurückgeben, wie ich verwendet habe bleistift kategorie in "kopie" posten.

Ich habe versucht, so etwas zu tun (ich habe die Kategorie-ID in Variable gespeichert, aber davon ausgegangen, Kategorie-ID des Stiftes ist 12)

$args = array (
    posts_per_page => 1,
    category => '12' // category id of pen
    );
$posts = WP_Query( $args );

Und von $ posts konnte ich einen Post bekommen, von dem ich wusste, dass er von $ args als 'posts' verwendet wird, und meine Posts können alles sein.

Vielen Dank

1
Aftab

Sie können einfach den ersten Beitrag aus der Hauptabfrage abrufen und sehen, welcher Beitragstyp es ist:

if ( have_posts() ) {
    $post_type = $wp_query->posts[0]->post_type;
}

Wenn Sie diesen Code direkt in einer Hauptvorlagendatei ausführen, sollten Sie in Ordnung sein, aber wenn es sich um eine Funktion handelt, müssen Sie zuerst global $wp_query; aufrufen.

2
TheDeadMedic