• Gelöst runerahlke

    (@runerahlke)


    Ich möchte meinen Posttype anhand des Preises einen Objekts sortieren. Das klappte auch erstmal ganz gut, bis Preise im Tausenderbereich eingegeben wurden.

    Die Sortierung sieht jetzt so aus:
    2720
    399
    4350
    4586
    630
    689

    Also man sieht das nur die ersten drei Stellen berücksichtigt werden, wie kann ich das ändern?

    Das ist mein Code:

    $args = array(
                'post_type' => 'x',
                'posts_per_page' => 20,
                'meta_key' => 'x-preis',
                'orderby' => 'meta_value',
                'order' => 'ASC'
              );
    $loop10 = new WP_Query($args);
     if ($loop10->have_posts()) : while ($loop10->have_posts()) : $loop10->the_post(); ?>
       <?php get_template_part('content/x');?>
     <?php endwhile; else : ?><?php endif; wp_reset_postdata();
    • Dieses Thema wurde geändert vor 5 Jahren, 5 Monaten von runerahlke.
Ansicht von 6 Antworten – 1 bis 6 (von insgesamt 6)
  • Das sieht mir nach einer alphanumerischen Sortierung aus und nicht nach einer numerischen. Was für ein Datentyp hat diese Spalte in der Datenbank.

    Thread-Starter runerahlke

    (@runerahlke)

    Also das Feld wonach gefiltert wird, ist mit Advanced Custom Fields als Numerisch eingefügt. Als normales Textfeld geht es aber auch nicht

    Ich meine den Datentyp in der Datenbank von meta_value

    Thread-Starter runerahlke

    (@runerahlke)

    Ich weiß ehrlich gesagt nicht wie ich das herausfinden kann :/
    Also die Tabelle meta_value find ich auch nicht in phpmyadmin.

    Nicht die Tabelle! Die Datenspalte meta_value! Da du nicht schreibst, wovon wir hier überhaupt reden, kannst nur du wissen, aus welcher Tabelle du Daten selektieren willst.

    Thread-Starter runerahlke

    (@runerahlke)

    Die Lösung:

    $args = array(
                'post_type' => 'x',
                'posts_per_page' => 20,
                'meta_key' => 'x-preis',
                'orderby' => 'meta_value_num',
                'order' => 'ASC'
              );

    Es muss nach „meta_value_num“ sortiert werden bei Zahlen, und nicht nur „meta_value“.

Ansicht von 6 Antworten – 1 bis 6 (von insgesamt 6)
  • Das Thema „Beim Posts sortieren werden nur 3 Stellen berücksichtigt“ ist für neue Antworten geschlossen.