2014-10-17 5 views
0

У меня есть таблица в WordPress, который продолжает быть длиннее и длиннее.Ограничения количество строк, отображаемых в таблице с помощью WordPress (PHP (

Я хотел бы установить ограничение, так что только последние 250 результатов показаны или только последний 30дней. Что бы проще.

Этот код пришел из Wordpress Партнерский менеджер плагин

<p><?php printf(__('Displaying %1$d of %2$d impressions', 'wpam'), count($this->viewData['impressions']), $this->viewData['impressionCount']); ?></p> 

    <table class="widefat"> 
     <thead> 
     <tr> 
      <th width="25"><?php _e('ID', 'wpam') ?></th> 
      <th width="200"><?php _e('Date Occurred', 'wpam') ?></th> 
      <th width="100"><?php _e('Creative', 'wpam') ?></th> 
      <th><?php _e('Referrer', 'wpam') ?></th> 
     </tr> 
     </thead> 
     <tbody> 
     <?php 
     $creativeNames = $this->viewData['creativeNames']; 

     foreach ($this->viewData['impressions'] as $impression) { 
     ?> 
     <tr class="impression"> 
      <td><?php echo $impression->impressionId?></td> 
      <td><?php echo date("m/d/Y H:i:s", $impression->dateCreated)?></td> 
      <td><?php echo $creativeNames[$impression->sourceCreativeId]?></td> 
      <td><?php echo $impression->referer?></td> 
     </tr> 
     <?php } ?> 

     </tbody> 
    </table> 
    <?php 
    if (! count($this->viewData['impressions'])): 
    ?> 
     <div class="daterange-form"><p><?php _e('No records found for the date range selected.', 'wpam') ?></p></div> 
    <?php endif; ?> 

ответ

0

Вы должны проверить, есть ли вариант на плагин для ограничения числа показов. Если нет, вы можете ограничить его, нарезая массив с помощью array_slice, как это:

<?php 
    $creativeNames = $this->viewData['creativeNames']; 
    $impressions = array_slice($this->viewData['impressions'], 0, 250); 

    foreach ($impressions as $impression) { 
?> 
<tr class="impression"> 
    <!-- your code --> 
</tr> 
<?php } ?> 

Если вам нужен только последний 250, вы можете комбинировать его с array_reverse:

$impressions = array_slice(array_reverse($this->viewData['impressions']), 0, 250); 
Смежные вопросы