我在我的页面模板中使用此功能来显示类别编号为8,17,23,423的最近20篇帖子标题
<div id="horizontalTab">
<ul class="resp-tabs-list">
<li>Football</li>
<li>Ice Hockey</li>
<li>Basketball</li>
<li>Tennis</li>
</ul>
<div class="resp-tabs-container">
<?php
foreach (get_categories(array('include'=>'8, 17, 23, 423', 'orderby' => 'count', 'order' => DESC)) as $category) {
$catid = $category->cat_ID;
$args = array( 'category' =>$catid, 'numberposts' => 20 );
$myposts = get_posts($args); ?>
<div>
<?php foreach($myposts as $post) { ?>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a><br/>
<?php } ?>
</div>
<?php } ?>
</div>
</div>
但是这段代码增加了10多个数据库查询。如何优化此查询。 另一个问题。如何按以下顺序更改排序类别:23,17,8,423。
答案 0 :(得分:0)
为什么在已经知道类别时使用get_categories。 您所要做的就是在数组中存储类别ID并运行循环
$cat_array=array(23,17,8,423);
foreach ($cat_array as $catid)
{
$args = array( 'category' =>$catid, 'numberposts' => 20 );
$myposts = get_posts($args);
<div>
<?php foreach($myposts as $post) { ?>
<a href="<?php $post->guid; ?>"><?php $post->post_title; ?></a><br/>
<?php } ?>
</div>
<?php } ?>