这个`print intf(__(‘第%s页’,‘_s’),max($PAGE,$PAGE))`上的“_s”是否仅指文本域?

时间:2015-08-13 作者:5ervant - techintel.github.io

\'_s\' 可在上找到的代码中的值Customizing with the filter, 只需参考text domain 作为文档或文字值?

/**
 * Filters wp_title to print a neat <title> tag based on what is being viewed.
 *
 * @param string $title Default title text for current view.
 * @param string $sep Optional separator.
 * @return string The filtered title.
 */
function theme_name_wp_title( $title, $sep ) {
    if ( is_feed() ) {
        return $title;
    }

    global $page, $paged;

    // Add the blog name
    $title .= get_bloginfo( \'name\', \'display\' );

    // Add the blog description for the home/front page.
    $site_description = get_bloginfo( \'description\', \'display\' );
    if ( $site_description && ( is_home() || is_front_page() ) ) {
        $title .= " $sep $site_description";
    }

    // Add a page number if necessary:
    if ( ( $paged >= 2 || $page >= 2 ) && ! is_404() ) {
        $title .= " $sep " . sprintf( __( \'Page %s\', \'_s\' ), max( $paged, $page ) );
    }

    return $title;
}
add_filter( \'wp_title\', \'theme_name_wp_title\', 10, 2 );
只是为了验证,但如果它是该arg的一个文本值,您能解释一下该函数中该arg发生了什么吗?是在哪个文本域中转换的,还是什么?

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

是的,是的。如果你把这行重新格式化,可能会更清楚

$title .= " $sep " . sprintf( __( \'Page %s\', \'_s\' ), max( $paged, $page ) );
收件人:

$title .= " $sep ";
$title .= sprintf( 
    __( \'Page %s\', \'_s\' ), 
    max( $paged, $page ) 
);
的第一个参数sprintf 需要一种格式,此处为__ 作用此函数的第二个参数is meant to be the text domain.

Update:事实上,我认为这是starter主题的默认文本域»Undersorce S« codex中的示例代码可能来自何处。

Update 2:好了:看起来抄本中的样本是从函数中提取的_s_wp_title. 这个_s 函数中的名称替换为theme_name 但文本域显然被遗漏了。

结束