如何在页眉中显示特定类别的最近发布的帖子?

时间:2016-08-08 作者:OscarGuy

Question: Category Display

我试图创建一个标题,从特定类别的最近3篇文章中提取数据,同时提取与要显示的最近一篇文章(如果有)关联的图像。我可以很好地创建样式,但我不知道如何引用和提取帖子信息。我不想做循环,因为我不想要所有的帖子。

我在想这方面的事情。

帖子图片(与类别中最新帖子的标题叠加,这是指向该类别的链接,可能引用帖子的日期和时间)在这下面,我只想在类别中的帖子之前添加指向该帖子的文本链接,然后再添加指向该帖子之前的第三个链接。

是否有特定的标签来拉取帖子标题和可能的小帖子摘录,并像这样显示它们?

澄清:我想做的是重新设计我的主页,使上面的部分分为四个部分,左上、右上、左下和右下。其中每一个都将是特定类别中最新帖子的图像,并由指向最新帖子的链接覆盖。然后,每一个都是该类别下两个职位的列表。格式化是通过CSS完成的,我可以处理CSS,但我不知道如何从特定类别中提取帖子,也不知道如何仅提取最近的三个类别。

1 个回复
最合适的回答,由SO网友:Andy Macaulay-Brook 整理而成

您确实想“做一个循环”。

在页眉中,您希望仅对这三篇文章进行一个新的查询,并循环浏览它们,而不会打乱每页下面需要的主查询。

下面是一个标准循环,从您的类别中调用三篇帖子:

$wpse_235359_query = new WP_Query( array( 

        \'category_name\' => \'your-category-slug\',
        // should pull in posts from child categories too

        \'posts_per_page\' => 3 

    ) );

if ($wpse_235359_query->have_posts()) :

    while($wpse_235359_query->have_posts()) :
        $wpse_235359_query->the_post();

        /* show your post stuff here using standard
           template tags like the_title()
        */

    endwhile;

endif;

wp_reset_postdata();
最后调用wp\\u reset\\u postdata可以很好地恢复所有内容,从而使页面的其余部分按预期运行。

您可以将这段代码放在主题文件中的任何位置,以便显示这捆文章。如果您将主题建立在另一个主题的基础上,则可以在子主题中,如果您构建整个主题,则可以在主主题文件中。

编辑-从注释中添加内容以缩短注释列表

调用变量$wpse_235359_query 你喜欢什么都行。如果愿意,可以将该代码段多次用于不同的类别。

使用子主题将其放置在您想要的位置,这样您仍然可以更新父主题。子主题通过覆盖父主题中的整个模板文件来工作。因此,您复制父标题。将php转换为子主题,修改它,以及子标题。WP使用php而不是父标头。php。调用load header。php总是首先查看子主题。

然后使用如下HTML对第一个进行不同的样式设置:

<div>
    <span class="MainCategoryHeader">
    <a href="http://www.example.com/">Permalink One</a>
        </span>
    <span class="MainCategoryHeader">
        <a href="http://www.example.com/">Permalink Two</a>
    </span>
    <span class="MainCategoryHeader">
        <a href="http://www.example.com/">Permalink Three</a>
    </span>
</div>
按如下方式应用CSS:

.MainCategoryHeader:first-child a { 
    background-color: #FFFFFF; 
    color: #FFFF00; 
} 
.MainCategoryHeader a { 
    background-color: #FFFFFF; 
    color: #000000; 
}
然而,这与WordPress和最初问题的要点已经偏离了很长一段路。如果你对WordPress部分的解决感到高兴,那么请接受答案,不仅是为了我的利益,也是为了保持网站整洁。