wp_title仮訳
この記事は2016年6月15日時点のWordPressの(Code Reference wp_title())を仮訳したものです。
元々自分で使うために訳したため、翻訳が正確である保証が全くありません。確認を容易にするために原文を左側に、仮訳を右側に配置しています。全く自信がない役については(?)_ _(?)で囲んでいます。
wp_title ( string $sep = '»', bool $display = true, string $seplocation = '' )
Display or retrieve page title for all areas of blog.
ブログのすべての領域でページタイトルを表示または返します。
By default, the page title will display the separator before the page title, so that the blog title will be before the page title. This is not good for title display, since the blog title shows up on most tabs and not what is important, which is the page that the user is looking at.
初期状態では、ブログタイトルがページタイトルの前に、セパレータで区切られて表示されます。これはタイトルの表示のためにはあまりよくありません。閲覧者がページタイトルを見る際、重要ではないブログタイトルがタブの多くを占めるからです。
There are also SEO benefits to having the blog title after or to the ‘right’ or the page title. However, it is mostly common sense to have the blog title to the right with most browsers supporting tabs. You can achieve this by using the seplocation parameter and setting the value to ‘right’. This change was introduced around 2.5.0, in case backwards compatibility of themes is important.
SEOの点からも、ブログタイトルはページタイトルのあと、または右側が良いとされています。一方、多くの人が共有する感覚として、ブログタイトルはブログタイトルはブラウザのタブの右側に配置されます。あなたは区切り記号の変数と設定を「右」にすることでこのやり方を選択することができます。この変更はバージョン2.5.0でテーマの後方互換性を維持して導入されました。
Return: (string|null) String on retrieve, null when displaying.
返り値:(string|null)取得した文字列、またはnull
Source file: wp-includes/general-template.php
Parameters
変数
$sep
(string) (Optional) default is ‘»’. How to separate the various items within the page title.
Default value: ‘»’
$sep
(文字列)(オプション)初期値は「»」。ページタイトルのアイテムを何で分割するか
初期値は「»」
$display
(bool) (Optional) Whether to display or retrieve title.
Default value: true
$display
(ブール)(オプション)タイトルを表示するか取得するか。
初期値:true(表示する)
$seplocation
(string) (Optional) Direction to display title, ‘right’.
Default value: ”
$seplocation
(文字列)(オプション)タイトル表示の方向。「right」
初期値:「」(なし)
More Information
詳しい情報
Best practices
最良の方法
Plugins might use the wp_title filter to generate a value. While it is possible to construct a “title” by doing things such as concatenating with bloginfo (the Site Name), if you do not use the wp_title function in your theme, you will likely have errors or unexpected behavior.
プラグインがwp_titleフィルターを、値を生成するために使用するかもしれません。
Return Values
値を返す
The function returns a concatenated string. It always queries the database for a default string; the value of the default string depends on the type of post or page:
この関数は連結した文字列を返します。関数は常に初期値をデータベースに紹介します。初期値の文字列は以下の投稿またはページのタイプに依存します。
Single post
投稿ページ
the title of the post
投稿のタイトル
Date-based archive
年月アーカイブ
the date (e.g., “2006”, “2006 – January”)
日付
Category
カテゴリー
the name of the category
カテゴリー名
Author page
投稿者
the public name of the user
投稿者の公開名
The function then prepends or appends the sep string and returns the entire value.
この関数は先頭または末尾にsepの文字列を追加し、全体の値を返します。
Uses
使用箇所
wp-includes/general-template.php: wp_title_parts
wp-includes/l10n.php: __()
wp-includes/formatting.php: zeroise()
wp-includes/general-template.php: single_post_title()
wp-includes/general-template.php: post_type_archive_title()
wp-includes/general-template.php: single_term_title()
wp-includes/general-template.php: wp_title
wp-includes/query.php: is_single()
wp-includes/query.php: is_search()
wp-includes/query.php: is_404()
wp-includes/query.php: is_home()
wp-includes/query.php: is_front_page()
wp-includes/query.php: is_page()
wp-includes/query.php: is_category()
wp-includes/query.php: is_tag()
wp-includes/query.php: is_tax()
wp-includes/query.php: is_author()
wp-includes/query.php: get_query_var()
wp-includes/query.php: is_post_type_archive()
wp-includes/query.php: get_queried_object()
wp-includes/query.php: is_archive()
wp-includes/locale.php: WP_Locale::get_month()
wp-includes/taxonomy.php: get_taxonomy()
wp-includes/plugin.php: apply_filters()
wp-includes/post.php: get_post_type_object()
Source
function wp_title( $sep = '»', $display = true, $seplocation = '' ) {
global $wp_locale;
$m = get_query_var( 'm' );
$year = get_query_var( 'year' );
$monthnum = get_query_var( 'monthnum' );
$day = get_query_var( 'day' );
$search = get_query_var( 's' );
$title = '';
$t_sep = '%WP_TITLE_SEP%'; // Temporary separator, for accurate flipping, if necessary
// If there is a post
if ( is_single() || ( is_home() && ! is_front_page() ) || ( is_page() && ! is_front_page() ) ) {
$title = single_post_title( '', false );
}
// If there's a post type archive
if ( is_post_type_archive() ) {
$post_type = get_query_var( 'post_type' );
if ( is_array( $post_type ) ) {
$post_type = reset( $post_type );
}
$post_type_object = get_post_type_object( $post_type );
if ( ! $post_type_object->has_archive ) {
$title = post_type_archive_title( '', false );
}
}
// If there's a category or tag
if ( is_category() || is_tag() ) {
$title = single_term_title( '', false );
}
// If there's a taxonomy
if ( is_tax() ) {
$term = get_queried_object();
if ( $term ) {
$tax = get_taxonomy( $term->taxonomy );
$title = single_term_title( $tax->labels->name . $t_sep, false );
}
}
// If there's an author
if ( is_author() && ! is_post_type_archive() ) {
$author = get_queried_object();
if ( $author ) {
$title = $author->display_name;
}
}
// Post type archives with has_archive should override terms.
if ( is_post_type_archive() && $post_type_object->has_archive ) {
$title = post_type_archive_title( '', false );
}
// If there's a month
if ( is_archive() && ! empty( $m ) ) {
$my_year = substr( $m, 0, 4 );
$my_month = $wp_locale->get_month( substr( $m, 4, 2 ) );
$my_day = intval( substr( $m, 6, 2 ) );
$title = $my_year . ( $my_month ? $t_sep . $my_month : '' ) . ( $my_day ? $t_sep . $my_day : '' );
}
// If there's a year
if ( is_archive() && ! empty( $year ) ) {
$title = $year;
if ( ! empty( $monthnum ) ) {
$title .= $t_sep . $wp_locale->get_month( $monthnum );
}
if ( ! empty( $day ) ) {
$title .= $t_sep . zeroise( $day, 2 );
}
}
// If it's a search
if ( is_search() ) {
/* translators: 1: separator, 2: search phrase */
$title = sprintf( __( 'Search Results %1$s %2$s' ), $t_sep, strip_tags( $search ) );
}
// If it's a 404 page
if ( is_404() ) {
$title = __( 'Page not found' );
}
$prefix = '';
if ( ! empty( $title ) ) {
$prefix = " $sep ";
}
/**
* Filter the parts of the page title.
*
* @since 4.0.0
*
* @param array $title_array Parts of the page title.
*/
$title_array = apply_filters( 'wp_title_parts', explode( $t_sep, $title ) );
// Determines position of the separator and direction of the breadcrumb
if ( 'right' == $seplocation ) { // sep on right, so reverse the order
$title_array = array_reverse( $title_array );
$title = implode( " $sep ", $title_array ) . $prefix;
} else {
$title = $prefix . implode( " $sep ", $title_array );
}
/**
* Filter the text of the page title.
*
* @since 2.0.0
*
* @param string $title Page title.
* @param string $sep Title separator.
* @param string $seplocation Location of the separator (left or right).
*/
$title = apply_filters( 'wp_title', $title, $sep, $seplocation );
// Send it out
if ( $display ) {
echo $title;
} else {
return $title;
}
}