Place page title in header?

时间:2015-02-14 作者:user781470

通常,在WordPress中,页面标题显示在内容区域中。我希望页面标题出现在页眉区域。要做到这一点,我必须将其从内容页中的当前位置删除。php并将其放置在标题中。php。但内容页。php是从页面调用的。php,它在while循环中调用内容页(while ( have_posts() ) : the_post(); ... ) -- 因此,我想我也必须将其移动或复制到标题中。看起来有很多麻烦。

将标题html的一部分移动到页面内容中,这样我就不必多次运行while循环,这样会更有意义吗?

(作为一个学习工具,我正在使用WordPress重新创建一个现有的html站点,使用\\u s starter主题。)

---编辑---

感谢您的回答。非常有帮助。以下是基于您的答案的一些测试结果。给定以下代码,在标头(外部循环)中:

wp_title(): <?php wp_title(\'\', true,\'\'); ?><br>
the_title(): <?php the_title(); ?><br>
single_post_title(): <?php single_post_title(); ?><br>
$post->post_name: <?php echo \'page name: \' . $post->post_name; ?><br>
ispage? : <?php echo (is_page() ? \'yes\' : \'no\'); ?><br>
ispage(about-us) : <?php echo (is_page(\'about-us\') ? \'yes\' : \'no\'); ?><br>
ispage(About Us) : <?php echo (is_page(\'About Us\') ? \'yes\' : \'no\'); ?>
从我的“关于我们”页面查看时,我得到:

wp_title() About UsAt The Tabernacle
the_title(): About Us
single_post_title(): About Us
$post->post_name: page name: about-us
ispage? : yes
ispage(about-us) : yes
ispage(About Us) : yes
从我的主页查看时,我得到:

wp_title(): At The Tabernacle My site motto here
the_title(): Home
single_post_title(): Home
$post->post_name: page name: home
ispage? : yes
ispage(about-us) : no
ispage(About Us) : no
当从“Hello World”帖子中查看时,我得到:

wp_title(): Hello world!At The Tabernacle
the_title(): Hello world!
single_post_title(): Hello world!
$post->post_name: page name: hello-world
ispage? : no
ispage(about-us) : no
ispage(About Us) : no
结论:我可以使用\\u title()或single\\u post\\u title()(wp\\u title返回的文本比我想要的多)。我可以测试is\\U页面(…)以便在查看帖子时显示特定的页面名称。

非常感谢。

3 个回复
最合适的回答,由SO网友:mathieuhays 整理而成

如果您只需要标题,可以在循环之外轻松地请求它。

试着打电话the_title() 在标题中。应该有用

但你必须意识到,如果你不设置条件,你网站的每个页面都会在标题部分显示其标题。

编辑:要调用的函数是get_the_title($post->ID) 自从the_title() 不允许将post id指定为参数。您可以查看Wordpress Codex for函数允许您在循环外从帖子中查询信息。

SO网友:user3325126

您需要使用wp\\u title();

如果您试图这样使用帖子标题:

<head> 
 <title> post title here </title> 
</head>
您需要添加wp\\u标题(“”,true“”);

<head>
 <title> <?php wp_title(\'\', true,\'\'); ?> </title>
</head>
例如:如果您的帖子名为Hello World,那么Hello World现在将显示在选项卡中。

http://codex.wordpress.org/Function_Reference/wp_title

SO网友:Vishwa

虽然上述方法目前正在发挥作用,WordPress核心开发人员recommends 具体如下:

从4.1和215开始,建议主题显示标题的方式是添加如下主题支持:-Konstantin Obenland

您可以在主题的函数中添加此行。php文件after_setup_theme. 或

从同一页,

从4.1和215开始,建议主题显示标题的方式是添加如下主题支持:

function theme_slug_setup() {
    add_theme_support( \'title-tag\' );
}
add_action( \'after_setup_theme\', \'theme_slug_setup\' );
应在after\\u setup\\u主题或init操作上添加支持,但不得晚于该主题或init操作。它不接受任何进一步的论点。

这样做的目的是,让WordPress在页眉中选择页面标题,而不在页眉中使用硬编码标记。php文件。

标题将按以下格式显示。

Page Title - Site Title

结束