使用10个新的WP_QUERY:加载太慢(使用URL)

时间:2011-09-15 作者:Paul

我在主页中使用了近10个新的WP\\u Query(),但加载速度很慢:你知道我能做些什么吗?每个“new WP\\u Query()”都以“endwhile”结尾:这足够了吗?是否可以使用WP\\u query()重置查询?

你可以在这里查看我的网站:www.pondb。com:它还没有完成(有些文本缺失),但你可以看到加载时间和源代码。

编辑:索引中的一些代码。php:(我可能会删除1或2个查询,但在我的计算机上加载时间仍然是10秒……)

<!-- ***
////////////
*** PAGE 2 : BIO
////////////
*** -->
<div id="bio">
    <div class="childB">
            <a href="#" class="plus" rel="contact">Contact</a>

            <?php $my_query = new WP_Query(\'category_name=bio\');
            while ($my_query->have_posts()) : $my_query->the_post(); ?> <!-- loop bio -->
        <h2><?php echo get_the_title(); ?></h2> <!-- titre bio -->
                <p><?php the_content(); ?></p> <!-- contenu bio -->
            <?php endwhile; ?>
    </div>
    <div class="childBSide">
            <h2>News</h2>
            <?php query_posts(\'category_name=news&showposts=3\'); ?> <!-- afficher 1ere news -->
            <?php while (have_posts()) : the_post(); ?>
                <h3><?php echo the_title(); ?></h3>
                <p><span class="sous-titre">Posté le <?php echo the_time(\'j F, Y\'); ?></span></p>
                <p><?php the_excerpt(); ?></p>
            <?php endwhile; ?>
            <?php wp_reset_query(); ?> <!-- fin afficher 1ere news -->

            <div class="suite">
                <a href="#" class="plus" rel="news">Lire les news</a>
            </div>
    </div><!-- fin BSide -->
</div>



<!-- ***
////////////
*** PAGE 3 : NEWS
////////////
*** -->
<div id="news">
    <div class="childB">
        <a href="#" class="plus" rel="contact">Contact</a>
        <?php
        $my_query = new WP_Query(\'category_name=news&showposts=8\');
        while ($my_query->have_posts()) : $my_query->the_post(); ?> <!-- loop news -->
        <?php $category = get_the_category();
            if ($category[0]->cat_name <> $sav_category){
                echo "<H2>".$category[0]->cat_name.": </H2><!-- titre catégorie -->";
                $sav_category = $category[0]->cat_name;
            }?><!-- titre news depuis wp -->

                <div class="news">
                <h2><?php echo get_the_title(); ?></h2> <!-- titre de la news -->
                <p><span class="sous-titre">Posté le <?php echo the_time(\'j F, Y\'); ?></span></p> <!-- posté le -->
                <p><?php the_content(); ?></p> <!-- contenu de la news -->
                </div>

            <?php endwhile; ?>
    </div>
    <div class="childBSide">
        <?php $my_query = new WP_Query(\'category_name=concert\');
        while ($my_query->have_posts()) : $my_query->the_post(); ?> <!-- loop concerts -->
            <h2><?php echo get_the_title(); ?></h2> <!-- titre concerts -->
            <p><?php the_content(); ?></p> <!-- contenu concerts -->
        <?php endwhile; ?>
    </div>
</div>
谢谢你的帮助

1 个回复
SO网友:Brian Fegter

你为什么不创建一个分类简历呢。使用普通循环的php模板?Wordpress查询已经生成,您不必创建新的查询来执行已经发生的操作。

你应该仔细看看Wordress的模板层次结构http://codex.wordpress.org/images/1/18/Template_Hierarchy.png 您可以使用文件名中的slug来定位特定类别。

创建特定于类别的模板将降低主题的内存开销。

结束

相关推荐

Performance on WPMS

我的WPMS站点托管在8核/32mb RAM服务器上,但响应时间非常长。我们有大约1000个博客(单个db上有35000多个表)和70000个页面浏览量。我认为我可以缩短响应时间,将具有更多页面浏览量的博客移动到单独的DB中,并使用hyper DB插件将所有博客拆分为每个DB 100个博客。你觉得怎么样?