• 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細

このWikiはいつでも誰でも編集できます

「テンプレートタグ/wp title」の版間の差分

提供: WordPress Codex 日本語版
移動先: 案内検索
(説明: 著者ページでの表示内容を追加、ブログ名とタイトルを反転して区切る: 2.5以降での用例追加 (07:55, July 23, 2008 Viper 版反映))
(最新のマージ)
7行目: 7行目:
 
このタグは、メインページの[[The Loop|ループ]]の外側であれば、テンプレートのどこででも使えますが、主に、ウェブページ <code><nowiki><head></nowiki></code> 内の <code><nowiki><title></nowiki></code> 要素で使われます。
 
このタグは、メインページの[[The Loop|ループ]]の外側であれば、テンプレートのどこででも使えますが、主に、ウェブページ <code><nowiki><head></nowiki></code> 内の <code><nowiki><title></nowiki></code> 要素で使われます。
  
クエリに基づいたタイトル文字列:
+
 
; 単体記事/[[:ja:Pages|WordPressページ]] : 記事/ページタイトル
+
; 日付ベースのアーカイブ : 日付 (例: "2006", "2006 - January")
+
; カテゴリ : カテゴリ名
+
; 著者ページ : [[Users Your Profile SubPanel#name|ユーザの公開名]]
+
  
 
<div id="Usage">
 
<div id="Usage">
19行目: 15行目:
 
  <?php wp_title('sep', echo, 'seplocation'); ?>
 
  <?php wp_title('sep', echo, 'seplocation'); ?>
 
<!-- 中央の引数 echo は、関数のコード上は display のままだが、Codex 原文に合わせて echo とした。 -->
 
<!-- 中央の引数 echo は、関数のコード上は display のままだが、Codex 原文に合わせて echo とした。 -->
 +
 +
== 戻り値 ==
 +
関数は、連結された文字列を返します。
 +
 +
それは、常にデフォルトの文字列をデータベースに照会し、デフォルトの文字列の値は、投稿やページのタイプによって異なります。:
 +
 +
クエリに基づいたタイトル文字列:
 +
 +
; 単体記事/[[:ja:Pages|WordPressページ]] : 記事/ページタイトル
 +
; 日付ベースのアーカイブ : 日付 (例: "2006", "2006 - January")
 +
; カテゴリ : カテゴリ名
 +
; 著者ページ : [[Users Your Profile SubPanel#name|ユーザの公開名]]
 +
 +
関数は、先頭に追加または'''sep'''文字列を追加し、全体の値を返します。
  
 
<div id="Examples">
 
<div id="Examples">
24行目: 34行目:
 
</div>
 
</div>
  
 +
<!--古い用例
 
<div id="Default_Usage">
 
<div id="Default_Usage">
 
=== 初期設定での使用 ===
 
=== 初期設定での使用 ===
47行目: 58行目:
  
 
<code><nowiki><title></nowiki></code> タグのページタイトルとブログ名を、上の例とは逆さにする例です('''記事タイトル--ブログ名''')。
 
<code><nowiki><title></nowiki></code> タグのページタイトルとブログ名を、上の例とは逆さにする例です('''記事タイトル--ブログ名''')。
 +
  
 
==== [[Version 2.5|WordPress 2.5]] 以降の場合 ====
 
==== [[Version 2.5|WordPress 2.5]] 以降の場合 ====
68行目: 80行目:
 
  <?php bloginfo('name'); ?>
 
  <?php bloginfo('name'); ?>
 
  </title>
 
  </title>
 +
 +
ここまで古い用例 -->
 +
 +
 +
 +
=== 初期設定での使用 ===
 +
 +
If you do not pass any parameters for a single post, for example:
 +
<pre> <title><?php wp_title(); ?></title></pre>
 +
 +
If the title of the post is "Hello world!", then the function will return
 +
<pre> &raquo; Hello world!</pre>
 +
 +
=== Zero-character '''sep''' ===
 +
 +
The '''sep''' string may be zero characters, which will remove '''&raquo;''' from the returned value. To do this, set the '''sep''' parameter to zero characters, for example:
 +
 +
<pre> <title><?php wp_title(''); ?></title></pre>
 +
 +
If the title of the post is "Hello world!", then the function will return:
 +
<pre> Hello world!</pre>
 +
 +
=== フィルターによるカスタマイズ ===
 +
If you want to change the way that the title displays on different pages you can use a filter.
 +
<pre>
 +
/**
 +
* 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 );
 +
</pre>
 +
 +
=== Covering Homepage ===
 +
 +
If you are using a custom homepage with custom loops and stuff or a custom front-page, you will have an empty wp_title. Here goes a neat hack to add the description/tagline at the wp_title place on homepage:
 +
 +
<pre><title><?php wp_title(''); ?></title></pre>
 +
 +
Then in your "functions.php" from theme file :
 +
<pre>add_filter( 'wp_title', 'baw_hack_wp_title_for_home' );
 +
function baw_hack_wp_title_for_home( $title )
 +
{
 +
  if( empty( $title ) && ( is_home() || is_front_page() ) ) {
 +
    return __( 'Home', 'theme_domain' ) . ' | ' . get_bloginfo( 'description' );
 +
  }
 +
  return $title;
 +
}</pre>
 +
You can format this string as you want of course.
 +
  
 
<div id="Parameters">
 
<div id="Parameters">
85行目: 172行目:
  
 
== 変更履歴 ==
 
== 変更履歴 ==
 
+
* [[Version 1.0|1.0.0]]:新規導入
 
* [[Version 2.5|2.5]] : パラメータに seplocation が追加されました。「記事タイトル &laquo; ブログ名」のような反転表記がしやすくなりました([[#ブログ名とタイトルを反転して区切る|用例]])。
 
* [[Version 2.5|2.5]] : パラメータに seplocation が追加されました。「記事タイトル &laquo; ブログ名」のような反転表記がしやすくなりました([[#ブログ名とタイトルを反転して区切る|用例]])。
 +
 +
==ソースファイル ==
 +
 +
<code>wp_title()</code> は {{Trac|wp-includes/general-template.php}}にあります。
 +
  
 
<div id="Related">
 
<div id="Related">
95行目: 187行目:
  
 
{{PHP Function Tag Footer}}
 
{{PHP Function Tag Footer}}
 +
 +
{{NeedTrans}}
  
 
{{原文|Template Tags/wp_title|59651}}<!-- 07:55, July 23, 2008 Viper 版 -->
 
{{原文|Template Tags/wp_title|59651}}<!-- 07:55, July 23, 2008 Viper 版 -->

2015年6月17日 (水) 10:05時点における版

このテンプレートタグ wp_title() は、現在のページのタイトルを表示、または取得します。区切り文字を定義でき、WordPress 2.5 以上では、タイトルの前/後どちらに出力するかを指定できます。

このタグは、メインページのループの外側であれば、テンプレートのどこででも使えますが、主に、ウェブページ <head> 内の <title> 要素で使われます。


使い方

<?php wp_title('sep', echo, 'seplocation'); ?>

戻り値

関数は、連結された文字列を返します。

それは、常にデフォルトの文字列をデータベースに照会し、デフォルトの文字列の値は、投稿やページのタイプによって異なります。:

クエリに基づいたタイトル文字列:

単体記事/WordPressページ 
記事/ページタイトル
日付ベースのアーカイブ 
日付 (例: "2006", "2006 - January")
カテゴリ 
カテゴリ名
著者ページ 
ユーザの公開名

関数は、先頭に追加またはsep文字列を追加し、全体の値を返します。

用例



初期設定での使用

If you do not pass any parameters for a single post, for example:

 <title><?php wp_title(); ?></title>

If the title of the post is "Hello world!", then the function will return

 » Hello world!

Zero-character sep

The sep string may be zero characters, which will remove » from the returned value. To do this, set the sep parameter to zero characters, for example:

 <title><?php wp_title(''); ?></title>

If the title of the post is "Hello world!", then the function will return:

 Hello world!

フィルターによるカスタマイズ

If you want to change the way that the title displays on different pages you can use a filter.

/**
 * 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 );

Covering Homepage

If you are using a custom homepage with custom loops and stuff or a custom front-page, you will have an empty wp_title. Here goes a neat hack to add the description/tagline at the wp_title place on homepage:

<title><?php wp_title(''); ?></title>

Then in your "functions.php" from theme file :

add_filter( 'wp_title', 'baw_hack_wp_title_for_home' );
function baw_hack_wp_title_for_home( $title )
{
  if( empty( $title ) && ( is_home() || is_front_page() ) ) {
    return __( 'Home', 'theme_domain' ) . ' | ' . get_bloginfo( 'description' );
  }
  return $title;
}

You can format this string as you want of course.


パラメータ

sep
文字列) タイトルの前/後に表示するテキスト、すなわち、セパレータ(区切り文字)。デフォルト(sep がブランク)では、記事タイトルの前または後ろ(seplocation 指定による)に '&raquo;'(»)記号を置きます。
echo
真偽値) タイトルを表示する(True)か、PHP 文字列として使えるようにタイトルの値を返す(False)か。有効値:
  • 1 (True) - (初期値) 表示
  • 0 (False) - 値を返す
seplocation
文字列)タイトルに対する sep 文字列の出力位置を指定します。この値を 'right' とすると、sep 文字列を記事タイトルの後ろ(右側)に置きます。初期値 ''(ブランク)や、'right' 以外の値では、sep 文字列をタイトルの直前(左側)に置きます。このパラメータは Version 2.5 以上でのみ使えます。
  • 'right' - 区切り文字を後ろ(右)に表示
  • ''(初期値)・その他の文字列 - 区切り文字を前(左)に表示

変更履歴

  • 1.0.0:新規導入
  • 2.5 : パラメータに seplocation が追加されました。「記事タイトル « ブログ名」のような反転表記がしやすくなりました(用例)。

ソースファイル

wp_title()wp-includes/general-template.phpにあります。



記事

コードドキュメンテーション

  • クラス: WP_Query - WP_Query クエリの詳細概要
  • オブジェクト: $wpdb - $wpdb オブジェクトの使い方概要
  • 関数: get_query_var()
  • 関数: query_posts() - 追加カスタムクエリの作成
  • 関数: get_post() - 項目の ID を使ってその投稿のレコードをデータベースから取得する
  • 関数: get_posts() - 項目の配列を返す特別な関数。
  • 関数: get_pages() - ページの配列を返す特別な関数。
  • 関数: have posts() - クエリが記事を返すかどうか判断する条件分岐。
  • 関数: the_post() - クエリの後に自動的にループを設定するのに使われる。
  • 関数: rewind_posts() - 現在のループをクリアする。
  • 関数: setup_postdata() - ループ内で単一クエリ結果のデータを設定する。
  • 関数: wp_reset_postdata() - 以前のクエリを復元する(通常、ループ内のもう一つのループで使われる)。
  • 関数: wp_reset_query()
  • 関数: is_main_query() - 変更するのがメインクエリであるよう保証する。
  • アクションフック: pre_get_posts - 実行される前に WordPress クエリを変更する。
  • アクションフック: the_post - 投稿オブジェクトをクエリの後に変更する。
  • フィルターフック: found_posts - found_posts WP_Query オブジェクトの値を変更する


関連

固定ページ: get_all_page_ids(), get_ancestors(), get_page_link(), get_page_by_path(), get_page_by_title(), get_page_children(), get_page_hierarchy(), get_page_uri() /en, get_pages(), is_page(), page_uri_index() /en, wp_list_pages(), wp_page_menu()


リスト・ドロップダウン関数: wp_list_authors(), wp_list_categories(), wp_list_pages(), wp_list_bookmarks(), wp_list_comments(), wp_get_archives(), wp_page_menu(), wp_dropdown_pages(), wp_dropdown_categories(), wp_dropdown_users()


テンプレートタグへの PHP 関数型パラメータの渡し方関数リファレンステンプレートタグ目次もご覧ください。


このページ「テンプレートタグ/wp title」は未翻訳です。和訳や日本語情報を加筆してくださる協力者を求めています

最新英語版: WordPress Codex » Template Tags/wp_title最新版との差分