当前浏览:首页 / WordPress钩子 / wp_title

apply_filters( 'wp_title', string $title, string $sep, string $seplocation )

过滤页面标题的文本

titlemore...


参数

$titlestring
页面标题。
$sepstring
标题分隔符。
$seplocationstring
分隔符的位置('left''right')。

更多信息

wp_title过滤器用于过滤页面标题(用wp_title()调用)。这会过滤HTML <title>标签中出现的文本(有时称为“标题标签”或“元标题”),而不是文章、页面或类别标题。

插件(或主题)可以使用以下代码注册为内容过滤器:

add_filter( 'wp_title', 'filter_function_name', 10, 2 );

其中‘filter_function_name’是WordPress在检索内容时应该调用的函数。请注意,过滤函数必须在完成处理后返回内容,否则标题将为空,其他插件也会过滤内容,这可能会产生错误。

filter_function_name应该是唯一的函数名。它不能与已声明的任何其他函数名匹配。



源码

查看源码 官方文档


更新日志

版本描述
2.0.0开始引入

使用示例

  • 示例1

    wp_title已弃用,请参阅https://make.wordpress.org/core/2015/10/20/document-title-in-4-4/

    请使用:

    pre_get_document_title – 如果返回空值以外的任何值,则短路wp_get_document_title()
    document_title_separator – 过滤标题部分之间的分隔符。
    document_title_parts – 过滤组成文档标题的部分,以关联数组的形式传递。

  • 示例2

    仅供参考,wp_title已恢复:
    “11月12日更新–wp_title已恢复,直到确定了替代用途并为其定义了前进路径。”

    参考链接最初由Andrew Klimek在上方给出:https://make.wordpress.org/core/2015/10/20/document-title-in-4-4/

  • 示例3

    基本示例

    在header.php中:

    <title><?php wp_title('|', true, 'right'); ?></title>

    在functions.php中:

    /**
     * Creates a nicely formatted and more specific title element text
     * for output in head of document, based on current view.
     *
     * @param string $title Default title text for current view.
     * @param string $sep   Optional separator.
     * @return string Filtered title.
     */
    function wpdocs_filter_wp_title( $title, $sep ) {
    	global $paged, $page;
    
    	if ( is_feed() )
    		return $title;
    
    	// Add the site name.
    	$title .= get_bloginfo( 'name' );
    
    	// Add the site description for the home/front page.
    	$site_description = get_bloginfo( 'description', 'display' );
    	if ( $site_description && ( is_home() || is_front_page() ) )
    		$title = "$title $sep $site_description";
    
    	// Add a page number if necessary.
    	if ( $paged >= 2 || $page >= 2 )
    		$title = "$title $sep " . sprintf( __( 'Page %s', 'twentytwelve' ), max( $paged, $page ) );
    
    	return $title;
    }
    add_filter( 'wp_title', 'wpdocs_filter_wp_title', 10, 2 );