我如何将我的首页特色图片放在home.php的页面模板中?

时间:2018-09-30 作者:David A. French

重要提示:

我想确保这是清楚的:I am not asking how to get the post thumbnail. 我想知道如何获得通过古腾堡编辑器创建的带有页面模板的单个页面的特色图像。

我已经研究了许多类似的问题,但仍然找不到一个直接的答案。

此类问题:How to display a page's featured image?

https://stackoverflow.com/questions/16570413/get-featured-image-of-a-page-no-post-in-wordpress

问题解释:

我正在为一个简单的投资组合网站构建一个新主题。我希望它尽可能多地使用Gutenberg,并尽可能少地使用其他插件。

我已经创建了一个家。php文件。我还使用以下代码将其指定为主题:

<?php
/**
 * Template Name: Home
 *
 * Description: A custom template for the front page
 *
 * @package JackalopePro
 * @version 1.5
 */
当我转到管理面板的“页面”部分时,在古腾堡创建新页面时,我可以在页面模板选项中正确地看到“主页”。我可以设置内容、标题、特色图片等,并发布。(在管理面板中创建的此页面将被称为FrontPage-G)

当我添加<p> this is the home template</p> 到我家。php文件我可以在预览FrontPage-G时看到它。当我从根页面或默认页面加载我的网站时,我可以看到它。因此,模板被正确读取为在古腾堡创建的页面所需的模板文件,并且被正确读取为网站FrontPage应该使用的页面。

但是

当我调用时,它不会加载特色图像或内容/标题get_post_thumbnail();

我的frontpage的结构应该是这样的:(结构显然是用伪代码编写的)

<Nav></Nav>
<FrontpageFeaturedImage></FrontpageFeaturedImage>
(The following is a wp query loop for all the blog posts)
<Post>
  <ThePostFeaturedImage></ThePostFeaturedImage>
  <ThePostTitle></ThePostTitle>
  <ThePostExcerpt></ThePostExerpt>
</Post>
<Post>
  <ThePostFeaturedImage></ThePostFeaturedImage>
  <ThePostTitle></ThePostTitle>
  <ThePostExcerpt></ThePostExerpt>
</Post>
<Post>
  <ThePostFeaturedImage></ThePostFeaturedImage>
  <ThePostTitle></ThePostTitle>
  <ThePostExcerpt></ThePostExerpt>
</Post>
<Post>
  <ThePostFeaturedImage></ThePostFeaturedImage>
  <ThePostTitle></ThePostTitle>
  <ThePostExcerpt></ThePostExerpt>
</Post>
<Post>
  <ThePostFeaturedImage></ThePostFeaturedImage>
  <ThePostTitle></ThePostTitle>
  <ThePostExcerpt></ThePostExerpt>
</Post>
<Footer></Footer>
当我访问我的frontpage时,它显示了frontpage的英雄图像,但它不是我在古腾堡的frontpage-G页面中指定的特征图像,它只是我博客帖子的第一个特征图像(换句话说,你会在该页面上两次看到第一篇博客帖子的图像)。

当我尝试通过Frontpage-G的“查看页面”进行检查时,它要么什么也不显示,要么显示一个页面,其中有正确的特征图像作为Frontpage英雄图像,但在它下面,它没有页面中的其余博客帖子,而是有一篇帖子,它只有我试图用作Frontpage的页面中的信息,Frontpage-G。

我是否可以使用古腾堡编辑或更改我的frontpage?如果我想有一个带有特色图片和标题的frontpage,我可以用Gutenberg来更改它吗,或者我必须使用ACF或类似的东西吗?

1 个回复
SO网友:David A. French

我在Wordpress Slack上得到了一些帮助。

基本上我不得不使用头版。php而不是home。php,并设置在编辑器中创建的特定页面。然后在我的头版。php在获取页面内容后,我必须使用以下代码重置wp查询,以专门针对帖子内容:

$args = array(\'post_type\' => \'post\');
$the_query = new WP_Query( $args );
   if ( $the_query->have_posts() ) :
       while ( $the_query->have_posts() ) : $the_query->the_post();?>
<p> the content from the posts go here </p>
       <?php endwhile;?>
   <?php endif;?>

结束

相关推荐

Increase offset while looping

我正在编写一个自定义帖子插件,它将自定义帖子分组显示为选项卡。每组4个岗位。是否可以编写一个偏移量随每次循环而增加的查询?因此,结果将是:-第一个查询显示从1到4的帖子-第二个查询显示从5到8的帖子-第三个查询显示从9到12的帖子等。 <div class=\"official-matters-tabs\"> <?php $args = array(\'post_type\' => \'official-matters\', \'showp