Frage

Ich habe ein benutzerdefiniertes Feld zu einigen Beiträgen mit dem Namen "FrontPageRank" hinzugefügt. Der Plan soll die Beiträge nach diesem Wert bestellen, aber zuerst möchte ich nur eine herausfiltern, die keinen Rang auf der Titelseite verwenden. Ich habe dies erreicht, indem ich die entsprechenden Beiträge in ein anderes Array einbrachte. Aber was ist als nächstes?

Außerdem ausprobiert eine Abfrage: $ the_query = new wp_query (array ('meta_key' => '0', 'meta_value' => '44');

while ($the_query->have_posts()) : $query->the_post(); $count++;

Das tut einfach nichts. Dieser Code ist schwer zu debuggen!

War es hilfreich?

Lösung

Ich habe ein benutzerdefiniertes Feld zu einigen Beiträgen mit dem Namen "Frontpageank" hinzugefügt

Dann sollte die WP_Query nicht auf diesen Schlüssel verweisen, z.

'meta_key' => 'frontpagerank'

Wenn ich folge, möchten Sie nach Posts, die diesen Schlüssel haben, überprüfen, und Sie erwarten einen numerischen Wert, also gehe ich natürlich davon aus, dass Sie keine Beiträge mit diesem Schlüssel (sondern einem leeren Wert) möchten.

$the_query = new WP_Query(array( 'meta_key' => 'frontpagerank', 'meta_value' => '', 'meta_compare' => '!=', 'orderby' => 'meta_value_num' ));

Oder wenn Sie speziell nach Posts mit diesem meta_key überprüfen möchten, bei denen der Wert über 0 ist, könnten Sie es tun.

$the_query = new WP_Query(array( 'meta_key' => 'frontpagerank', 'meta_value' => '0', 'meta_compare' => '>', 'orderby' => 'meta_value_num' ));

Hier können Sie Informationen zu den Meta -Parametern lesen.
http://codex.wordpress.org/function_reference/query_posts#custom_field_parameters

Info zu Bestellung von bis zu, da ich das in das oben genannte zu ..;) hinzugefügt habe.)
http://codex.wordpress.org/function_reference/query_posts#order_.26_ORDBY_PARAMETERS

..JADE -Parameter, die Sie für Query_Posts angezeigt werden, können in WP_Query verwendet werden

Dann müssen Sie nur diese Daten wie früher übergehen.

// Note i made the correction you commented on, yes that's need to match
while( $the_query->have_posts() ) : $the_query->the_post();

   // do whatever

endwhile;

Ich hoffe, das hilft.

Andere Tipps

Ich habe es nicht versucht, aber das scheint zu funktionieren:

$recent = new WP_Query("meta_key=your-custom-field&orderby=meta_value");
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit wordpress.stackexchange
scroll top