首頁 > 後端開發 > php教程 > 怎麼優化 query_posts 取得 wordpress文章時,減少資料庫查詢次數?

怎麼優化 query_posts 取得 wordpress文章時,減少資料庫查詢次數?

WBOY
發布: 2016-08-04 09:21:53
原創
1380 人瀏覽過

怎麼優化下面的wordpress 程式碼,目前它是分別查詢,導致資料庫查詢次數過多,其實就是想實現 一次取得資料後,循環輸出 分類名稱,分類下的文章篇數。

<code><?php  
        $loop_cate_id=array(1,3,8); //指定要输出的分类id 
        $num=10;//指定每次循环输出的文章篇数     
     ?>  
        <?php foreach($loop_cate_id as $key=>$value){ ?> 
            <?php $posts = query_posts($query_string . "&cat={$value}&orderby=date&showposts={$num}" ); ?>  
            <h2><a href="<?php echo get_category_link($value); ?>"><?php single_cat_title(); ?></a></h2> 
            <ul> 
                <?php while(have_posts()) : the_post(); ?> 
                <li><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></a>    </li> 
                <?php endwhile; ?> 
            </ul>  
        <?php }?> 
    </div> </code>
登入後複製
登入後複製

回覆內容:

怎麼優化下面的wordpress 程式碼,目前它是分別查詢,導致資料庫查詢次數過多,其實就是想實現 一次取得資料後,循環輸出 分類名稱,分類下的文章篇數。

<code><?php  
        $loop_cate_id=array(1,3,8); //指定要输出的分类id 
        $num=10;//指定每次循环输出的文章篇数     
     ?>  
        <?php foreach($loop_cate_id as $key=>$value){ ?> 
            <?php $posts = query_posts($query_string . "&cat={$value}&orderby=date&showposts={$num}" ); ?>  
            <h2><a href="<?php echo get_category_link($value); ?>"><?php single_cat_title(); ?></a></h2> 
            <ul> 
                <?php while(have_posts()) : the_post(); ?> 
                <li><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></a>    </li> 
                <?php endwhile; ?> 
            </ul>  
        <?php }?> 
    </div> </code>
登入後複製
登入後複製

開啟快取不就解決了?

1.現在問題就在分類太多,每次分類要查詢一次,那是否可以先查找該頁分類的所有數據,因為是查詢所有而且你有排序跟文章數要求,這裡可以與group by合用獲取要求數據。 (這樣首頁分類資料這塊應該是只有一次查詢)

2.然後在根據程式碼邏輯為其組成一個數組,數組可以參考我下面給你的格式。

<code>$postList[cate_id]['title'];
$postList[cate_id]['article'][];//将文章按分类id当成键值存入数组
foreach($postList as $post) {
    foreach($post['article'] as $value){
        
    }
} </code>
登入後複製

自己頂下吧,期待有熟悉wp的朋友看看。

對wp不熟 也沒怎麼看你的程式碼。你可以用鍵值對 那樣就只用寫一個循環了。
先查所有分類組成鍵值對數組。

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板