【问题标题】:Featured Image URL outside of LoopLoop 之外的特色图片 URL
【发布时间】:2015-04-29 07:02:03
【问题描述】:

我的 Wordpress 网站上有一个名为博客的页面,该页面设置为静态页面,并且是博客页面,因此它有一个博客文章列表。在博客页面上,我有一个特色图片集。我想将此特色图片用作博客页面上的背景图片。

home.php(博客页面模板):

在 home.php 的顶部,在拉出我拥有的博客文章列表的循环之前:

<?php
    $page_id = get_queried_object_id();
    if ( has_post_thumbnail( $page_id ) ) :
        $image_array = wp_get_attachment_image_src( get_post_thumbnail_id( $page_id ), 'optional-size' );
        $image = $image_array[0];
    else :
        $image = get_template_directory_uri() . '/images/default-background.jpg';
    endif;
    echo $image;
?>
<div class="feature" style="background-image: url('<?php echo $image; ?>')"></div>

这很有效,它设置了特色图片。但是,它似乎已将网站上每个页面上的特色图片设置为博客页面中的特色图片。即使我更改了“关于我们”页面上的特色图片,它仍然会提取博客页面的特色图片的 URL,并将其设置为“关于我们”页面上的特色图片。

我的网站在这里:http://www.cqwebdesign.co.uk/Action-Harpenden-Physiotherapy/

从这些屏幕截图中可以看出,我在博客和关于页面上设置了不同的特色图片:

http://i.imgur.com/DnU8V9F.jpg

http://i.imgur.com/qshulWT.jpg

有人知道我该如何解决这个问题吗?

【问题讨论】:

  • $page_id 在每一页上的回显是什么?

标签: wordpress


【解决方案1】:

由于home.php 模板仅影响您的博客页面,您的page.php 模板代码看起来会很有趣(注意:page.php 是您的“关于”页面等页面的默认模板)以及为什么此页面上的特色图片未正确显示。

尝试调试或回显您的博客页面和关于页面的 id 值,并验证相应的页面 id 是否与 get_queried_object_id(); 引用的相同。

我认为您有一个 page.php 模板,但以防万一,如果您没有模板,请注意 Wordpress' Template Hierarchy

Wordpress Codex: 正确配置静态首页功能后,即使将自定义页面模板分配给指定为“帖子页面”的页面,WordPress 也不会使用自定义页面模板来显示博客文章索引。 WordPress 只会使用 home.php 或 index.php。

【讨论】:

  • 我在其他模板文件中的代码实际上是不正确的!哎呀:)感谢您的回答!我问题中的代码运行良好。
猜你喜欢
  • 2014-04-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-12
  • 1970-01-01
  • 2017-08-22
  • 2012-06-30
  • 1970-01-01
相关资源
最近更新 更多