在主页上插入最后3个帖子的示例

时间:2015-03-11 作者:Littlemad

大家好,我是这里的新手,我一直在寻找这个答案,但我想我没有找到用谷歌搜索这个问题的正确方法。

我不懂PHP,但我非常了解html和css,我正在个性化一个wordpress,以便在主页上显示X个数量的帖子,并按照我的意愿进行格式化。

我在wordpress网站上找到了这个例子

<ul>
<?php
    $args = array( \'numberposts\' => \'5\', \'tax_query\' => array(
            array(
                \'taxonomy\' => \'post_format\',
                \'field\' => \'slug\',
                \'terms\' => \'post-format-aside\',
                \'operator\' => \'NOT IN\'
            ), 
            array(
                \'taxonomy\' => \'post_format\',
                \'field\' => \'slug\',
                \'terms\' => \'post-format-image\',
                \'operator\' => \'NOT IN\'
            )
    ) );
    $recent_posts = wp_get_recent_posts( $args );
    foreach( $recent_posts as $recent ){
        echo \'<li><a href="\' . get_permalink($recent["ID"]) . \'">\' .   ( __($recent["post_title"])).\'</a> </li> \';
    }
?>
</ul>
但它所做的只是打印链接,当我想摘录标题、内容以及是否有图片附在帖子上,以及图片时。

我不知道插入什么样的参数,以及如何定义语法。如果有人能帮忙,我将不胜感激,并为我的无知感到抱歉。

UPDATE

没有什么我以为我明白了,但没有。我完全被代码迷住了。

UPDATE 2

我正在尝试使用当前代码:

query_posts(\'show_posts=2\');

while ( have_posts() ) : the_post();

    /*
     * Include the Post-Format-specific template for the content.
     * If you want to override this in a child theme, then include a file
     * called content-___.php (where ___ is the Post Format name) and that will be used instead.
     */
     echo \'<div class="txt">\';
     the_title();
     the_excerpt();
     echo \'</div>\';
// End the loop.
endwhile;

// Reset Query
wp_reset_query();
但是posts参数不起作用,它只打印我所有的post。我知道需要将query post参数分配给while函数。不知道怎么做。

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

据我所知,你说的是static front page 当您引用一个名为homepage.php. 标准主页使用index.php.

要获得3篇最新帖子,您需要使用WP_Query. 我不确定您需要哪些参数,但可以通读给定的链接,并根据需要将它们添加到参数中。从评论中还可以看出,您在php和html之间切换有困难。您需要查看教程中的示例以获得正确的解释。我将在代码中为标题和摘录添加一个基本的div类。您可以对此进行进一步的扩展和探索

这是您需要的一个非常基本的示例:(请记住,此查询默认为查询post 岗位类型。如果使用自定义帖子类型,则需要设置post_type 参数

$args = array(
    \'posts_per_page\' => 3,
);
$q = new WP_Query( $args );

if ( $q->have_posts() ) {
    while ( $q->have_posts() ) {
    $q->the_post();
        ?>
        <div class="title">
            <?php the_title(); ?>
        </div>

        <div class="excerpt">
            <?php the_excerpt(); ?>
        </div>
        <?php
    }
    wp_reset_postdata();
}
编辑更新中的以下注释:

永远不要使用query_posts. 它打破了页面功能和主查询

  • show_posts 应该是showposts 顺便说一句,折旧了。您应该使用posts_per_page

  • 结束

    相关推荐

    为Posts_Per_Page添加主题定制器控件

    我正在尝试添加一个主题定制器控件来更改我的WP\\u Query posts\\u per\\u页面中显示的帖子数量,如下所示。。。$posts_per_page_option = get_option( \'posts_per_page_option\' ); $query_blog = new WP_Query( array(\'posts_per_page=\'.$posts_per_page_option.\'\',)); if ( $query_blog->have