在主页上自定义博客帖子有困难

时间:2019-03-14 作者:Zerojjc

我似乎无法正确理解这一点。我正在尝试加载最近的6篇博客文章(2行,3列,响应性)。帖子标题将显示在缩略图的顶部。以下是设计示例(屏幕截图):https://i.imgur.com/3WQHB8O.png

我最初的尝试是:

<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
<div class="containPost">
    <img src="<?php the_post_thumbnail(); ?>" style="width:100%;">
    <div class="bottom-left">
        <?php the_title(); ?>
    </div>
</div>
<?php endwhile; else: ?>
<?php endif; ?>
<div class="clear"></div>
我在不同的网站上也用过类似的方法,但从未在主页上使用过。当我在研究为什么这段代码没有从帖子中获取标题和缩略图,而是从主页中获取时,我发现了下面的信息。

我找到了答案here 我感觉类似,并尝试过,但它不能正常工作,我不知道如何修复它:

<!-- Blog Post: 6 Newest -->
<?php
$args = array(
    \'post_type\'         => \'post\',
    \'posts_per_page\'    => 6
);
$the_query = new WP_Query( $args );
// The Loop
if ( $the_query->have_posts() ) {
    while ( $the_query->have_posts() ) {?>
    <div class="containPost" id="response">
        <?php 
        if ( has_post_thumbnail()) { 
            echo \'<img src="\'.the_post_thumbnail();\' />\';
        } else { 
            echo \'<img src="\'.get_bloginfo(\'stylesheet_directory\').\'/images/global/thumby.jpg" />\';
        } ?>

        <div class="bottom-left">
            <?php
                $the_query->the_post();
                echo \'<h3>\' . get_the_title() . \'</h3>\';
            ?>
        </div>
    </div>
<?php  
    }
}
/* Restore original Post Data */
wp_reset_postdata();
?>
<div class="clear"></div>
这就是第二段代码的结局,其中帖子标题不在正确的图像上,所有内容看起来都很混乱:https://i.imgur.com/6KgKBQi.png

如果有人能帮助我,我将不胜感激。

1 个回复
SO网友:Qaisar Feroz

正如@mrben522建议(在对问题的评论中),生成的代码应该是

<!-- Blog Post: 6 Newest -->
<?php
$args = array(
    \'post_type\'         => \'post\',
    \'posts_per_page\'    => 6
);
$the_query = new WP_Query( $args );
// The Loop
if ( $the_query->have_posts() ) {
    while ( $the_query->have_posts() ) {
       $the_query->the_post();   // put it here

    ?>
    <div class="containPost" id="response">
        <?php 
        if ( has_post_thumbnail()) { 
            echo \'<img src="\'.the_post_thumbnail();\' />\';
        } else { 
            echo \'<img src="\'.get_bloginfo(\'stylesheet_directory\').\'/images/global/thumby.jpg" />\';
        } ?>

        <div class="bottom-left">
            <?php
                //$the_query->the_post();
                echo \'<h3>\' . get_the_title() . \'</h3>\';
            ?>
        </div>
    </div>
<?php  
    }
}
/* Restore original Post Data */
wp_reset_postdata();
?>
<div class="clear"></div>