在开始之前,我建议您阅读:Creating a Static Front Page
确定,选择静态首页时,将使用以下模板之一显示首页
首页。php
第页。php
任何其他自定义页面模板
这是我从你的问题中了解到的你已经在做的部分
现在是博客页面。Wordpress将设置为博客页面的页面视为您的主页,我认为您会被困在这里。Wordpress会自动查找名为home的模板。如果找不到该模板,Wordpress将使用索引。php。您的博客。php只是被忽略了。作为索引。php和主页。php仅为post类型设置post
, 当你访问你的博客页面时,你什么也看不到
在执行主查询以包括之前,必须更改它page
作为博客页面中的帖子类型,使用pre_get_posts
. 不要创建自定义查询来更改主页或任何存档页,因为它们很麻烦,特别是在分页时。只需将以下内容添加到函数中即可。php。请注意is_home()
check仅用于更改主页上的主查询,主页是您的博客页面
function include_page_in_home( $query ) {
if ( $query->is_home() && $query->is_main_query() ) {
$query->set( \'post_type\', array( \'post\', \'page\' ) ); // Remove post if you only need page
}
}
add_action( \'pre_get_posts\', \'include_page_in_home\' );
有关可检出的更多参数
WP_Query
因为两者使用相同的参数。只需确保您使用的是主页中的默认循环。php或索引。php。
仅供参考,请在函数中使用以下内容。php开发时,don\'t use 它位于生产现场。如果您不确定某个特定页面正在使用哪个模板,这将打印页面标题部分中正在使用的当前模板
add_action(\'wp_head\', \'show_template\');
function show_template() {
global $template;
print_r($template);
}
为了扩展@Otto的答案,你可以在头版使用以下内容。php来显示您的页面。这只是抄本的复制版本,您可以根据需要进行调整
<?php
// The Query
$the_query = new WP_Query( \'posts_per_page=-1&post_type=page\' );
// The Loop
if ( $the_query->have_posts() ) {
echo \'<ul>\';
while ( $the_query->have_posts() ) {
$the_query->the_post();
echo \'<li>\' . get_the_title() . \'</li>\';
}
echo \'</ul>\';
} else {
// no posts found
}
/* Restore original Post Data */
wp_reset_postdata();
其他资源
EDIT
如果需要显示最新的三个
posts 从你的头版博客。php,然后您可以简单地通过自定义查询来实现这一点,类似这样的
<?php
// The Query
$the_query = new WP_Query( \'posts_per_page=3&order=DESC\' );
// The Loop
if ( $the_query->have_posts() ) {
echo \'<ul>\';
while ( $the_query->have_posts() ) {
$the_query->the_post();
echo \'<li>\' . get_the_title() . \'</li>\';
}
echo \'</ul>\';
} else {
// no posts found
}
/* Restore original Post Data */
wp_reset_postdata();