0

我正在为一个客户在这个网站上工作,我正在尝试根据客户的请求修改当前的 SQL 查询。目前,它查找自定义字段“主页”值为“是”的前三个帖子,按日期降序排序。

query_posts('showposts=3&meta_key=homepage&meta_value=yes&cat=-6&cat=-10&cat=-16&orderby=date&order=DESC');

现在要求的是,有三个帖子摘录容器需要用一个帖子填充。容器一,柱子价值一,容器二,价值二和容器三价值三。

所以我需要通过三个不同的自定义字段进行搜索,并为每个字段找到一个结果。任何人都可以提供任何见解吗?如果可能的话,我想仍然使用 query_posts 函数。

提前致谢。

4

2 回答 2

0

根据所有评论进行编辑

您所做的就是使用带有参数的 query_posts 遍历循环,并根据计数器将不同的 html 应用于每次迭代。所以;

<?php query_posts('showposts=3&meta_key=homepage&meta_value=yes&cat=-6&cat=-10&cat=-16‌​&amp;orderby=date&order=DESC'); ?>

<? $counter = 1; ?>

<?php while ( have_posts() ) : the_post(); ?>

     <div class="container-<?php echo $counter; ?>">

         <?php the_content(); ?>

     </div>

     <?php $counter++; ?>

<?php endwhile; ?>

生成以下内容;

<div class="container-1"> Content from post 1</div>
<div class="container-2"> Content from post 2</div>
<div class="container-3"> Content from post 3</div>

所以你可以通过 CSS 做任何你喜欢的事情。

于 2012-07-17T22:15:53.193 回答
0

我已经完成了最暴力的方法,并为每个元值调用了一个查询。

        <?php query_posts('showposts=1&meta_key=homepage_location&meta_value=1&cat=-6&cat=-10&cat=-16&orderby=date&order=DESC'); ?>

        <?php rewind_posts(); ?>
        <?php query_posts('showposts=1&meta_key=homepage_location&meta_value=2&cat=-6&cat=-10&cat=-16&orderby=date&order=DESC'); ?>

        <?php rewind_posts(); ?>
        <?php query_posts('showposts=1&meta_key=homepage_location&meta_value=3&cat=-6&cat=-10&cat=-16&orderby=date&order=DESC'); ?>

        <?php rewind_posts(); ?>
于 2012-07-20T15:13:19.387 回答