Ich arbeite an einer Produktseite, auf der ich Bewertungen aus meinem Beitragstyp "Bewertungen" anzeige, wenn der Titel der Produktseite mit meinem Begriff aus der Taxonomie "Bewertungsprodukt" übereinstimmt.
Beispiel.
Titel der Produktseite: Kühlschrank
Beiträge (Rezensionen) anzeigen mit:
- Beitragstyp: 'Bewertungen'
- Taxonomie: 'Bewertungsprodukt'
- Begriff: Kühlschrank
Das funktioniert völlig gut. Aber manchmal habe ich keine Bewertungen für ein Produkt (weil es keine Übereinstimmung zwischen Produkttitel und Begriff gibt) und dann möchte ich "Allgemeine" Bewertungen anzeigen. Auf meiner Website sind dies Beiträge mit:
- Beitragstyp: 'Bewertungen'
- Taxonomie: 'Bewertungsprodukt'
- Laufzeit: Keine Laufzeit (!!!)
Diese Beiträge haben keinen Begriff aus der Taxonomie 'Review-Produkt'.
Meine Frage:
Wie kann ich Bewertungsbeiträge ohne Begriff anzeigen, wenn keine Bewertungsbeiträge vorhanden sind, die dem Produkttitel entsprechen?
Das habe ich jetzt:
function gtp_show_reviews( $number = 100, $term = null ) {
$reviews = new WP_Query( array(
'post_type' => 'reviews',
'review-product' => $term, // Fill this with product page slug (refrigerator)
));
if( $reviews->have_posts() ) {
while( $reviews->have_posts() ) {
$reviews->the_post();
// The review
}
}
else {
// Here I try to unset the 'review-product' term
unset($reviews->query_vars['review-product']);
unset($reviews->query_vars['term']);
while( $reviews->have_posts() ) {
$reviews->the_post();
// Check if review has no term
if( $reviews->has_term() == false ) {
// The review
}
}
}
wp_reset_postdata();
}