久久精品水蜜桃av综合天堂,久久精品丝袜高跟鞋,精品国产肉丝袜久久,国产一区二区三区色噜噜,黑人video粗暴亚裔

WordPress:Conditional Tags

來自站長(zhǎng)百科
Xxf3325討論 | 貢獻(xiàn)2008年8月2日 (六) 18:28的版本 →?日期網(wǎng)頁
(差異) ←上一版本 | 最后版本 (差異) | 下一版本→ (差異)
跳轉(zhuǎn)至: 導(dǎo)航、? 搜索

介紹[ ]

條件式標(biāo)簽可以用在你的模板文件中,更改顯示的內(nèi)容,并且根據(jù)網(wǎng)頁匹配什么樣的情況,更改內(nèi)容在一個(gè)網(wǎng)頁上的顯示方式。例如,你可能想要在一些文章的上面,在你的博客的主頁上顯示文章的摘錄。擁有is_home()條件式標(biāo)簽,做到這一點(diǎn),變得非常簡(jiǎn)單。

注意這些標(biāo)簽與WordPress的模板層級(jí)之間的密切關(guān)系。

條件關(guān)于...[ ]

所有的條件式標(biāo)簽測(cè)試看看是否符合某個(gè)條件,然后返回TRUE or FALSE。不同的標(biāo)簽輸出為正確的條件列在了下面。能夠接受參數(shù)的標(biāo)簽非常又名。

主頁[ ]

is_home()
顯示主要的博客網(wǎng)頁的時(shí)候(WordPress2.1版本與先前的版本處理這個(gè)函數(shù)的方式不同。請(qǐng)看看

注:如果你選擇了一個(gè)靜態(tài)的網(wǎng)頁作為你的首頁(請(qǐng)看看下面的),這個(gè)標(biāo)簽會(huì)應(yīng)用到你的"文章 頁面"。

首頁[ ]

is_front_page()
顯示站點(diǎn)的首頁的時(shí)候,不管是文章還是網(wǎng)頁。顯示主要的博客頁面的時(shí)候,返回正確的,而且'設(shè)置->閱讀->顯示首頁'設(shè)置為"你最近的文章",或者當(dāng)'設(shè)置->閱讀->顯示首頁'設(shè)置為"一個(gè)靜態(tài)網(wǎng)頁" 而且"首頁"參數(shù)值是當(dāng)前顯示的網(wǎng)頁。注:這個(gè)標(biāo)簽是在2.5版本中添加的。

管理面板[ ]

is_admin()
Dashboard或者管理面板正在顯示的時(shí)候。

一個(gè)單獨(dú)的文章網(wǎng)頁[ ]

is_single()
顯示任何只有一篇文章的網(wǎng)頁的時(shí)候。
is_single('17')
第17篇文章作為一篇單一的文章顯示的時(shí)候。
is_single('Irish Stew')
擁有標(biāo)題"土豆洋蔥煮肉"的文章作為一篇單一的文章顯示的時(shí)候。
is_single('beef-stew')
擁有Post Slug"beef-stew"的文章作為一篇單一的文章,正在顯示的時(shí)候。
is_single(array(17,'beef-stew','Irish Stew'))
當(dāng)顯示的單篇文章是文章ID17,或者post_name是"beef-stew",或者post_title是"Irish Stew"的時(shí)候,返回true。注:array ability是在2.5版本中添加的。

任何包含有文章的網(wǎng)頁[ ]

comments_open()
允許對(duì)正在WordPress Loop|The Loop中進(jìn)行處理的當(dāng)前文章,進(jìn)行評(píng)論的時(shí)候。
pings_open()
允許對(duì)正在WordPress Loop|The Loop中進(jìn)行處理的當(dāng)前文章,進(jìn)行pings的時(shí)候。

A PAGE Page[ ]

這個(gè)部分指的是WordPress 網(wǎng)頁,而不是博客中的任何網(wǎng)頁。

is_page()
正在顯示任何網(wǎng)頁的時(shí)候。
is_page('42')
正在顯示網(wǎng)頁42(ID)的時(shí)候。
is_page('關(guān)于我和Joe')
顯示擁有一個(gè)post_title"關(guān)于我和Joe"的網(wǎng)頁
is_page('about-me')
顯示擁有post_name (slug) "about-me"的網(wǎng)頁。
is_page(array(42,'about-me','關(guān)于我和 Joe'))
當(dāng)顯示的網(wǎng)頁是文章ID42,或者post_name "about-me",或者post_title "關(guān)于我和 Joe"時(shí),返回true。注:array ability是在2.5版本中添加的。

測(cè)試子網(wǎng)頁[ ]

還沒有is_subpage()函數(shù),但是你可以用較少的代碼測(cè)試這個(gè):

<?php
// 如果你在一個(gè)函數(shù)的內(nèi)部,得到 $post
global $post;

if (is_page() && $post->post_parent ) {
	// 這是個(gè)子網(wǎng)頁
} else {
	// 這不是個(gè)子網(wǎng)頁
}
?>


如果你需要測(cè)試這是不是個(gè)特別的網(wǎng)頁還是子網(wǎng)頁(例如在以網(wǎng)頁為基礎(chǔ)的網(wǎng)站上的不同部分呈現(xiàn)不同的標(biāo)語),從后端得到當(dāng)前網(wǎng)頁ID,然后使用下面的代碼:

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

?>

是網(wǎng)頁模板[ ]

2.5版本開始,這能夠使你決定你是否在網(wǎng)頁模板上或者你是不是正在使用一個(gè)特別的網(wǎng)頁模板。

is_page_template()
正在使用網(wǎng)頁模板 嗎?
is_page_template('about.php')
正在使用 網(wǎng)頁模板 '關(guān)于' 嗎? 注意與其它的條件不同,如果你想要規(guī)定一個(gè)特別的網(wǎng)頁模板,你需要使用文件名,例如about.php或者my_page_template.php。

類別網(wǎng)頁[ ]

is_category()
顯示任何類別歸檔網(wǎng)頁的時(shí)候。
is_category('9')
顯示關(guān)于類別9的歸檔網(wǎng)頁的時(shí)候。
is_category('發(fā)臭的干酪')
顯示名稱是"發(fā)臭的干酪"的類別的歸檔網(wǎng)頁的時(shí)候。
is_category('藍(lán)紋奶酪')
顯示類別Slug"藍(lán)紋奶酪"的歸檔網(wǎng)頁的時(shí)候。
is_category(array(9,'blue-cheese','發(fā)臭的奶酪'))
顯示的文章的類別是term_ID 9,或者 slug "藍(lán)紋奶酪", 或者 名稱 "發(fā)臭的干酪"的時(shí)候,返回正確的。 注: the array ability 是在 2.5版本中添加的。
in_category('5')
如果當(dāng)前文章是特別規(guī)定的類別id內(nèi),返回true。閱讀更多的 注:測(cè)試的時(shí)候,要確定檢查好了拼寫,"is" 和"in"是根本的兩碼事。

也看看is_archive()類別模板。

標(biāo)簽網(wǎng)頁[ ]

is_tag()
顯示任何標(biāo)簽歸檔網(wǎng)頁的時(shí)候。
is_tag('mild')
顯示帶有slug'mild'的標(biāo)簽的歸檔網(wǎng)頁的時(shí)候。
is_tag(array('sharp','mild','extreme'))
當(dāng)顯示的標(biāo)簽歸檔擁有一個(gè)slug是"sharp", "mild",或者 "extreme"的時(shí)候,返回true。注:array ability是在2.5版本時(shí),添加的。


也看看is_archive()標(biāo)簽?zāi)0?/a>。

作者網(wǎng)頁[ ]

is_author()
顯示任何作者網(wǎng)頁的時(shí)候。
is_author('4')
顯示作者號(hào)(ID)4的歸檔網(wǎng)頁的時(shí)候。
is_author('Vivian')
顯示作者昵稱名為"Vivian"的歸檔網(wǎng)頁的時(shí)候。
is_author('john-jones')
顯示作者昵稱"john-jones"的歸檔網(wǎng)頁的時(shí)候。
is_author(array(4,'john-jones','Vivian'))
作者是用戶ID4或者user_nicename "john-jones", 或者nickname "Vivian"時(shí)候的歸檔網(wǎng)頁。注:array ability是在2.5版本中添加的。


也看看is_archive()作者模板

日期網(wǎng)頁[ ]

is_date()
顯示任何以日期為基礎(chǔ)的歸檔網(wǎng)頁的時(shí)候(例如,按月,按年,按日或者以時(shí)間為基礎(chǔ)的歸檔)。
is_year()
顯示某一年的歸檔。
is_month()
顯示某一月的歸檔。
is_day()
顯示某一天的歸檔的時(shí)候。
is_time()
顯示某個(gè)小時(shí),"某分",或者"某秒"的歸檔的時(shí)候。

也看看:is_archive()。

任何歸檔網(wǎng)頁[ ]

is_archive()
顯示任何類型的歸檔網(wǎng)頁的時(shí)候。以類別,作者和日期為基礎(chǔ)的網(wǎng)頁是各種類型的歸檔。

搜索結(jié)果網(wǎng)頁[ ]

is_search()
顯示搜索結(jié)果網(wǎng)頁歸檔的時(shí)候。

404 沒有找到網(wǎng)頁[ ]

is_404()
在出現(xiàn)"HTTP 404: 沒有發(fā)現(xiàn)"錯(cuò)誤的之后,顯示的網(wǎng)頁。

A Paged Page[ ]

is_paged()
當(dāng)顯示的網(wǎng)頁是"paged"。這指的是歸檔或者主頁被分成了幾個(gè)網(wǎng)頁。這并不指一篇文章或者網(wǎng)頁使用<!--nextpage--> QuickTag把它的內(nèi)容分成了幾個(gè)網(wǎng)頁。
=== 附屬裝置===
is_attachment()
顯示文章或者網(wǎng)頁的附屬文件的時(shí)候。附屬文件是一個(gè)圖像或者通過文章編輯的上傳功能上傳的其它的文件。附屬文件可以在自身的'網(wǎng)頁'或者模板上顯示。更多的信息,請(qǐng)看看使用圖像和附屬文件

聯(lián)合供稿[ ]

is_feed()
需要的站點(diǎn)是Syndication。通常用戶不使用這個(gè)標(biāo)簽;由WordPress內(nèi)部使用,而且插件開發(fā)人員也可以得到這個(gè)標(biāo)簽。

A Trackback[ ]

is_trackback()
需要的站點(diǎn),WordPress的hook進(jìn)入Trackback引擎的時(shí)候。通常用戶不使用這個(gè)標(biāo)簽;由WordPress內(nèi)部使用,而且插件開發(fā)人員也可以得到這個(gè)標(biāo)簽。


預(yù)覽[ ]

is_preview()
以草稿樣式瀏覽顯示的單篇文章的時(shí)候。

有一個(gè)摘錄[ ]

!empty($post->post_excerpt)
沒有內(nèi)置的方法,檢查一篇文章是否有摘錄,但是你可以用同樣的方法使用上傳的代碼。移除'!',效仿'has_no_excerpt'。

Working 例子[ ]

下面是working例子,用來闡述怎樣使用這些條件式標(biāo)簽。

單篇文章[ ]

這個(gè)例子顯示怎樣使用is_single(),在瀏覽只有一篇文章的網(wǎng)頁的時(shí)候,顯示一些特別的內(nèi)容。

if (is_single())
{
     echo '這只是 ' . single_cat_title() 中其中的一篇預(yù)言文章。 ' category!';
}

以日期為基礎(chǔ)的差異[ ]

如果有人根據(jù)日期瀏覽我們的站點(diǎn),我們可以使用不同的顏色,將不同的年份的文章,區(qū)分開來。

<?php
// 這開始了 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
//我們正在顯示以日期為基礎(chǔ)的歸檔嗎?
if (is_date())
{
     if (date('Y') != get_the_date('Y'))
     {
          // 這篇文章是前年寫的
          // 讓我們使用 "舊的文章" 級(jí)別來設(shè)計(jì)內(nèi)容
          echo '<div class="oldentry">';
     } else {
          echo '<div class="entry">';
     }
} else {
     echo '<div class="entry">';
}
the_content('閱讀這篇文章的其余部分 »'); 
?>
</div>

不同的工具條內(nèi)容[ ]

根據(jù)讀者現(xiàn)在在瀏覽哪個(gè)網(wǎng)頁,這個(gè)例子會(huì)在你的工具條中顯示不同的內(nèi)容。

<!-- begin sidebar -->
<div id="sidebar">
<?php
// 讓我們提供與正在顯示的文章相關(guān)的信息l
if (is_home()) {
        //我在在主頁上,顯示最高級(jí)別的類別的列表        echo "<ul>";
        wp_list_cats('optionall=0&sort_column=name&list=1&children=0');
        echo "</ul>";
} elseif (is_category()) {
        // 我們正在查看一個(gè)單一的類別,讓我們show _all_ the 類別
         echo "<ul>";
        wp_list_cats('optionall=1&sort_column=name&list=1&children=1&hierarchical=1');
        echo "</ul>";
} elseif (is_single()) {
        // 我們?cè)跒g覽單一的網(wǎng)頁,在工具條上不顯示任何內(nèi)容
} elseif (is_page()) {
        // 我們?cè)跒g覽一個(gè)靜態(tài)的網(wǎng)頁。哪一個(gè)?
        if (is_page('About')) {
             //我們的關(guān)于網(wǎng)頁。
             echo "<p>這是我的關(guān)于網(wǎng)頁!</p>";
        } elseif (is_page('Colophon')) {
             echo "<p>這是我的最后一個(gè)網(wǎng)頁, 在WordPress上運(yùn)行 " 。 bloginfo('version') . "</p>";
        } else {
              // 抓取所有的其它網(wǎng)頁。
              echo "<p>Vote for Pedro!</p>";
        }
} else {
        //抓取所有的其它內(nèi)容 (歸檔,搜索, 404s, 等等)
        echo "<p>Pedro向你提供保護(hù)。</p>";
} // 伙計(jì),就這麼多!
?>
<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>
<!—結(jié)束工具條-->

有用的404頁面[ ]

訪客遇到一個(gè)404錯(cuò)誤網(wǎng)頁的時(shí)候,這個(gè)網(wǎng)頁可能不起作用。使用WordPress,你可以減少404的錯(cuò)誤,使得用戶和你自己能夠使用這個(gè)網(wǎng)頁,當(dāng)用戶點(diǎn)擊一個(gè)鏈接,鏈接到不存在的網(wǎng)頁的時(shí)候,可以發(fā)送電子郵件。如果你也使用這個(gè)方法,不要忘記o

<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'])) {
#客氣地責(zé)備導(dǎo)致了這些問題的用戶
        echo "tried going to "; #開始組成一個(gè)輸出段落
	$casemessage = "所有的內(nèi)容都沒有丟失!";
  } elseif (isset($_SERVER['HTTP_REFERER'])) {
#這回幫助用戶發(fā)現(xiàn)他們想要什么,如果發(fā)現(xiàn)一個(gè)不好的鏈接,請(qǐng)給我發(fā)送電子郵件
	echo "點(diǎn)擊鏈接到"; #現(xiàn)在消息顯示,你點(diǎn)擊鏈接到...
        #設(shè)置一個(gè)消息發(fā)送給我
	$failuremess = "一名用戶試著進(jìn)入$website"
        .$_SERVER['REQUEST_URI']." 而且遇到a 404 (沒有發(fā)現(xiàn)網(wǎng)頁) 錯(cuò)誤。 ";
	$failuremess .= "如果不是他們的錯(cuò)誤,試著解決這個(gè)錯(cuò)誤。 
        They came from ".$_SERVER['HTTP_REFERER'];
	mail($adminemail, "Bad Link To ".$_SERVER['REQUEST_URI'],
        $failuremess, "From: $websitename <noreply@$website>"); #email you about problem
	$casemessage = "發(fā)送一封郵件給管理員,內(nèi)容關(guān)于這個(gè)問題。";#set a friendly message
  }
  echo " ".$website.$_SERVER['REQUEST_URI']; ?> 
and it doesn't exist. <?php echo $casemessage; ?>  你可以點(diǎn)擊返回并且再試試搜索你要找的內(nèi)容:
  <?php include(TEMPLATEPATH . "/searchform.php"); ?>
</p>

突出動(dòng)態(tài)的菜單[ ]

突出動(dòng)態(tài)菜單的文章闡述怎樣使用條件式標(biāo)簽,突出菜單中的當(dāng)前的網(wǎng)頁。


外部資源[ ]