如何定制搜索结果页面标题?

时间:2016-05-05 作者:KDX

我想自定义搜索结果页面的页面标题:

发件人:

<title>Search Results for “search string” – Page 2 – Sitename</title>
收件人:

<title>“search string” result page – Page 2 – Sitename</title>
在我的搜索中。php模板,get_header() 可能是被调用来生成<title> 标签

是否有一个筛选器可以应用于它来进行此自定义?

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

wp_get_document_title() 我们拥有的功能:

// If it\'s a search, use a dynamic search results title.
} elseif ( is_search() ) {
        /* translators: %s: search phrase */
        $title[\'title\'] = sprintf( 
            __( \'Search Results for &#8220;%s&#8221;\' ), 
            get_search_query() 
        );
这样你就可以document_title_parts 过滤器可根据您的NED进行调整。

Example:

/**
 * Modify the document title for the search page
 */
add_filter( \'document_title_parts\', function( $title )
{
    if ( is_search() ) 
        $title[\'title\'] = sprintf( 
            esc_html__( \'&#8220;%s&#8221; result page\', \'my-theme-domain\' ), 
            get_search_query() 
        );

    return $title;
} );
Note: 这假设您的主题支持title-tag.

Update:

我还可以在同一过滤器中自定义标题的第2页部分吗?

关于页面部分,您可以使用以下类似的方式进行调整:

/**
 * Modify the page part of the document title for the search page
 */
add_filter( \'document_title_parts\', function( $title ) use( &$page, &$paged )
{
    if ( is_search() && ( $paged >= 2 || $page >= 2 ) && ! is_404() ) 
        $title[\'page\'] = sprintf( 
            esc_html__( \'This is %s page\', \'my-theme-domain\' ), 
            max( $paged, $page ) 
        );

    return $title;
} );

相关推荐

用于在_title()之后添加自定义内容的WP挂钩

我想在页面或帖子标题后显示自定义HTML片段。任何遵循WP指南的主题都将使用the_title(). 例如TwentyTwentyOne WP theme 具体如下:<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>> <header class="entry-header alignwide"> &