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

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

「条件分岐タグ」の版間の差分

提供: WordPress Codex 日本語版
移動先: 案内検索
(A PAGE Page)
(2.1 以降の新規条件タグを追加、未訳。(2008年2月2日 (土) 22:42 Shacker 版より))
1行目: 1行目:
<!-- http://codex.wordpress.org/Conditional_Tags -->
+
<div id="Introduction">
== Introduction ==
+
== はじめに ==
 +
</div>
  
 
 条件タグ(Conditional Tag)はテンプレートファイル内で表示される内容、表示させる対象ページを設定するのに使います。例えば、ブログのホームページの上部に短文を表示させたいとしましょう。<tt>[[#The Main Page|is_home()]]</tt>を使うことによって、その作業量は軽減できます。
 
 条件タグ(Conditional Tag)はテンプレートファイル内で表示される内容、表示させる対象ページを設定するのに使います。例えば、ブログのホームページの上部に短文を表示させたいとしましょう。<tt>[[#The Main Page|is_home()]]</tt>を使うことによって、その作業量は軽減できます。
6行目: 7行目:
 
 これらのタグは[[Template Hierarchy]]と近い関係にあります。
 
 これらのタグは[[Template Hierarchy]]と近い関係にあります。
  
 +
<div id="The_Conditions_For...">
 
==The Conditions For...==
 
==The Conditions For...==
 +
</div>
  
 
 条件タグはその状況下であるかをチェックし、TRUE もしくは FALSE を返します。
 
 条件タグはその状況下であるかをチェックし、TRUE もしくは FALSE を返します。
12行目: 15行目:
 
<!--All of the Conditional Tags test to see whether a certain condition is met, and then returns either TRUE or FALSE.  '''The conditions under which various tags output TRUE is listed below'''.  Those tags which can accept parameters are so noted.-->
 
<!--All of the Conditional Tags test to see whether a certain condition is met, and then returns either TRUE or FALSE.  '''The conditions under which various tags output TRUE is listed below'''.  Those tags which can accept parameters are so noted.-->
  
=== The Main Page ===
+
<div id="The_Main_Page">
 +
=== メインページ ===
 +
</div>
  
; <tt>is_home()</tt> : メインページ(ブログのホームページ)が表示されている場合
+
; <tt>is_home()</tt> : メインページ(ブログのホームページ)が表示されている場合。(WordPress 2.1 handles this function differently than prior versions. See [http://codex.wordpress.org/Pages#Using_a_Page_as_the_Front_Page_.28version_2.1.2B_only.29 static Front Page].)
  
 +
<div id="The_Administration_Panels">
 +
=== 管理パネル ===
 +
</div>
 +
 +
; <tt>is_admin()</tt>: When the Dashboard or the administration panels are being displayed.
 +
 +
<div id="A_Single_Post_Page">
 
=== A Single Post Page ===
 
=== A Single Post Page ===
 +
</div>
  
 
; <tt>is_single()</tt> : 個別記事のページが表示されている場合
 
; <tt>is_single()</tt> : 個別記事のページが表示されている場合
23行目: 36行目:
 
; <tt>is_single('beef-stew')</tt> : "beef-stew"(ビーフシチュー)という投稿スラッグの記事が表示されている場合
 
; <tt>is_single('beef-stew')</tt> : "beef-stew"(ビーフシチュー)という投稿スラッグの記事が表示されている場合
  
=== A PAGE Page ===
+
<div id="Any_Page_Containing_Posts">
 +
=== Any Page Containing Posts ===
 +
</div>
 +
 
 +
; <tt>comments_open()</tt>: When comments are allowed for the current Post being processed in the [[The Loop|WordPress Loop]].
 +
; <tt>pings_open()</tt>: When pings are allowed for the current Post being processed in the [[The Loop|WordPress Loop]].
 +
 
 +
<div id="A_PAGE_Page">
 +
</div>
 +
=== 「ページ」ページ ===
  
 
 ここでいうページとは、WordPressにおける[[Pages|ページ]]であり、いわゆる「ページ」とは異なります。その詳説については、「[[Pages#用語について|用語について]]」をご覧ください。
 
 ここでいうページとは、WordPressにおける[[Pages|ページ]]であり、いわゆる「ページ」とは異なります。その詳説については、「[[Pages#用語について|用語について]]」をご覧ください。
31行目: 53行目:
 
; <tt>is_page('About Me')</tt> : "About Me"というタイトルの[[Pages|ページ]]が表示されている場合
 
; <tt>is_page('About Me')</tt> : "About Me"というタイトルの[[Pages|ページ]]が表示されている場合
 
; <tt>is_page('about-me')</tt> : "about-me"という投稿スラッグの[[Pages|ページ]]が表示されている場合
 
; <tt>is_page('about-me')</tt> : "about-me"という投稿スラッグの[[Pages|ページ]]が表示されている場合
 +
 +
<div id="Testing_for_sub-Pages">
 +
==== Testing for sub-Pages ====
 +
</div>
  
 
 残念ながら、<tt>is_subpage()</tt>というタグは今のところありません。ですが、対応策はあります。
 
 残念ながら、<tt>is_subpage()</tt>というタグは今のところありません。ですが、対応策はあります。
  
; <tt>if(get_the_title($post->post_parent) != the_title(' ' , ' ',false)) { echo "This is a subpage"; }</tt> : 表示中のページがサブページであるかどうかを、親ページが存在するかどうかで判定します。サブページではない場合、それは親ページであることを意味します。この例文の場合、"This is a subpage"とブラウザ上に表示されます。
+
<pre><?php
 +
// Get $post if you're inside a function
 +
global $post;
  
=== A Category Page ===
+
if (is_page() && $post->post_parent ) {
 +
// This is a subpage
 +
} else {
 +
// This is not a subpage
 +
}
 +
?></pre>
 +
 
 +
If you need to test whether this is a particular page OR a child of that page (e.g. to present a different banner on different sections of a page-based site), get the parent page IDs from the back-end, then use code like this:
 +
 
 +
<pre>
 +
<?php
 +
 
 +
if (is_page(about) || $post->post_parent=="2") {
 +
$bannerimg="home.jpg";
 +
} elseif (is_page(learning) || $post->post_parent=="56") {
 +
$bannerimg="teaching.jpg";
 +
} elseif (is_page(admissions) || $post->post_parent=="15") {
 +
$bannerimg="admissions.jpg";
 +
} else {
 +
$bannerimg="home.jpg" ; // Fall-through 
 +
}
 +
 
 +
?>
 +
</pre>
 +
 
 +
<div id="A_Category_Page">
 +
=== カテゴリーページ ===
 +
</div>
  
 
; <tt>is_category()</tt> : 或るカテゴリーのアーカイヴページが表示されている場合
 
; <tt>is_category()</tt> : 或るカテゴリーのアーカイヴページが表示されている場合
42行目: 97行目:
 
; <tt>is_category('Cheeses')</tt> : "Cheeses"というカテゴリーのアーカイヴページが表示されている場合
 
; <tt>is_category('Cheeses')</tt> : "Cheeses"というカテゴリーのアーカイヴページが表示されている場合
 
; <tt>is_category('cheeses')</tt> : "cheeses"というカテゴリースラッグのアーカイヴページが表示されている場合
 
; <tt>is_category('cheeses')</tt> : "cheeses"というカテゴリースラッグのアーカイヴページが表示されている場合
; <tt>in_category('5')</tt> : 現在の記事がカテゴリーID 5に'''属する'''場合にtrueを返します。[[Template Tags/in category|詳細]]
+
; <tt>'''in'''_category('5')</tt> : 現在の記事がカテゴリーID 5に'''属する'''場合にtrueを返します。[[Template Tags/in category|詳細]]
 
<!-- Original Start  
 
<!-- Original Start  
 
; <tt>is_category()</tt> : When any Category archive page is being displayed.
 
; <tt>is_category()</tt> : When any Category archive page is being displayed.
50行目: 105行目:
 
; <tt>in_category('5')</tt> : Returns true if the current post is '''in''' the specified category id. [http://codex.wordpress.org/Template_Tags/in_category read more]
 
; <tt>in_category('5')</tt> : Returns true if the current post is '''in''' the specified category id. [http://codex.wordpress.org/Template_Tags/in_category read more]
 
Original End -->
 
Original End -->
 +
 +
'''Note:''' Be sure to check your spelling when testing, "is" and "in" are a big difference.
  
 
<tt>[[#Any Archive Page|is_archive()]]</tt>と[[Category Templates]]も参照してください。
 
<tt>[[#Any Archive Page|is_archive()]]</tt>と[[Category Templates]]も参照してください。
  
=== An Author Page ===
+
<div id="A_Tag_Page">
 +
=== タグページ ===
 +
</div>
 +
 
 +
; <tt>is_tag()</tt> : When any Tag archive page is being displayed.
 +
; <tt>is_tag('slug')</tt> : When the archive page for tag with the slug of 'slug' is being displayed.
 +
 
 +
See also <tt>[[#Any Archive Page|is_archive()]]</tt> and [[Tag Templates]].
 +
 
 +
<div id="An_Author_Page">
 +
=== 著者ページ ===
 +
</div>
  
 
; <tt>is_author()</tt> : ある著者のアーカイヴページが表示されている場合
 
; <tt>is_author()</tt> : ある著者のアーカイヴページが表示されている場合
62行目: 130行目:
 
<tt>[[#Any Archive Page|is_archive()]]</tt>や[[Author Templates]]も併せてどうぞ。
 
<tt>[[#Any Archive Page|is_archive()]]</tt>や[[Author Templates]]も併せてどうぞ。
  
=== A Date Page ===
+
<div id="A_Date_Page">
 +
=== 日付別ページ ===
 +
</div>
  
 
; <tt>is_date()</tt> : あらゆる日付別のアーカイヴページが表示されている場合(例:月別、年別、日別、時間別)
 
; <tt>is_date()</tt> : あらゆる日付別のアーカイヴページが表示されている場合(例:月別、年別、日別、時間別)
72行目: 142行目:
 
<tt>[[#Any Archive Page|is_archive()]]</tt>もどうぞ。
 
<tt>[[#Any Archive Page|is_archive()]]</tt>もどうぞ。
  
=== Any Archive Page ===
+
<div id="Any_Archive_Page">
 +
=== アーカイブページ ===
 +
</div>
  
 
; <tt>is_archive()</tt> : あらゆるタイプのアーカイヴページが表示されている場合
 
; <tt>is_archive()</tt> : あらゆるタイプのアーカイヴページが表示されている場合
  
=== A Search Result Page ===
+
<div id="A_Search_Result_Page">
 +
=== 検索結果ページ ===
 +
</div>
  
 
; <tt>is_search()</tt> : 検索結果のページが表示されている場合
 
; <tt>is_search()</tt> : 検索結果のページが表示されている場合
  
=== A 404 Not Found Page ===
+
<div id="A_404_Not_Found_Page">
 +
=== 404 Not Found ページ ===
 +
</div>
  
 
; <tt>is_404()</tt> : "HTTP 404: Not Found"エラーページが表示されている場合
 
; <tt>is_404()</tt> : "HTTP 404: Not Found"エラーページが表示されている場合
  
 +
<div id="A_Paged_Page">
 
=== A Paged Page ===
 
=== A Paged Page ===
 +
</div>
  
 
; <tt>is_paged()</tt> : When the page being displayed is "paged".  This refers to an archive or the main page being split up over several pages.  This does ''not'' refer to a Post or [[Pages|Page]] whose content has been divided into pages using the <tt><!<nowiki></nowiki>--nextpage--></tt> [[Writing Posts#Here is a run-down of the quicktag functions:|QuickTag]].
 
; <tt>is_paged()</tt> : When the page being displayed is "paged".  This refers to an archive or the main page being split up over several pages.  This does ''not'' refer to a Post or [[Pages|Page]] whose content has been divided into pages using the <tt><!<nowiki></nowiki>--nextpage--></tt> [[Writing Posts#Here is a run-down of the quicktag functions:|QuickTag]].
  
 +
<div id="An_Attachment">
 +
=== An Attachment ===
 +
</div>
 +
 +
; <tt>is_attachment()</tt> : When an attachment document to a post or [[Pages|Page]] is being displayed. An attachment is an image or other file uploaded through the post editor's upload utility. Attachments can be displayed on their own 'page' or template. For more information, see [[Using Image and File Attachments]].
 +
 +
<div id="A_Syndication">
 
=== A Syndication ===
 
=== A Syndication ===
 +
</div>
  
 
; <tt>is_feed()</tt> : When the site requested is a [[Introduction_to_Blogging#Syndication|Syndication]].  This tag is not typically used by users; it is used internally by WordPress and is available for Plugin Developers.
 
; <tt>is_feed()</tt> : When the site requested is a [[Introduction_to_Blogging#Syndication|Syndication]].  This tag is not typically used by users; it is used internally by WordPress and is available for Plugin Developers.
  
=== A Trackback ===
+
<div id="A_Trackback">
 +
=== トラックバック ===
 +
</div>
  
 
; <tt>is_trackback()</tt> : フックの中にトラックバックの機構が組み込まれている場合
 
; <tt>is_trackback()</tt> : フックの中にトラックバックの機構が組み込まれている場合
98行目: 186行目:
 
:このタグは一般のユーザーの為のものでは無く、WordPress内部で使われるものであり、プラグイン開発の際に使用されます。
 
:このタグは一般のユーザーの為のものでは無く、WordPress内部で使われるものであり、プラグイン開発の際に使用されます。
  
 +
<div id="A_Preview">
 +
=== プレビュー ===
 +
</div>
 +
 +
; <tt>is_preview()</tt> : When a single post being displayed is viewed in Draft mode.
 +
 +
<div id="Has_An_Excerpt">
 +
=== Has An Excerpt ===
 +
</div>
 +
 +
; <tt>!empty($post->post_excerpt)</tt> : There is no built-in way to check if a post has an excerpt, but you can use the above code in the same way. Remove the '!' to emulate 'has_no_excerpt'.
 +
 +
<div id="Working_Examples">
 
==Working Examples==
 
==Working Examples==
 +
</div>
  
 
以下は条件タグの動作サンプルです。
 
以下は条件タグの動作サンプルです。
  
 +
<div id="Single_Post">
 
===Single Post===
 
===Single Post===
 +
</div>
  
 
以下は<tt>is_single()</tt>によって特定の情報を個別記事のページでのみ表示させる為の例文です。
 
以下は<tt>is_single()</tt>によって特定の情報を個別記事のページでのみ表示させる為の例文です。
113行目: 217行目:
 
</pre>
 
</pre>
  
 +
<div id="Date-Based_Differences">
 
===Date-Based Differences===
 
===Date-Based Differences===
 +
</div>
  
 
以下の例は、日付別ページへのアクセスが行われたときに、年別に色分けして表示させます。
 
以下の例は、日付別ページへのアクセスが行われたときに、年別に色分けして表示させます。
146行目: 252行目:
 
</pre>
 
</pre>
  
 +
<div id="Variable_Sidebar_Content">
 
===Variable Sidebar Content===
 
===Variable Sidebar Content===
 +
</div>
  
 
以下の例は、アクセス中のページによってサイドバーに表示させる内容を変更させます。
 
以下の例は、アクセス中のページによってサイドバーに表示させる内容を変更させます。
194行目: 302行目:
 
</pre>
 
</pre>
  
===Helpful 404 page===
+
<div id="Helpful_404_page">
 +
=== Helpful 404 page ===
 +
</div>
  
 
来訪者にとって404エラーページは不快で役立たずなものでしか在りません。WordPressでは、404ページをもっと役に立つページにすることが出来ます。例えば、ユーザーが存在しないページをクリックした時にメールで通知する方法です。これを使うときには、'''メールアドレスの設定'''を忘れずに行ってください。
 
来訪者にとって404エラーページは不快で役立たずなものでしか在りません。WordPressでは、404ページをもっと役に立つページにすることが出来ます。例えば、ユーザーが存在しないページをクリックした時にメールで通知する方法です。これを使うときには、'''メールアドレスの設定'''を忘れずに行ってください。
231行目: 341行目:
 
</pre>
 
</pre>
  
===Dynamic Menu Highlighting===
+
<div id="Dynamic_Menu_Highlighting">
 +
=== ダイナミックメニューハイライト ===
 +
</div>
  
 
[[Dynamic Menu Highlighting|ダイナミックハイライト]]とは、条件タグを使用して、メニュー内の現在アクセスしているページを際立たせる方法です。
 
[[Dynamic Menu Highlighting|ダイナミックハイライト]]とは、条件タグを使用して、メニュー内の現在アクセスしているページを際立たせる方法です。
 +
 +
原文・最新版: [http://codex.wordpress.org/Conditional_Tags WordPress Codex &raquo; Conditional Tags]
 +
 +
{{NeedTrans}}
  
 
{{No Param Tag Footer}}
 
{{No Param Tag Footer}}

2008年3月5日 (水) 19:51時点における版

 条件タグ(Conditional Tag)はテンプレートファイル内で表示される内容、表示させる対象ページを設定するのに使います。例えば、ブログのホームページの上部に短文を表示させたいとしましょう。is_home()を使うことによって、その作業量は軽減できます。

 これらのタグはTemplate Hierarchyと近い関係にあります。

The Conditions For...

 条件タグはその状況下であるかをチェックし、TRUE もしくは FALSE を返します。


メインページ

is_home() 
メインページ(ブログのホームページ)が表示されている場合。(WordPress 2.1 handles this function differently than prior versions. See static Front Page.)

管理パネル

is_admin()
When the Dashboard or the administration panels are being displayed.

A Single Post Page

is_single() 
個別記事のページが表示されている場合
is_single('17') 
ID 17の記事が表示されている場合
is_single('Beef Stew') 
"Beef Stew"(ビーフシチュー)というタイトルの記事が表示されている場合
is_single('beef-stew') 
"beef-stew"(ビーフシチュー)という投稿スラッグの記事が表示されている場合

Any Page Containing Posts

comments_open()
When comments are allowed for the current Post being processed in the WordPress Loop.
pings_open()
When pings are allowed for the current Post being processed in the WordPress Loop.

「ページ」ページ

 ここでいうページとは、WordPressにおけるページであり、いわゆる「ページ」とは異なります。その詳説については、「用語について」をご覧ください。

is_page() 
ページが表示されている場合
is_page('42') 
ID 42のページが表示されている場合
is_page('About Me') 
"About Me"というタイトルのページが表示されている場合
is_page('about-me') 
"about-me"という投稿スラッグのページが表示されている場合

Testing for sub-Pages

 残念ながら、is_subpage()というタグは今のところありません。ですが、対応策はあります。

<?php
// Get $post if you're inside a function
global $post;

if (is_page() && $post->post_parent ) {
	// This is a subpage
} else {
	// This is not a subpage
}
?>

If you need to test whether this is a particular page OR a child of that page (e.g. to present a different banner on different sections of a page-based site), get the parent page IDs from the back-end, then use code like this:

<?php

if 	(is_page(about) || $post->post_parent=="2") { 
	$bannerimg="home.jpg"; 
} elseif (is_page(learning) || $post->post_parent=="56") {	
	$bannerimg="teaching.jpg"; 
} elseif (is_page(admissions) || $post->post_parent=="15") { 
	$bannerimg="admissions.jpg";	
} else { 
	$bannerimg="home.jpg" ; // Fall-through  
}	

?>

カテゴリーページ

is_category() 
或るカテゴリーのアーカイヴページが表示されている場合
is_category('6') 
カテゴリーID 6のアーカイヴページが表示されている場合
is_category('Cheeses') 
"Cheeses"というカテゴリーのアーカイヴページが表示されている場合
is_category('cheeses') 
"cheeses"というカテゴリースラッグのアーカイヴページが表示されている場合
in_category('5') 
現在の記事がカテゴリーID 5に属する場合にtrueを返します。詳細

Note: Be sure to check your spelling when testing, "is" and "in" are a big difference.

is_archive()Category Templatesも参照してください。

タグページ

is_tag() 
When any Tag archive page is being displayed.
is_tag('slug') 
When the archive page for tag with the slug of 'slug' is being displayed.

See also is_archive() and Tag Templates.

著者ページ

is_author() 
ある著者のアーカイヴページが表示されている場合
is_author('1337') 
ID 1337の著者のアーカイヴページを表示している場合
is_author('Elite Hacker') 
ニックネームが"Elite Hacker"のアーカイヴページを表示している場合
is_author('elite-hacker') 
When the archive page for the Author with Nicename "elite-hacker" is being displayed.

is_archive()Author Templatesも併せてどうぞ。

日付別ページ

is_date() 
あらゆる日付別のアーカイヴページが表示されている場合(例:月別、年別、日別、時間別)
is_year() 
年別のアーカイヴページが表示されている場合
is_month() 
月別のアーカイヴページが表示されている場合
is_day() 
日別のアーカイヴページが表示されている場合
is_time() 
毎時別、毎分別、毎秒別のアーカイヴページが表示されている場合

is_archive()もどうぞ。

アーカイブページ

is_archive() 
あらゆるタイプのアーカイヴページが表示されている場合

検索結果ページ

is_search() 
検索結果のページが表示されている場合

404 Not Found ページ

is_404() 
"HTTP 404: Not Found"エラーページが表示されている場合

A Paged Page

is_paged() 
When the page being displayed is "paged". This refers to an archive or the main page being split up over several pages. This does not refer to a Post or Page whose content has been divided into pages using the <!--nextpage--> QuickTag.

An Attachment

is_attachment() 
When an attachment document to a post or Page is being displayed. An attachment is an image or other file uploaded through the post editor's upload utility. Attachments can be displayed on their own 'page' or template. For more information, see Using Image and File Attachments.

A Syndication

is_feed() 
When the site requested is a Syndication. This tag is not typically used by users; it is used internally by WordPress and is available for Plugin Developers.

トラックバック

is_trackback() 
フックの中にトラックバックの機構が組み込まれている場合
このタグは一般のユーザーの為のものでは無く、WordPress内部で使われるものであり、プラグイン開発の際に使用されます。

プレビュー

is_preview() 
When a single post being displayed is viewed in Draft mode.

Has An Excerpt

!empty($post->post_excerpt) 
There is no built-in way to check if a post has an excerpt, but you can use the above code in the same way. Remove the '!' to emulate 'has_no_excerpt'.

Working Examples

以下は条件タグの動作サンプルです。

Single Post

以下はis_single()によって特定の情報を個別記事のページでのみ表示させる為の例文です。

if (is_single())
{
     echo 'This is just one of many fabulous entries in the ' . single_cat_title() . ' category!';
}

Date-Based Differences

以下の例は、日付別ページへのアクセスが行われたときに、年別に色分けして表示させます。

<?php
// this starts The Loop
if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<h2 id="post-<?php the_ID(); ?>">
<a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title(); ?>">
<?php the_title(); ?></a></h2>
<small><?php the_time('F jS, Y') ?> <!-- by <?php the_author() ?> --></small>

<?php
// are we showing a date-based archive?
if (is_date())
{
     if (date('Y') != get_the_date('Y'))
     {
          // this post was written in a previous year
          // so let's style the content using the "oldentry" class
          echo '<div class="oldentry">';
     } else {
          echo '<div class="entry">';
     }
} else {
     echo '<div class="entry">';
}
the_content('Read the rest of this entry »'); 
?>
</div>

Variable Sidebar Content

以下の例は、アクセス中のページによってサイドバーに表示させる内容を変更させます。

<!-- begin sidebar -->
<div id="sidebar">
<?php
// let's generate info appropriate to the page being displayed
if (is_home()) {
        // we're on the home page, so let's show a list of all top-level categories
        echo "<ul>";
        wp_list_cats('optionall=0&sort_column=name&list=1&children=0');
        echo "</ul>";
} elseif (is_category()) {
        // we're looking at a single category view, so let's show _all_ the categories
         echo "<ul>";
        wp_list_cats('optionall=1&sort_column=name&list=1&children=1&hierarchical=1');
        echo "</ul>";
} elseif (is_single()) {
        // we're looking at a single page, so let's not show anything in the sidebar
} elseif (is_page()) {
        // we're looking at a static page.  Which one?
        if (is_page('About')) {
             // our about page.
             echo "<p>This is my about page!</p>";
        } elseif (is_page('Colophon')) {
             echo "<p>This is my colophon page, running on WordPress " . bloginfo('version') . "</p>";
        } else {
              // catch-all for other pages
              echo "<p>Vote for Pedro!</p>";
        }
} else {
        // catch-all for everything else (archives, searches, 404s, etc)
        echo "<p>Pedro offers you his protection.</p>";
} // That's all, folks!
?>
<form id="searchform" method="get" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<div>
<input type="text" name="s" id="s" size="15" />
<input type="submit" value="<?php _e('Search'); ?>" />
</div>
</form>

</div>
<!-- end sidebar -->

Helpful 404 page

来訪者にとって404エラーページは不快で役立たずなものでしか在りません。WordPressでは、404ページをもっと役に立つページにすることが出来ます。例えば、ユーザーが存在しないページをクリックした時にメールで通知する方法です。これを使うときには、メールアドレスの設定を忘れずに行ってください。

<p>You 
<?php
#some variables for the script to use
#if you have some reason to change these, do.  but wordpress can handle it
$adminemail = get_bloginfo('admin_email'); #the administrator email address, according to wordpress
$website = get_bloginfo('url'); #gets your blog's url from wordpress
$websitename = get_bloginfo('name'); #sets the blog's name, according to wordpress

  if (!isset($_SERVER['HTTP_REFERER'])) {
    #politely blames the user for all the problems they caused
        echo "tried going to "; #starts assembling an output paragraph
	$casemessage = "All is not lost!";
  } elseif (isset($_SERVER['HTTP_REFERER'])) {
    #this will help the user find what they want, and email me of a bad link
	echo "clicked a link to"; #now the message says You clicked a link to...
        #setup a message to be sent to me
	$failuremess = "A user tried to go to $website"
        .$_SERVER['REQUEST_URI']." and received a 404 (page not found) error. ";
	$failuremess .= "It wasn't their fault, so try fixing it.  
        They came from ".$_SERVER['HTTP_REFERER'];
	mail($adminemail, "Bad Link To ".$_SERVER['REQUEST_URI'],
        $failuremess, "From: $websitename <noreply@$website>"); #email you about problem
	$casemessage = "An administrator has been emailed 
        about this problem, too.";#set a friendly message
  }
  echo " ".$website.$_SERVER['REQUEST_URI']; ?> 
and it doesn't exist. <?php echo $casemessage; ?>  You can click back 
and try again or search for what you're looking for:
  <?php include(TEMPLATEPATH . "/searchform.php"); ?>
</p>

ダイナミックメニューハイライト

ダイナミックハイライトとは、条件タグを使用して、メニュー内の現在アクセスしているページを際立たせる方法です。

原文・最新版: WordPress Codex » Conditional Tags

このページ「条件分岐タグ」は未翻訳です。和訳や日本語情報を加筆してくださる協力者を求めています


関数リファレンステンプレートタグ目次もご覧ください。