有人能向我解释一下,在静态主页的2017主题中,它在哪里被引导去循环页面而不是帖子?
我不明白它是在哪里这样做的,从一个新的WordPress安装。
在里面front-page.php
我有这个:
<?php
// Get each of our panels and show the post data.
if ( 0 !== twentyseventeen_panel_count() || is_customize_preview() ) : // If we have pages to show.
/**
* Filter number of front page sections in Twenty Seventeen.
*
* @since Twenty Seventeen 1.0
*
* @param $num_sections integer
*/
$num_sections = apply_filters( \'twentyseventeen_front_page_sections\', 4 );
global $twentyseventeencounter;
// Create a setting and control for each of the sections available in the theme.
for ( $i = 1; $i < ( 1 + $num_sections ); $i++ ) {
$twentyseventeencounter = $i;
twentyseventeen_front_page_section( null, $i );
}
endif; // The if ( 0 !== twentyseventeen_panel_count() ) ends here. ?>
但是,这些页面的实际选择和输出的功能代码在哪里?我找不到它。
此外,这段代码看起来像是在循环搜索帖子,但在主题中,页面出现在标记为Blog
里面有帖子。。。那是怎么回事?
我想修改主题,只选择某些页面,因此我对它如何生成首页部分感兴趣。
最合适的回答,由SO网友:Milo 整理而成
页面选择是在“主题选项”下的“自定义程序”中设置的,仅当“首页”设置为“静态”时才会显示。
输出发生在函数内twentyseventeen_front_page_section
在主题文件中template-tags.php
, 其中使用get_post
, 因此,这并不是传统意义上的循环。
您可以使用twentyseventeen_front_page_sections
过滤器,应return
所需节数。
要通过代码访问这些值,可以使用get_theme_mod
, 每个面板都存储在按键下panel_$i
, 哪里$i
是段号,从1开始。存储的值是页面的ID。还可以使用更新这些值set_theme_mod
.