创建包含3-5个最近帖子的静态首页

时间:2014-08-11 作者:nerijusgood

我正在努力为我的定制设计主题定制首页/登录页。我设计了自定义主题,并使用下划线样板对其进行了编码。

据我所知,法典建议我创建一个头版。php并在那里进行自定义。在“设置”>“阅读”中,我选择了一个静态/首页(我想要更改静态欢迎消息的页面)。在下面,我想有3-5个最近的帖子和缩略图(在我的功能中启用)和摘录。

我的头版。php:

<main id="main" class="site-main" role="main">

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

            <?php get_template_part( \'content\', \'page\' ); ?>

        <?php endwhile; // end of the loop. ?>

        <h2>Recent Posts</h2>
        <ul>
        <?php
            $args = array( \'numberposts\' => \'5\' );
            $recent_posts = wp_get_recent_posts( $args );
            foreach( $recent_posts as $recent ){
                echo \'<li><a href="\' . get_permalink($recent["ID"]) . \'" title="Look \'.esc_attr($recent["post_title"]).\'" >\' .   $recent["post_title"].\'</a> </li> \';
            }
        ?>
        </ul>

</main><!-- #main -->
这是可行的,但是我不知道如何加载缩略图和摘录。最重要的是,这是否正确?

3 个回复
最合适的回答,由SO网友:Pieter Goosen 整理而成

我倾向于不同意wp_get_recent_posts 甚至get_posts 对于这样的自定义查询。默认情况下,模板标记如下the_excerpt() 对于这些功能不可用,您必须使用setup_postdata($post) 以访问这些模板标记。

我个人会使用WP_Query 在这样的情况下,它更灵活,特别是当有需要分页的自定义查询时。

下面是一个获取最新5篇文章的自定义查询示例。注意:我没有包括任何html标记。有关所有可用参数的列表,请查看我在中提供的链接WP_Query

$args = array(
    \'posts_per_page\' => 5,
    \'order\' => \'DESC\'
);

$rp = new WP_Query( $args );

if($rp->have_posts()) :
    while($rp->have_posts()) : $rp->the_post();

       the_title(); // posttitle
       if ( has_post_thumbnail() ) {  // check if the post has a Post Thumbnail assigned to it.
          the_post_thumbnail(); //display the thumbnail
       } 

       the_excerpt(); // displays the excerpt

    endwhile;
    wp_reset_postdata(); // always always remember to reset postdata when using a custom query, very important
endif;
进一步阅读:

SO网友:Fernando Baltazar

您可以使用以下代码获取图像:
$src = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), \'medium\', false, \'\' ); $thumbnailSrc = $src[0];

哪里 \'medium\' 是缩略图大小,可以将其更改为缩略图、大或任何特殊大小,这些大小是通过函数上的缩略图支持创建的。php ej
add_image_size( \'postslider\', 680,310, true );

我正在用打印图像 img src="php echo $src; ? 不要忘记在代码中包含php标记

对于摘录,简单的方法是 the_excerpt(); 而不是 the_content();

SO网友:Iso

看起来前面的两个答案会让你接近,但据我所知,你可能需要改变foreach 在自定义查询之后,循环到第二个wordpress循环调用(参见示例here 在“示例”部分):

我建议使用wordpress循环的原因是the_excerpt() 仅在标准循环框架内工作。如果你在“循环”中,你会使用

the_post_thumbnail( \'your-custom-post-size-here\' );
而不是

get_the_post_thumbnail
正如尤斯里·马修斯所言。他的答案将在“循环”之外起作用,在像你这样的情况下foreach

但如上所述,如果您处于“循环”中,您可以访问the_excerpt() 这应该让你知道你要去哪里。

结束

相关推荐

Featured posts and the loop

我正在尝试在索引中添加一个框。php在何处显示最新的3篇特色帖子。根据this tutorial, 我已将以下内容添加到functions.php:add_theme_support( \'featured-content\', array( \'filter\' => \'magdeleine_get_featured_posts\', \'max_posts\' => 3, ) ); function magdeleine