如何输出博客主页的标题

时间:2015-12-05 作者:websupporter

我正在使用一个静态frontpage和一个用于我的博客帖子的页面。在我的标题中。php我想显示我博客帖子中所选页面的标题。

例如:

<?php 
if( is_home() )
 echo \'<h1>\' . get_the_title() . \'</h1>\';
?><nav> 
... 
</nav>
但是当然get_the_title() 返回显示帖子的第一个元素,而不是页面本身的第一个元素。

如何显示指定主页的标题?

5 个回复
最合适的回答,由SO网友:Pieter Goosen 整理而成

您可以使用查询的对象返回用作blogpage的页面的标题

您可以使用以下内容:(需要PHP 5.4+)

$title = get_queried_object()->post_title;
var_dump( $title );

SO网友:jgraup

您可以从选项中获取id,然后使用该id回显标题。

// Blog Page
$page_for_posts_id = get_option( \'page_for_posts\' );

echo get_the_title($page_for_posts_id);

// Front Page
$frontpage_id = get_option(\'page_on_front\');

echo get_the_title($frontpage_id);

SO网友:Michelle

对于那些想在索引上使用@pieter解决方案的人,请注意。php-索引上。php中,您需要检查静态页面是否设置为在设置>阅读中显示帖子。这个is_home() 条件对索引不起作用。php,因此您确实需要检查选项是否已设置:

<?php
// See if "posts page" is set in Settings > Reading
$page_for_posts = get_option( \'page_for_posts\' ); 
if ($page_for_posts) { ?>
    <header class="page-header">
        <h1 class="page-title" itemprop="headline">
            <?php echo get_queried_object()->post_title; ?>
        </h1>
    </header>
<?php } ?>
此检查很重要,因为索引。当设置“Front Page Displays>Your latest posts”时,也会调用php。那样的话get_queried_object()->post_title; 将返回“找不到对象”错误。

SO网友:ControlZ

这对我有用

<?php if ( is_home() ) : ?>

    <section class="hero">
<div class="container">
    <div class="row">
        <div class="col-md-12 text-center">

            <h1>news, and personal musings</h1>
        </div>
    </div>
</div>

SO网友:IXN

如果只是关于主页互动程序,为什么不硬编码标题?

<?php if ( is_home() ) : ?>
   <h1>Your blog posts page title</h1>
<?php endif; ?>

相关推荐

正在尝试将Get_the_Title挂钩添加到该行

您好,创建联系人表单。正在尝试将get\\u the\\u title()添加到此代码行中:<?php echo \'<textarea style=\"margin-left: 15px; width: 246px;\" rows=\"3\" cols=\"28\" placeholder=\"I am interested in:\" name=\"cf-message\">\' . ( isset( $_POST[\"cf-message\"] ) ? esc_attr( $_PO