在调用wp_title()时,是否必须创建某种类型的“tile.php”文件?

时间:2011-11-01 作者:chamberlainpi

。。。或者是wp_title() 已经处理过你博客中的各种上下文了吗?

这可以为我阐明如何实现可重用index.php 文件中没有所有条件语句来处理给定上下文中的不同标题格式(页面、单条、帖子、搜索、存档、日期等)

而且

一篇特定的文章或页面是否可以有一种特殊的自定义格式,而不破坏其余的用例?(如果这需要在单独的问题中,请让我知道-它与这个问题密切相关,所以我想我现在就把它合并到这里)。

2 个回复
最合适的回答,由SO网友:Chip Bennett 整理而成

这个wp_title() template tag 执行一些基于上下文的输出。抄本:

标题文本取决于查询:

单篇文章或一页

帖子(或页面)的标题

日期(例如,“2006年”、“2006年1月”)类别

类别名称作者页

如果需要添加更具体的上下文输出,可以使用wp_title 过滤器挂钩,以修改输出。

例如,如果要在输出前加上站点名称:

<?php
function mytheme_filter_wp_title( $title ) {
    // Get the Site Name
    $site_name = get_bloginfo( \'name\' );
    // Prepend it to the default output
    $filtered_title = $site_name . $title;
    // Return the modified title
    return $filtered_title;
}
// Hook into \'wp_title\'
add_filter( \'wp_title\', \'mytheme_filter_wp_title\' );
?>
以Codex页面为例,假设您希望在站点首页的标题输出中附加站点描述:

<?php
function mytheme_filter_wp_title( $title ) {
    // Get the Site Name
    $site_name = get_bloginfo( \'name\' );
    // Prepend name
    $filtered_title = $site_name . $title;
    // If site front page, append description
    if ( is_front_page() ) {
        // Get the Site Description
        $site_description = get_bloginfo( \'description\' );
        // Append Site Description to title
        $filtered_title .= $site_description;
    }
    // Return the modified title
    return $filtered_title;
}
// Hook into \'wp_title\'
add_filter( \'wp_title\', \'mytheme_filter_wp_title\' );
?>
根据您的需要进行相应的修改。

如果不明显,这些筛选器回调属于functions.php.

EDIT

遗漏了以下内容:

一篇特定的文章或页面是否可以有一种特殊的自定义格式,而不破坏其余的用例?

这完全有可能。事实上,这就是大多数SEO插件的工作方式。

下面是关于使用wp_title 要控制的筛选器wp_title() 输出:you\'ve built in the ability to play nicely with SEO Plugins and anything else that attempts to modify wp_title() content, 无需进行其他代码更改。

SO网友:Joseph Leedy

如果我错了,请纠正我,但我不认为有一种不使用条件句的“干净”标题方式。就每页标题而言,您可以创建一个自定义元字段,并在输出标题时检查是否存在该字段。

结束

相关推荐

Formatting text in posts

在WordPress上的帖子中,是否有方法选择文本项并应用格式,例如字体/字体样式和字体大小?我看到有一个“格式”下拉列表。。。我是否应该先更改此处项目的样式?如果是,这是如何做到的?谢谢Richard