WIKI使用導(dǎo)航
站長(zhǎng)百科導(dǎo)航
站長(zhǎng)專題
- 網(wǎng)站推廣
- 網(wǎng)站程序
- 網(wǎng)站賺錢
- 虛擬主機(jī)
- cPanel
- 網(wǎng)址導(dǎo)航專題
- 云計(jì)算
- 微博營(yíng)銷
- 虛擬主機(jī)管理系統(tǒng)
- 開放平臺(tái)
- WIKI程序與應(yīng)用
- 美國(guó)十大主機(jī)
WordPress:Conditional Tags
介紹[ ]
條件式標(biāo)簽可以用在你的模板文件中,更改顯示的內(nèi)容,并且根據(jù)網(wǎng)頁(yè)匹配什么樣的情況,更改內(nèi)容在一個(gè)網(wǎng)頁(yè)上的顯示方式。例如,你可能想要在一些文章的上面,在你的博客的主頁(yè)上顯示文章的摘錄。擁有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)簽非常又名。
主頁(yè)[ ]
- is_home()
- 顯示主要的博客網(wǎng)頁(yè)的時(shí)候(WordPress2.1版本與先前的版本處理這個(gè)函數(shù)的方式不同。請(qǐng)看看
注:如果你選擇了一個(gè)靜態(tài)的網(wǎng)頁(yè)作為你的首頁(yè)(請(qǐng)看看下面的),這個(gè)標(biāo)簽會(huì)應(yīng)用到你的"文章 頁(yè)面"。
首頁(yè)[ ]
- is_front_page()
- 顯示站點(diǎn)的首頁(yè)的時(shí)候,不管是文章還是網(wǎng)頁(yè)。顯示主要的博客頁(yè)面的時(shí)候,返回正確的,而且'設(shè)置->閱讀->顯示首頁(yè)'設(shè)置為"你最近的文章",或者當(dāng)'設(shè)置->閱讀->顯示首頁(yè)'設(shè)置為"一個(gè)靜態(tài)網(wǎng)頁(yè)" 而且"首頁(yè)"參數(shù)值是當(dāng)前顯示的網(wǎng)頁(yè)。注:這個(gè)標(biāo)簽是在2.5版本中添加的。
管理面板[ ]
- is_admin()
- Dashboard或者管理面板正在顯示的時(shí)候。
一個(gè)單獨(dú)的文章網(wǎng)頁(yè)[ ]
- is_single()
- 顯示任何只有一篇文章的網(wǎng)頁(yè)的時(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)頁(yè)[ ]
- 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)頁(yè),而不是博客中的任何網(wǎng)頁(yè)。
- is_page()
- 正在顯示任何網(wǎng)頁(yè)的時(shí)候。
- is_page('42')
- 正在顯示網(wǎng)頁(yè)42(ID)的時(shí)候。
- is_page('關(guān)于我和Joe')
- 顯示擁有一個(gè)post_title"關(guān)于我和Joe"的網(wǎng)頁(yè)。
- is_page('about-me')
- 顯示擁有post_name (slug) "about-me"的網(wǎng)頁(yè)。
- is_page(array(42,'about-me','關(guān)于我和 Joe'))
- 當(dāng)顯示的網(wǎng)頁(yè)是文章ID42,或者post_name "about-me",或者post_title "關(guān)于我和 Joe"時(shí),返回true。注:array ability是在2.5版本中添加的。
測(cè)試子網(wǎng)頁(yè)[ ]
還沒有is_subpage()函數(shù),但是你可以用較少的代碼測(cè)試這個(gè):
<?php // 如果你在一個(gè)函數(shù)的內(nèi)部,得到 $post global $post; if (is_page() && $post->post_parent ) { // 這是個(gè)子網(wǎng)頁(yè) } else { // 這不是個(gè)子網(wǎng)頁(yè) } ?>
如果你需要測(cè)試這是不是個(gè)特別的網(wǎng)頁(yè)還是子網(wǎng)頁(yè)(例如在以網(wǎng)頁(yè)為基礎(chǔ)的網(wǎng)站上的不同部分呈現(xiàn)不同的標(biāo)語(yǔ)),從后端得到當(dāng)前網(wǎng)頁(yè)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)頁(yè)模板[ ]
從2.5版本開始,這能夠使你決定你是否在網(wǎng)頁(yè)模板上或者你是不是正在使用一個(gè)特別的網(wǎng)頁(yè)模板。
- is_page_template()
- 正在使用網(wǎng)頁(yè)模板 嗎?
- is_page_template('about.php')
- 正在使用 網(wǎng)頁(yè)模板 '關(guān)于' 嗎? 注意與其它的條件不同,如果你想要規(guī)定一個(gè)特別的網(wǎng)頁(yè)模板,你需要使用文件名,例如about.php或者my_page_template.php。
類別網(wǎng)頁(yè)[ ]
- is_category()
- 顯示任何類別歸檔網(wǎng)頁(yè)的時(shí)候。
- is_category('9')
- 顯示關(guān)于類別9的歸檔網(wǎng)頁(yè)的時(shí)候。
- is_category('發(fā)臭的干酪')
- 顯示名稱是"發(fā)臭的干酪"的類別的歸檔網(wǎng)頁(yè)的時(shí)候。
- is_category('藍(lán)紋奶酪')
- 顯示類別Slug"藍(lán)紋奶酪"的歸檔網(wǎng)頁(yè)的時(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)頁(yè)[ ]
- is_tag()
- 顯示任何標(biāo)簽歸檔網(wǎng)頁(yè)的時(shí)候。
- is_tag('mild')
- 顯示帶有slug'mild'的標(biāo)簽的歸檔網(wǎng)頁(yè)的時(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)頁(yè)[ ]
- is_author()
- 顯示任何作者網(wǎng)頁(yè)的時(shí)候。
- is_author('4')
- 顯示作者號(hào)(ID)4的歸檔網(wǎng)頁(yè)的時(shí)候。
- is_author('Vivian')
- 顯示作者昵稱名為"Vivian"的歸檔網(wǎng)頁(yè)的時(shí)候。
- is_author('john-jones')
- 顯示作者昵稱"john-jones"的歸檔網(wǎng)頁(yè)的時(shí)候。
- is_author(array(4,'john-jones','Vivian'))
- 作者是用戶ID4或者user_nicename "john-jones", 或者nickname "Vivian"時(shí)候的歸檔網(wǎng)頁(yè)。注:array ability是在2.5版本中添加的。
也看看is_archive() 和作者模板。
日期網(wǎng)頁(yè)[ ]
- is_date()
- 顯示任何以日期為基礎(chǔ)的歸檔網(wǎng)頁(yè)的時(shí)候(例如,按月,按年,按日或者以時(shí)間為基礎(chǔ)的歸檔)。
- is_year()
- 顯示某一年的歸檔。
- is_month()
- 顯示某一月的歸檔。
- is_day()
- 顯示某一天的歸檔的時(shí)候。
- is_time()
- 顯示某個(gè)小時(shí),"某分",或者"某秒"的歸檔的時(shí)候。
也看看:is_archive()。
任何歸檔網(wǎng)頁(yè)[ ]
- is_archive()
- 顯示任何類型的歸檔網(wǎng)頁(yè)的時(shí)候。以類別,作者和日期為基礎(chǔ)的網(wǎng)頁(yè)是各種類型的歸檔。
搜索結(jié)果網(wǎng)頁(yè)[ ]
- is_search()
- 顯示搜索結(jié)果網(wǎng)頁(yè)歸檔的時(shí)候。
404 沒有找到網(wǎng)頁(yè)[ ]
- is_404()
- 在出現(xiàn)"HTTP 404: 沒有發(fā)現(xiàn)"錯(cuò)誤的之后,顯示的網(wǎng)頁(yè)。
A Paged Page[ ]
- is_paged()
- 當(dāng)顯示的網(wǎng)頁(yè)是"paged"。這指的是歸檔或者主頁(yè)被分成了幾個(gè)網(wǎng)頁(yè)。這并不指一篇文章或者網(wǎng)頁(yè)使用<!--nextpage--> QuickTag把它的內(nèi)容分成了幾個(gè)網(wǎng)頁(yè)。
=== 附屬裝置===
- is_attachment()
- 顯示文章或者網(wǎng)頁(yè)的附屬文件的時(shí)候。附屬文件是一個(gè)圖像或者通過文章編輯的上傳功能上傳的其它的文件。附屬文件可以在自身的'網(wǎng)頁(yè)'或者模板上顯示。更多的信息,請(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例子,用來(lái)闡述怎樣使用這些條件式標(biāo)簽。
單篇文章[ ]
這個(gè)例子顯示怎樣使用is_single(),在瀏覽只有一篇文章的網(wǎng)頁(yè)的時(shí)候,顯示一些特別的內(nèi)容。
if (is_single()) { echo '這只是 ' . single_cat_title() 中其中的一篇預(yù)言文章。 ' category!'; }
以日期為基礎(chǔ)的差異[ ]
如果有人根據(jù)日期瀏覽我們的站點(diǎn),我們可以使用不同的顏色,將不同的年份的文章,區(qū)分開來(lái)。
<?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í)別來(lái)設(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)頁(yè),這個(gè)例子會(huì)在你的工具條中顯示不同的內(nèi)容。
<!-- begin sidebar --> <div id="sidebar"> <?php // 讓我們提供與正在顯示的文章相關(guān)的信息l if (is_home()) { //我在在主頁(yè)上,顯示最高級(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)頁(yè),在工具條上不顯示任何內(nèi)容 } elseif (is_page()) { // 我們?cè)跒g覽一個(gè)靜態(tài)的網(wǎng)頁(yè)。哪一個(gè)? if (is_page('About')) { //我們的關(guān)于網(wǎng)頁(yè)。 echo "<p>這是我的關(guān)于網(wǎng)頁(yè)!</p>"; } elseif (is_page('Colophon')) { echo "<p>這是我的最后一個(gè)網(wǎng)頁(yè), 在WordPress上運(yùn)行 " 。 bloginfo('version') . "</p>"; } else { // 抓取所有的其它網(wǎng)頁(yè)。 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頁(yè)面[ ]
訪客遇到一個(gè)404錯(cuò)誤網(wǎng)頁(yè)的時(shí)候,這個(gè)網(wǎng)頁(yè)可能不起作用。使用WordPress,你可以減少404的錯(cuò)誤,使得用戶和你自己能夠使用這個(gè)網(wǎng)頁(yè),當(dāng)用戶點(diǎn)擊一個(gè)鏈接,鏈接到不存在的網(wǎng)頁(yè)的時(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)頁(yè)) 錯(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)頁(yè)。
外部資源[ ]
- 法語(yǔ)翻譯: WordPress:fr:Marqueurs_conditionnels