Problem bei Vergleich von Custom Fields

  • Hallo zusammen,

    ich arbeite derzeit an einer Variablen Ausgabe einer CSS Klasse. Ich habe für Review Artikel eine Bewertung von 1-10, die ich in ganzen Zahlen in einem Custom Feld "Gesamt" gespeichert habe. Die Reviews möchte ich nun nach Bewertung sortiert auf einer Seite ausgeben.

    Das Problem ist folgendes: An der Gesamtbewertung (custom Field) werden die Artikel zwar ausgerichtet und sortiert, aber ich kann die, für das Rating vorgesehene CSS Klasse nicht korrekt ausgeben. Diese variiert je nach Punktestand. Das Problem sind hier offenbar die Vergleiche in PHP. Wie folgt sieht das ganze bisher aus:

    PHP
    <?$args = array( 'numberposts'     => -1, //get all posts, or set a number here 'offset'          => 0, 'orderby'         => 'meta_value', //this will look at the meta_key you set below 'order'           => 'DESC', //You can order by ASC (ascending) or DESC (descending) 'meta_key'        => 'gesamt', //Set the meta key here, NOT the meta value.  WordPress will get the value on its own 'post_type'       => 'post', //got a custom post type? Put it here 'post_status'     => 'publish' ); $results = get_posts( $args );  ?><div id="rangliste"><?php query_posts($args); ?><ul><?php while ( have_posts() ) : the_post(); ?><li><div id="box"><div id="rating" <?php$client_testimonials = get_post_meta($post->ID, "gesamt", true);
    if ($client_testimonials == 1) { $var = "class=\"punktzahl rot\" "; } 
    elseif ($client_testimonials == 2) { $var = "class=\"punktzahl rot\" "; }elseif ($client_testimonials == 3) { $var = "class=\"punktzahl orange\"";}  elseif ($client_testimonials == 4){$var = "class=\"punktzahl orange\"";} elseif ($client_testimonials == 5){$var = "class=\"punktzahl gelb\"";} elseif ($client_testimonials == 6){$var = "class=\"punktzahl gelb\"";} elseif ($client_testimonials == 7){$var = "class=\"punktzahl hellgruen\"";} elseif ($client_testimonials == 8){$var = "class=\"punktzahl hellgruen\"";} elseif ($client_testimonials == 9){$var = "class=\"punktzahl gruen\"";} elseif ($client_testimonials == 10){$var = "class=\"punktzahl gruen\"";} echo $var;?>  ><?php global $wp_query;$post_id = $wp_query->post->ID;$value = get_post_meta( $post_id, 'gesamt', TRUE );echo $value; ?></div><div id="boximg">		<a href="<?php the_permalink(); ?>" title="Link to <?php echo get_the_title(); ?>">		<img src="		<?php global $wp_query;$post_id = $wp_query->post->ID;$value = get_post_meta( $post_id, 'thumbnailside', TRUE );echo $value; ?>" alt="<?php echo get_the_title(); ?>"  width="250" height="370" class="alignnone size-full wp-image-76" /></a></div><div id="boxexplain"><ul><li><span><?php echo get_the_title(); ?></span></li><li><br /> </li><li><br /> </li><li>FSK: <?php global $wp_query;$post_id = $wp_query->post->ID;$value = get_post_meta( $post_id, 'FSK', TRUE );echo $value; ?></li><li>Länge: <?php global $wp_query;$post_id = $wp_query->post->ID;$value = get_post_meta( $post_id, 'Länge', TRUE );echo $value; ?></li></ul></div><div style="clear:both"></div></div></li><?php endwhile; ?></ul><?php wp_reset_query(); ?><div style="clear:both"></div></div>

    Das Problem gestaltet sich wie gesagt nur in der Ausgabe der jeweiligen Klasse, an dieser Stelle:

    PHP
    <?php$client_testimonials = get_post_meta($post->ID, "gesamt", true);
    if ($client_testimonials == 1) { $var = "class=\"punktzahl rot\" "; } 
    elseif ($client_testimonials == 2) { $var = "class=\"punktzahl rot\" "; }elseif ($client_testimonials == 3) { $var = "class=\"punktzahl orange\"";}  elseif ($client_testimonials == 4){$var = "class=\"punktzahl orange\"";} elseif ($client_testimonials == 5){$var = "class=\"punktzahl gelb\"";} elseif ($client_testimonials == 6){$var = "class=\"punktzahl gelb\"";} elseif ($client_testimonials == 7){$var = "class=\"punktzahl hellgruen\"";} elseif ($client_testimonials == 8){$var = "class=\"punktzahl hellgruen\"";} elseif ($client_testimonials == 9){$var = "class=\"punktzahl gruen\"";} elseif ($client_testimonials == 10){$var = "class=\"punktzahl gruen\"";} echo $var;?>

    Wenn ich den gleichen Vergleich mit größer oder kleiner mache, dann funktioniert es. Nur die Abfrage ob die Werte gleich sind, funktioniert nicht.

    Ich hoffe ihr könnt mir helfen und bedanke mich im Voraus...

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!