it-swarm.com.de

Wie kann ich die ID für eine Archivseite erhalten?

Ich habe eine Woocommerce-Seite für meine Produkte, die wie eine Archivseite behandelt wird. Ich muss die ID für die Archivseite abrufen, aber natürlich, wenn ich $post->ID oder get_the_id() usw. verwende, erhalte ich die ID für den letzten Beitrag auf dieser Seite.

1
dcp3450

Wenn dies eine echte Seite ist, können Sie die ID dieser bestimmten Seite mit get_queried_object_id() abrufen. Dies funktioniert und gibt die ID auf den spezifischen Seiten, Einzel-, Kategorie-, Taxonomie-, Tag- und Autorenseiten zurück, auf denen sie verwendet wird. Wahre Datums- und Zeitarchive und die Homepage haben keine IDs

Sie können Folgendes tun

$page_id = get_queried_object_id();
echo $page_id;

Nur eine sehr wichtige Anmerkung: query_posts unterbricht die Hauptabfrage, wodurch die oben genannte Funktionalität verletzt wird. Dies führt zu falschen Daten. Stellen Sie also sicher, dass Sie niemals query_posts verwenden.

3
Pieter Goosen

Müssen Sie die ID wirklich kennen, um die Antwort von @ PieterGoosens zu sehen, oder müssen Sie nur wissen, ob Sie sich im Archiv des Post-Typs product befinden? Letzteres kann mit is_post_type_archive() einfach erreicht werden:

if ( is_post_type_archive( 'product' ) ) {
     // code
}
2
Nicolai