我最近根据我在网上找到的指南创建了一个自定义WordPress主题。
但是,我遇到的所有指南都解释了如何设置博客网站,而不解释如何设置静态网站页面。我猜测它与我的index.php中的代码有关:
。
>. get_template_part( 'content', get_post_format() );
>. endwhile; endif;
>. ?>
当我删除它时,它会删除博客布局。但是,我不知道要修改什么来制作静态页面布局。
有人可以帮忙吗?
答案 0 :(得分:1)
get_post_format()
返回帖子的帖子格式。这通常会在循环中调用,但如果提供了帖子ID,则可以在任何地方使用。它通常在帖子页面/博客上找到..因此,当你想要显示博客文章时,它会在主题中使用。
你可能知道wp有不同的帖子类型。我们只拿两个。
Post (Post Type: 'post')
Page (Post Type: 'page')
get_post_format()
用于获取帖子的格式,(博客文章)如果您打开wp信息中心并开始新帖子或编辑现有帖子,您将看到不同的帖子格式类型
从上图中可以看出,红色高亮部分是帖子格式,当你使用get_post_format()
wp处理该模板时,你要求的是它应该显示帖子,而不是页面。< / p>
如果您需要页面内容,则需要使用the_content()
因此这个
get_template_part( 'content', get_post_format() );
endwhile; endif;
成为:
get_template_part( 'content', the_content() );
endwhile; endif;
或者:
<div class="YourContainer">
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<div class="YourContentDiv">
<?php the_content();?>
</div>
<?php endwhile; ?>
<?php else:
echo "no content found";
?>
<?php endif; ?>
</div>
希望这有帮助,Goodluck
答案 1 :(得分:-1)
如果查看页面模板层次结构,您将看到在哪种情况下使用哪个模板:
https://developer.wordpress.org/themes/basics/template-hierarchy/
例如,如果您创建front-page.php模板,它将优先于其他模板。
如果您在设置中设置静态主页,则所使用的模板将首先取决于层次结构,如果未设置,则首先是自定义命名的可选模板,然后是page- $ slug.php模板,例如home-page.php然后如果那不存在那么一个page- $ id.php例如15-page.php如果这不存在那么page.php将被使用然后singular.php然后index.php