2016-07-06 67 views
1

我需要顯示網站網絡的最後2個職位。目前我正在檢索所有網站的所有最新帖子,但只想顯示其中的2個。WordPress多站點,顯示所有網站,但只想顯示最後2

我有以下代碼:

<?php 
    $items = return_latest_posts(); 
    global $wpdb; 
    $table_search = $wpdb->prefix . "searchinfo"; 
    $query = "SELECT * FROM `$table_search`"; 
    $wpdb->show_errors(); 
    $results = $wpdb->get_results($query); 

    foreach ($results as $site){ 
    $item = return_latest_posts_single_site($site->username,$site->password,$site->database,$site->host,$site->db_prefix); 
    ?> 

<li> 
    <h4><?php echo $site->sitename; ?></h4> 

    <?php foreach($item as $res){ ?> 
    <p class="date"><?php echo $res->post_date ?></p> 
    <h4><a href="<?php echo $res->guid; ?>" target='_blank'><?php echo $res->post_title ?></a></h4> 
    <?php } ?> 

    <hr /> 

</li> 

<?php } ?> 

我怎麼能夠只顯示最後2個職位的所有網站一起?

在此先感謝!

回答

1

你可能會考慮計數次數的$結果的foreach運行,並限制輸出到第一兩圈:

<?php 
    $items = return_latest_posts(); 
    global $wpdb; 
    $table_search = $wpdb->prefix . "searchinfo"; 
    $query = "SELECT * FROM `$table_search`"; 
    $wpdb->show_errors(); 
    $results = $wpdb->get_results($query); 

    $count = 0; 
    foreach ($results as $site){ 

    $count++; 
    $item = return_latest_posts_single_site($site->username,$site->password,$site->database,$site->host,$site->db_prefix); 

    if ($count < 3) { 

    ?> 

    <li> 
     <h4><?php echo $site->sitename; ?></h4> 

     <?php foreach($item as $res){ ?> 
     <p class="date"><?php echo $res->post_date ?></p> 
     <h4><a href="<?php echo $res->guid; ?>" target='_blank'><?php echo $res->post_title ?></a></h4> 
     <?php } ?> 

     <hr /> 

    </li> 

<?php }} ?> 

More information on $wpdb;

+0

謝謝您的回答詹姆斯。問題是,我仍然得到每個網絡(7個網站)+1個職位。我只想顯示最新的網絡更新(最新的2篇文章)。 – rwzdoorn

+0

我認爲我誤解了你的目標。這是否準確:目標是隻顯示兩篇博客帖子,這些帖子應該是網絡上最新的帖子? –

+0

這就是我要找的! – rwzdoorn