我有一个为我的主页创建的自定义页面模板。我把它设置为阅读设置下的静态主页。我想能够显示我博客页面上最后三篇标题为“新闻”的新闻帖子。
我尝试了以下循环,但它正在从自定义页面内容中提取内容:
<?php
if ( have_posts() ) :
if ( is_home() && ! is_front_page() ) : ?>
<header>
<h1 class="page-title screen-reader-text"><?php single_post_title(); ?></h1>
</header>
<?php
endif;
/* Start the Loop */
while ( have_posts() ) : the_post();
get_template_part( \'template-parts/content\', get_post_format() );
endwhile;
the_posts_navigation();
else :
get_template_part( \'template-parts/content\', \'none\' );
endif; ?>
我需要显示文章标题、日期、摘录和阅读更多链接。
如果这有助于你理解为什么需要模板部分,我也在根据下划线主题的当前版本构建这个。
任何帮助都将不胜感激。
最合适的回答,由SO网友:hcheung 整理而成
如果新闻是一类帖子,那么:
首先,找到类别ID,登录到wp admin,转到Posts->Categories,鼠标悬停在“News”类别上,cat ID应该显示在浏览器的左下角(对于chrome,这是有效的,不确定其他浏览器)在函数中添加以下代码。php
function my_news_category( $query ) {
if ( $query->is_frontpage() && $query->is_main_query() ) {
$query->set( \'cat\', \'18\'); //remember change this to the actual cat id
}
}
add_action( \'pre_get_posts\', \'my_news_category\' );
对于此解决方案,您根本不需要更改下划线模板。
替代解决方案是添加query_posts()
按照我在评论中的建议,在临街模板上显示主循环之前。看见official documentation 有关如何实现它的更多详细信息。