Home.php 用于博客内容无法检索页面标题 - Wordpress

Home.php using for blog content can't retrieve page title - Wordpress

你好我想在我的 wordpress 主题中做博客部分,我设置使用静态首页和博客页面来显示最新的 post。

所以在我的 home.php 我有 :

<?php get_header(); ?>
<section class="header--page">
    <div class="header--img">
        <?php the_post_thumbnail() ?>
    </div>
    <div class="container">
        <h1><?php the_title() ?></h1>
    </div>
</section>
<?php get_footer(); ?>

但是它不是从页面获取标题和从页面获取特色图片,而是显示前 post 秒的那些,知道吗?

我试了一下 page.php 和 front-page.php,它们都返回了正确的标题和图片

因此,帖子页面之类的功能与标准页面略有不同。您的 the_title() 函数很可能返回要显示的第一个 post 的标题。

您需要做的是:

<h1><?php echo get_the_title(get_option('page_for_posts')) ?></h1>

您需要获取帖子页面的 ID,并使用该 ID 找到它的标题。

因此您需要使用 get_the_title(),因为 the_title()不允许您传递页面 ID 或 post。 get_the_title() 接受一个 ID 作为参数。

您在 WP 设置 > 阅读中指定为帖子页面的页面 ID 可以使用 get_option('page_for_posts') 获取。

所以将它们放在一起,上面的代码片段将获取帖子页面的标题,并回显它 on-screen。 (get_the_title() 不会像 the_title() 那样自动回显它的返回值,因此添加了回显。