我正在构建一个或多或少与众不同的布局,这迫使我在DOM中的内容上方有一个标题。结构如下:
<?php get_header(); ?>
<div id="wrapper">
<header class="entry-header" style="background-image:url({url-to-post-thumbnail-of-current-post});">
<h1 class="entry-title">{title-of-current-post}
<span class="date">
<time class="entry-date" datetime="{the-time-c}">{the-time}</time>
</span>
</h1>
</header><!-- .entry-header -->
<section id="main">
<div id="main-content">
<?php
while ( have_posts() ) : the_post();
get_template_part( \'content\', get_post_format() );
endwhile;
?>
</div>
</section>
<!-- section#main -->
<?php require_once(trailingslashit(get_template_directory()) . "php/single-secondary.php"); ?>
</div>
<!-- div#wrapper -->
<?php get_footer(); ?>
正如你所见,我需要在
header
, 但这是在循环之外的,我不知道如何在循环之外获得这些信息。也许我可以运行一个额外的循环,但这不会导致开销吗?或者我可以以某种方式扩展循环吗?
最合适的回答,由SO网友:Pieter Goosen 整理而成
所有模板都是在全局范围内生成的,因此您可以访问$wp_query
, $post
, get_queried_object()
和get_queried_object_id()
模板中的任意位置。
由于这在标题中,我还将使用条件检查,如is_single()
专门针对单个页面