我是WordPress主题开发方面的新手,我对用于在主页上显示我的帖子的WP功能有些怀疑:
<?php
if ( have_posts() ) :
// Start the Loop.
while ( have_posts() ) : the_post();
/*
* Include the post format-specific template for the content. If you want to
* use this in a child theme, then include a file called called content-___.php
* (where ___ is the post format) and that will be used instead.
*/
get_template_part( \'content\', get_post_format() );
endwhile;
// Previous/next post navigation.
twentyfourteen_paging_nav();
else :
// If no content, include the "No posts found" template.
get_template_part( \'content\', \'none\' );
endif;
?>
直觉上我明白,只要有帖子,这些帖子就会显示在主页上。
我的疑问与这一行代码有关:
get_template_part( \'content\', get_post_format() );
在阅读文档时,我觉得:
(1)get_template_part: 将模板零件加载到模板中。所以我认为,通过这一行,我包括了一个用于显示帖子的模板部分(在我的主页中显示帖子的结构),对吗?
2) get\\u post\\u format()的具体操作是什么?
最合适的回答,由SO网友:Manolo 整理而成
get_template_part()
包含active theme目录中的模板文件。
例如:
get_template_part(\'content\')
将包括模板content.php
从主题文件夹。
当有两个参数时,它将搜索名为firstParameter-secondParameter.php
. 因此:
get_template_part( \'content\', get_post_format() );
将包括
content-{$post_format}.php
文件
get_post_format() 返回以下定义的格式之一:
aside
chat
gallery
link
image
quote
status
video
audio
或
false
. 因此包含的文件将是
content.php
或
content-format.php
SO网友:1fixdotio
1) 是的!
2) WordPress支持9post formats 现在,假设您的主题支持其中的两个:“aside”和“gallery”,那么您的函数中应该有以下代码。php:
add_theme_support( \'post-formats\', array( \'aside\', \'gallery\' ) );
您可以为每个帖子格式构建不同的内容模板部分,并将其另存为\'
content-aside.php\' 和\'
content-galery.php\' 在主题文件夹中。
如果主题中没有这两个文件,get_template_part
将自动回退以使用“内容”。而不是php。