Frage

Versuch, Meta_Compare zu verwenden Wie im Codex vorgeschlagen:

query_posts('meta_key=miles&meta_compare=<=&meta_value=22');

Hier ist mein Code:

global $wp_query;
query_posts(
array_merge(
    array(
        'category__and' => $mycatsarray,
        'meta_key' => 'price',
        'meta_compare' => '>=',
        'meta_value' => 8500000,
        'orderby' => meta_value_num,
        'order'=>DESC
    ),
    $wp_query->query
)

);

Ich verwende Array_Merge, um die ursprüngliche Abfrage zu bestehen. Ich konnte also nicht ganz herausfinden, wie man die vorgeschlagene Syntax ('& name = value') für meta_compare und meta_Value verwendet. Wie auch immer, in meinem Code scheint der meta_value wie eine Zeichenfolge und nicht wie erwartet behandelt zu werden.

Hier finden Sie ein Beispiel für einige typische Preis -Custom -Felder aus meinen benutzerdefinierten Beiträgen:

  • 8500000
  • 600
  • 15000
  • 900
  • 750
  • 9000000

Wenn es sich nicht um ein String -Problem handelt, kann es sein, dass WordPress diese benutzerdefinierten Felder wie folgt bestellt:

  1. 9000000
  2. 900
  3. 8500000
  4. 750
  5. 600
  6. 15000

Ich möchte, dass sie wie folgt bestellt werden (Desc):

  1. 9000000
  2. 8500000
  3. 15000
  4. 900
  5. 750
  6. 600

Mache ich hier etwas falsch?

War es hilfreich?

Lösung

Sehen Sie sich diese Frage und meine Antwort dort an query_posts -> Verwenden von meta_compare / wobei der Metawert kleiner oder höher ist oder gleich…

Grundsätzlich wird zum Zweck des Meta -Vergleichswerts immer als Zeichenfolge behandelt, da er als solches an übergeben wird $wpdb->prepare() Methode.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit wordpress.stackexchange
scroll top