2017-06-28 1 views
0

sind hier Abfrage Argumente:Offset Argument funktioniert nicht richtig in Abfrage mit benutzerdefinierten Taxonomieausdruck

$goods_qty = 10; 

$arg = array(
    'post_type' => 'goods', 
    'order' => 'DESC', 
    'offset' => $goods_qty * $catalog_index, 
    'posts_per_page' => $goods_qty, 
    'tax_query' => array(
      array(
      'taxonomy' => 'goods_type', 
      'field' => 'slug', 
      'terms' => 'sales', 
     ) 
); 
); 

$catalog_index Schritte mit jedem geladenen Block von 10 Beiträgen. So ist das Problem:

z.B. Ich habe 20 Beiträge. Der erste von ihnen ist nicht in der Kategorie "Verkauf". Von 2 bis 11 alle in der Kategorie "Verkauf". Beim ersten Aufruf von PHP mit dieser Abfrage funktioniert alles einwandfrei. Query wählt alle Beiträge von 2 bis 11 aus und überspringt die erste. Aber bei der zweiten Iteration wählt die Abfrage den 11. Post erneut aus. Laut meiner Untersuchung funktioniert das Argument aus irgendeinem Grund mit allen Posts aber anscheinend nicht mit "Sales" -Posts. Aber wie kann es sein? Es ist nicht logisch? Wie kann ich einen Offset haben, der 10 "Verkäufe" Pfosten aber nicht Pfosten aller Kategorien stattdessen überspringt.

+0

Was passiert, wenn Sie es mögen dieses 'ändern 'Offset' => ($ goods_qty * $ catalog_index) + 1 '? –

Antwort

0

Try this:

$offset = ($catalog_index < 1) ? 0 : $goods_qty * $catalog_index + 1; 
... 
'offset' => $offset, 
Verwandte Themen