首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >要先加载图像,然后在WordPress循环中加载标题

问要先加载图像,然后在WordPress循环中加载标题
EN

Stack Overflow用户
提问于 2014-12-24 10:36:37
回答 2查看 153关注 0票数 1

好的,我正在创建一个投资组合页面。我希望所有的图像组合后堆栈在一起。当访问者将鼠标悬停在任何标题中时,图像将显示。

为此,我创建了这个循环:

代码语言:javascript
复制
<div class="main-interior portfolio" id="portfolio-big-pics" style="display: block;">
<?php $args = array( 'post_type' => 'portfolio', 'order' => 'ASC');
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post(); ?>
<?php $extraLastClass = $loop->current_post + 1 === $loop->post_count ? ' main-image-porfolio-main' : '';?>
<?php the_post_thumbnail( "thumbnail", array( "class" => "main-image portfolio $extraLastClass" ) ); ?>

            <div class="portfolio-box">

                <h5>Portfolio</h5>
                <ul class="item-list" id="portfolio-list">
                <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
                </li>               
                </ul>

            </div>

 <?php endwhile; ?>            
</div>

如您所见,我的图片和标题都在循环中。输出如下:第一个图像和第一个标题,然后第二个图像和第二个标题,第三个image+third标题&所以继续.我想要的是先打印出所有的图像,然后再打印标题。比如:第一个图像,第二个图像,第三个图像,然后是第一个标题,第二个标题,第三个标题。基本上,从我的代码中,项目组合项的所有图像将首先加载&然后是“portfolio”div。截图附呈。

​

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-12-24 10:48:05

使用<?php rewind_posts(); ?>

代码语言:javascript
复制
<?php $args = array( 'post_type' => 'portfolio', 'order' => 'ASC');
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post(); ?>
<?php $extraLastClass = $loop->current_post + 1 === $loop->post_count ? ' main-image-porfolio-main' : '';?>
<?php the_post_thumbnail( "thumbnail", array( "class" => "main-image portfolio $extraLastClass" ) ); ?>
<?php endwhile; ?> 

<?php rewind_posts(); ?> 

<?php while ( $loop->have_posts() ) : $loop->the_post(); ?>
    <div class="portfolio-box">
        <h5>Portfolio</h5>
        <ul class="item-list" id="portfolio-list">
        <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
        </li>               
        </ul>
    </div>
<?php endwhile; ?> 
票数 3
EN

Stack Overflow用户

发布于 2014-12-24 10:50:00

你想要的太简单了。只需从循环中取出标题,然后再创建一个带有标题的循环。另一种方法是,如果您在1循环中将数据收集到数组中,并使用它显示图像和图片,那么您只需要运行一次查询。

代码语言:javascript
复制
<div class = "main-interior portfolio" id = "portfolio-big-pics" style = "display: block;">
    <?php
    $args = array('post_type' => 'portfolio', 'order' => 'ASC');
    $loop = new WP_Query($args);
    while ($loop->have_posts()) :
        $loop->the_post();
        $extraLastClass = $loop->current_post + 1 === $loop->post_count ? ' main-image-porfolio-main' : '';
        the_post_thumbnail("thumbnail", array("class" => "main-image portfolio $extraLastClass"));
    endwhile;
    ?>
</div>
<!-- HERE COMES THE TITLE SECTION -->
<div class="portfolio-titles">
    <?php
    $args = array('post_type' => 'portfolio', 'order' => 'ASC');
    $loop = new WP_Query($args);
    while ($loop->have_posts()) :
        $loop->the_post();
        ?>
        <div class="portfolio-box">
            <h5>Portfolio</h5>
            <ul class="item-list" id="portfolio-list">
                <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
                </li>               
            </ul>
        </div>
        <?php
    endwhile;
    ?>
</div>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27635521

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档