我已经看到我不是第一个提出这个问题的人,但我找到的解决方案都没有给我带来帮助。 我正在开发一个在线商店,它针对不同的产品类别有不同的页面。每个类别都有自己的页面。我有一个模板文件,引用该类型的页面。每个页面标题是类别名称。 这是我的模板文件中的代码:
<div id="store-front" class="main-music-area">
<?php if ( $products->have_posts() ) : $i = 1; ?>
<header class="page-header">
<?php
the_title( '<h1 class="page-title">', '</h1>' );
?>
</header><!-- .page-header -->
直到现在它工作得很好,但现在我得到的是第一个帖子标题,而不是页面/类别标题,我找不到原因。有什么建议? 感谢
答案 0 :(得分:1)
我实际上发现使用single_post_title()
给出了正确的答案,因为wp_title()
还包括了站点描述。
答案 1 :(得分:0)
您正在使用has_posts进入&#34;循环&#34;所以the_title与产品循环而不是页面有关。
因此,您可以使用get_the_title()
并使用网页ID或首先显示标题,然后才能使用have_posts
功能。
例如:
<?php rewind_posts(); ?>
<header class="page-header">
<?php
the_title( '<h1 class="page-title">', '</h1>' );
?>
</header><!-- .page-header -->
<?php if ( $products->have_posts() ) : $i = 1; ?>
编辑:您可能在此部分之前开始循环,因此在调用the_title()之前使用rewind_posts()以重置上一个循环。
显示或返回当前帖子的非转义标题。这个标签 可能只能在The Loop中使用,以获取外部帖子的标题 循环使用get_the_title。如果帖子受到保护或私密, 这将被&#34;保护:&#34;或者&#34;私人:&#34;添附 标题。
作为副作用,has_posts开始,逐步执行或重置 环。在循环结束时,has_posts在调用后返回0 rewind_posts。