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

View source

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;
}
}