根據當前頁面匹配的條件,可以在模板文件中使用條件標簽來更改內容的顯示。 他們告訴WordPress在特定條件下顯示什么代碼。 條件標簽通常使用PHP if / else條件語句。
代碼首先檢查一個語句是真還是假。 如果發現該語句為true,則執行第一組代碼。 如果它是假的,則跳過第一組代碼,而代替執行第二組代碼(在else之后)。
```
if ( is_user_logged_in() ):
echo 'Welcome, registered user!';
else:
echo 'Welcome, visitor!';
endif;
```
>[warning] 請注意這些標簽與WordPress模板層次結構的密切關系。 [被添加或刪除?]
## 使用條件標簽的位置
對于要修改數據的條件標簽,信息必須已從數據庫檢索,即查詢必須已經運行。 如果在有數據之前使用條件標簽,那么就沒有什么可以詢問if / else語句。
重要的是要注意,在運行查詢之前,WordPress加載了functions.php,所以如果您只是在該文件中包含一個條件標簽,它將無法正常工作。
兩種實現條件標簽的方式:
- 將其放在模板文件中
- 在functions.php中創建一個函數,該函數掛鉤到稍后觸發的action/filter
# 條件
以下列出了以下條件,其中以下每個條件語句證明是真實的。 注意可以接受參數的標簽。
## 主頁
- is_home()
當顯示主博客頁面時,此條件返回true,通常以標準的反向時間順序排列。 如果您的主頁已經設置為靜態頁面,那么這只會在您設置為“設置>閱讀”中設置為“帖子”頁面的頁面中證明是真實的。
## 首頁
- is_front_page()
當站點的首頁顯示時,無論是否設置為顯示帖子或靜態頁面,此條件都將返回true。
在以下情況下返回true:
正在顯示主要博客頁面
設置>閱讀 - >首頁顯示選項設置為您的最新帖子
要么
當設置>閱讀 - >首頁顯示設置為靜態頁面和
前頁值是當前頁面顯示。
## 管理頁
- is_admin()
當顯示儀表板或管理面板時,此條件返回true。
## 單頁面
- is_single()
當顯示任何單個帖子(或附件或自定義帖子類型)時,返回true。 如果您在頁面上,此條件返回false。
- is_single( ’17’ )
is_single() 還可以通過ID和其他參數檢查某些帖子。 當Post 17顯示為單個帖子時,上述示例證明是正確的。
- is_single( ‘Irish Stew’ )
參數也包括Post標題。 在這種情況下,當標題為“愛爾蘭燉肉”的帖子被顯示為單個帖子時,這是真實的。
- is_single( ‘beef-stew’ )
當郵政郵局“牛燉肉”被顯示為單一郵政時,證明是正確的。
- is_single( array( 17, ‘beef-stew’, ‘Irish Stew’ ) )
當顯示的單個帖子是帖子ID 17或post_name是“牛肉燉”,或post_title是“愛爾蘭燉肉”時,返回true。
- is_single( array( 17, 19, 1, 11 ) )
當顯示的單個帖子是帖子ID = 17,帖子ID = 19,帖子ID = 1或帖子ID = 11時,返回true。
- is_single( array( ‘beef-stew’, ‘pea-soup’, ‘chilli’ ) )
當顯示的單個帖子是post_name“beef-stew”,post_name“pea-soup”或post_name“chilli”時,返回true。
- is_single( array( ‘Beef Stew’, ‘Pea Soup’, ‘Chilli’ ) )
當顯示的單個帖子是post_title是“Beef Stew”,post_title是“Pea Soup”或post_title是“Chilli”時,返回true。
>[warning] 注意:此功能不區分帖子ID,帖子標題或帖子名稱。 如果請求17的職位ID,將顯示一個名為“17”的帖子。 大概同樣適用于帶有“the”的帖子。
## 單個帖子,頁面或附件
- is_singular()
對于任何is_single,is_page和is_attachment返回true。 它允許測試post類型。
## 置頂帖子
- is_sticky()
如果當前帖子中已經選中了“置頂帖子”復選框,則返回true。 在此示例中,沒有發布帖子ID參數,因此使用循環帖子的帖子ID。
- is_sticky( ’17’ )
Post 17被認為是置頂帖子的帖子時返回true。
## 一個帖子類型
- get_post_type()
您可以通過在您的條件中包含get_post_type()來測試當前帖子是否為某種類型。 它不是一個條件標簽,但它返回當前帖子的注冊的帖子類型。
```
if ( ‘book’ == get_post_type() ) …
```
- post_type_exists()
如果給定的帖子類型是注冊的帖子類型,則返回true。 這不會測試一個帖子是否是某個post_type。
>[warning] 注意:此函數在3.0開發中替換了一個簡稱為is_post_type的函數。
##帖子類型是分層的
- is_post_type_hierarchical( $post_type )
如果$post_type在注冊時已經設置了分層支持,則返回true。
- is_post_type_hierarchical( ‘book’ )
如果book類型被注冊為具有層次結構的支持,則返回true。
## 帖子類型存檔
- is_post_type_archive()
在任何帖子類型歸檔中返回true。
- is_post_type_archive( $post_type )
如果在匹配$post_type的post類型歸檔頁面(可以是單個帖子類型或Post類型數組),則返回true。
要打開帖子類型的檔案,請在注冊帖子類型時使用'has_archive'=> true。
## 評論彈出窗口
- is_comments_popup()
當在評論彈出窗口。
## 任何頁面包含帖子
- comments_open()
當WordPress循環中正在處理當前帖子的注釋時。
- pings_open()
當允許在WordPress循環中處理當前帖子的ping時。
## “PAGE”頁面
本節涉及WordPress頁面,不是您博客中的任何通用網頁,也不是內置的post_type“頁面”。
- is_page()
何時顯示任何頁面。
- is_page( ’42’ )
當顯示Page 42(ID)時。
- is_page( ‘About Me And Joe’ )
當顯示帶有“About Me And Joe”的post_title的頁面時。
- is_page( ‘about-me’ )
當顯示帶有“about-me”的post_name(slug)的頁面時。
- is_page( array( 42, ‘about-me’, ‘About Me And Joe’ ) )
當顯示的頁面是帖子ID = 42或post_name是“about-me”或post_title是“About Me And Joe”時,返回true。
- is_page( array( 42, 54, 6 ) )
當顯示的頁面是帖子ID = 42或帖子ID = 54或帖子ID = 6時,返回true。
## 分頁的測試
您可以使用此代碼來檢查您是否位于使用該頁面的頁面中的第n頁`<!--nextpage--\>`
QuickTag 這可能是有用的,例如,如果您希望僅在分為幾頁的帖子的第一頁上顯示元數據。
**示例 1**
```
<?php
$paged = $wp_query->get( 'page' );
if ( ! $paged || $paged < 2 ) {
// This is not a paginated page (or it's simply the first page of a paginated page/post)
} else {
// This is a paginated page.
} ?>
```
**示例 2**
```
<?php $paged = get_query_var( 'page' ) ? get_query_var( 'page' ) : false;
if ( $paged == false ) {
// This is not a paginated page (or it's simply the first page of a paginated page/post)
} else {
// This is a paginated page.
}
?>
```
## 子頁面測試
沒有is_subpage()函數,但可以用一點代碼來測試:
片段 1
```
<?php global $post; // if outside the loop
if ( is_page() && $post->post_parent ) {
// This is a subpage
} else {
// This is not a subpage
}
?>
```
您可以使用Snippet 2中的代碼創建自己的is_subpage()函數。將其添加到functions.php文件中。 它以與Snippet 1相同的方式測試父頁面,但如果存在父頁面,則返回父頁面的ID,如果沒有,則返回false。
片段 2
```
function is_subpage() {
global $post; // load details about this page
if ( is_page() && $post->post_parent ) { // test to see if the page has a parent
return $post->post_parent; // return the ID of the parent post
} else { // there is no parent so ...
return false; // ... the answer to the question is false
}
}
```
建議在Snippet 2中使用這樣的功能,而不是像Snippet 1那樣使用簡單的測試,如果您打算經常測試子頁面。
要測試頁面的父級是否是特定頁面,例如“關于”(默認為頁面ID為2),我們可以在Snippet 3中使用測試。這些測試檢查我們是否正在查看有問題的頁面 ,以及我們正在查看任何子頁面。 這對于設置特定于網站的不同部分的變量,以及不同的橫幅圖像或不同的標題很有用。
片段 3
```
<?php if ( is_page( 'about' ) || '2' == $post->post_parent ) {
// the page is "About", or the parent of the page is "About"
$bannerimg = 'about.jpg';
} elseif ( is_page( 'learning' ) || '56' == $post->post_parent ) {
$bannerimg = 'teaching.jpg';
} elseif ( is_page( 'admissions' ) || '15' == $post->post_parent ) {
$bannerimg = 'admissions.jpg';
} else {
$bannerimg = 'home.jpg'; // just in case we are at an unclassified page, perhaps the home page
}
?>
```
Snippet 4是一個允許您更容易地進行上述測試的功能。 如果我們查看有問題的頁面(如“about”)或其一個子頁面(因此,具有ID為“2”的父項的頁面),此函數將返回true。
片段 4
```
function is_tree( $pid ) { // $pid = The ID of the page we're looking for pages underneath
global $post; // load details about this page
if ( is_page($pid) )
return true; // we're at the page or at a sub page
$anc = get_post_ancestors( $post->ID );
foreach ( $anc as $ancestor ) {
if( is_page() && $ancestor == $pid ) {
return true;
}
}
return false; // we aren't at the page, and the page is not an ancestor
}
```
將Snippet 4添加到您的functions.php文件中,并調用is_tree('id')來查看當前頁面是頁面還是頁面的子頁面。 在代碼段3中,is_tree('2')將替換“is_page('about')|| '2'== $ post-> post_parent“里面的第一個if標簽。
>[warning] 請注意,如果您有多個級別的頁面,則父頁面是上一頁,而不是層次結構頂層的頁面。
## 是頁面模板
允許您確定是否在頁面模板中,或者是否正在使用特定的頁面模板。
- is_page_template()
是否使用頁面模板?
- is_page_template( ‘about.php’ )
是否使用頁面模板? 請注意,與其他條件不同,如果要指定特定的頁面模板,則需要使用文件名,如about.php或my_page_template.php。
>[warning] 注意:如果文件位于子目錄中,那么您也必須包含此目錄。 這意味著這應該是與您的主題相關的文件路徑以及文件名,例如“page-templates/about.php”。
## 類別頁面
- is_category()
當顯示類別歸檔頁面時。
- is_category( ‘9’ )
當顯示類別9的歸檔頁面時。
- is_category( ‘Stinky Cheeses’ )
當顯示名稱為“Stinky Cheeses”的類別的存檔頁面時。
- is_category( ‘blue-cheese’ )
當顯示具有類別的slug“blue-cheese”類別的歸檔頁面時。
- is_category( array( 9, ‘blue-cheese’, ‘Stinky Cheeses’ ) )
當顯示的帖子類別為term_ID 9或者“Stinky Cheeses”或“blue-cheese”時,返回true。
- in_category( ‘5’ )
如果當前帖子在指定的類別ID中,則返回true。
- in_category( array( 1, 2, 3 ) )
如果當前帖子在類別1,2或3中,則返回true。
- ! in_category( array( 4, 5, 6 ) )
如果當前帖子不在類別4,5或6中,則返回true。注意! 一開始
>[warning] 注意:測試時請務必檢查拼寫。 “is”或“in”之間有很大的區別。
另請參見is_archive()和類別模板。
## 標簽頁
- is_tag()
當任何標簽存檔頁面被顯示時。
- is_tag( ‘mild’ )
當顯示帶有“mild”塊的標簽的存檔頁面時。
- is_tag( array( ‘sharp’, ‘mild’, ‘extreme’ ) )
正在顯示的標簽存檔顯示為“sharp”,“mild”或“extreme”時,返回true。
- has_tag()
當前帖子有標簽。 必須在循環中使用。
- has_tag( ‘mild’ )
當前帖子標簽為“mild”時。
- has_tag( array( ‘sharp’, ‘mild’, ‘extreme’ ) )
當前帖子在數組中有任何標簽時。
另請參見is_archive()和標簽模板。
## 分類頁
- is_tax()
當顯示任何分類歸檔頁面時。
- is_tax( ‘flavor’ )
當顯示'flavor'分類的分類標準頁面時。
- is_tax( ‘flavor’, ‘mild’)
當顯示具有“flavor”和“mild”分類法的歸檔頁面時。
- is_tax( ‘flavor’, array( ‘sharp’, ‘mild’, ‘extreme’ ) )
當顯示的'flavor'分類存檔顯示為“sharp”,“mild或“extreme”時,返回true。
- has_term()
檢查當前帖子是否具有任何特定條款。 第一個參數應該是一個空字符串。 它預期分類標語/名稱作為第二個參數。
- has_term( ‘green’, ‘color’ )
當前帖子從分類“color”中有“green”一詞。
- has_term( array( ‘green’, ‘orange’, ‘blue’ ), ‘color’ )
當前職位在陣列中有任何術語。
另請參見is_archive()。
## 注冊分類
- taxonomy_exists()
當通過register_taxonomy()注冊一個特定的分類法時。 以前的is_taxonomy(),在版本3.0中已被棄用
## 作者頁
- is_author()
當任何作者頁面被顯示時。
- is_author( ‘4’ )
當作者號(ID)4的存檔頁面正在顯示時。
- is_author( ‘Vivian’ )
當昵稱為“Vivian”的作者的存檔頁面被顯示時。
- is_author( ‘john-jones’ )
當顯示具有Nicename“john-jones”的作者的歸檔頁面時。
- is_author( array( 4, ‘john-jones’, ‘Vivian’ ) )
當作者的存檔頁面是用戶ID 4或user_nicename“john-jones”或昵稱“Vivian”時。
另請參見is_archive()和作者模板。
## 多作者網站
- is_multi_author()
當多個作者發布了一個網站的帖子。 版本3.2可用。
## 日期頁
- is_date()
當顯示任何基于日期的存檔頁面(即每月,每年,每天或基于時間的存檔)時。
- is_year()
當年度檔案被顯示時。
- is_month()
當顯示每月存檔時。
- is_day()
每日存檔顯示時。
- is_time()
正在顯示一個小時,“精細”或“第二”檔案。
- is_new_day()
如果今天是按照發布日期的新的一天。 應該在循環中使用。
## 任何檔案頁
- is_archive()
當顯示任何類型的存檔頁面時。 類別,標簽,作者和日期頁面都是檔案館的所有類型。
## 搜索結果頁
- is_search()
當顯示搜索結果頁面存檔時。
## 404找不到頁面
- is_404()
發生“HTTP 404:未找到”錯誤后顯示頁面。
## 一個附件
- is_attachment()
附件文件顯示在帖子或頁面時。 附件是通過帖子編輯器的上傳實用程序上傳的圖像或其他文件。 附件可以顯示在自己的“頁面”或模板上。
## 單頁,單張或附件
- is_singular()
當以下任何一個返回true時:is_single(),is_page()或is_attachment()。
- is_singular( ‘book’ )
查看“自定義帖子類型”圖書的帖子時為真。
- is_singular( array( ‘newspaper’, ‘book’ ) )
當查看自定義帖子類型的報紙或書籍的帖子時是真的。
## 一個聯合
- is_feed()
當網站要求是一個聯合會。 該標簽通常不被用戶使用; 它由WordPress內部使用,可用于插件開發人員。
## 回溯
- is_trackback()
當請求的站點是WordPress鉤入其Trackback引擎。 該標簽通常不被用戶使用; 它由WordPress內部使用,可用于插件開發人員。
## 預覽
- is_preview()
當在草稿模式下查看顯示的單個帖子。
## 有摘錄
- has_excerpt()
當前職位有摘錄
- has_excerpt( 42 )
當帖子42(ID)有摘錄。
```
<?php // Get $post if you're inside a function global $post;
if ( empty( $post->post_excerpt ) ) {
// This post has no excerpt
} else {
// This post has excerpt
}
?>
```
其他用途
當你需要隱藏自動顯示的摘錄,只顯示你的帖子的摘錄。
```
<?php
if ( ! has_excerpt() ) {
echo '';
} else {
the_excerpt();
}
?>
```
替換文本或代碼的自動摘錄。
```
<?php if ( ! has_excerpt() ) {
// you text or code
} ?>
```
## 已分配導航菜單
- has_nav_menu()
注冊的導航菜單位置是否已分配菜單
返回:assign(true)或not(false)
## 內循環
- in_the_loop()
檢查你是否在“循環內”。 對于插件作者很有用,當您在循環中時,此條件返回為真。
## 邊欄活躍
- is_active_sidebar()
檢查給定側邊欄是否處于活動狀態(正在使用中)。 如果邊欄(由name,id或number標識)正在使用,則返回true,否則函數返回false。
## 網絡的一部分(多站點)
- is_multisite()
檢查當前站點是否在WordPress MultiSite安裝中。
## 主站(多站點)
- is_main_site()
確定站點是否是網絡中的主站點。
## 網絡管理員(多站點)
- is_super_admin()
確定用戶是否是網絡(超級)管理員。
## 一個活動插件
- is_plugin_active()
檢查插件是否被激活。
## 子主題
- is_child_theme()
檢查子主題是否正在使用。
## 主題支持功能
- current_theme_supports()
檢查是否存在各種主題功能。
# 工作實例
以下是演示如何使用這些條件標簽的工作示例。
## 單張帖子
此示例顯示如何使用is_single()僅在查看單個帖子時顯示特定的內容:
```
if ( is_single() ) {
echo 'This is just one of many fabulous entries in the ' . single_cat_title() . ' category!';
}
```
循環中如何使用條件標簽的另一個例子。 選擇在index.php中顯示內容或摘錄,這是顯示單個帖子或主頁時。
```
if ( is_home() || is_single() ) {
the_content();
}
else {
the_excerpt();
}
```
當您需要顯示代碼或元素時,不在主頁的地方。
```
<?php if ( ! is_home() ) {
//Insert your markup ...
}?>
```
## 檢查多個條件
您可以使用PHP運算符在單個if語句中評估多個條件。
如果您需要檢查條件的組合是否為true或false,那么這是方便的。
```
// Check to see if 2 conditionals are met
if ( is_single() || is_page() ) ) {
// If it's a single post or a single page, do something special
}
if ( is_archive() && ! is_category( 'nachos' ) ) {
// If it's an archive page for any category EXCEPT nachos, do something special
}
```
```
// Check to see if 3 conditionals are met
if ( $query->is_main_query() && is_post_type_archive( 'products' ) && ! is_admin() ) {
// If it's the main query on a custom post type archive for Products
// And if we're not in the WordPress admin, then do something special
}
if ( is_post_type_archive( 'movies' ) || is_tax( 'genre' ) || is_tax( 'actor' ) ) {
// If it's a custom post type archive for Movies
// Or it's a taxonomy archive for Genre
// Or it's a taxonomy archive for Actor, do something special
}
<h3>Date Based Differences</h3>
If someone browses our site by date, let's distinguish posts in different years by using different colors:
<?php // this starts The Loop
if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<h2 id="post-<?php the_ID(); ?>">
<a title="Permanent Link to <?php the_title(); ?>" href="<?php the_permalink() ?>" rel="bookmark"><?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>
```
## 可變側欄內容
該示例將根據讀者當前正在查看的頁面在您的側欄中顯示不同的內容。
```
<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
wp_list_categories( 'optionall=0&sort_column=name&list=1&children=0' );
} elseif ( is_category() ) {
// we're looking at a single category view, so let's show _all_ the categories
wp_list_categories( 'optionall=1&sort_column=name&list=1&children=1&hierarchical=1' )
} 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 "This is my about page!";
} elseif ( is_page( 'Colophon' ) ) {
echo "This is my colophon page, running on WordPress " . bloginfo( 'version' ) . "";
} else {
// catch-all for other pages
echo "Vote for Pedro!";
}
} else {
// catch-all for everything else (archives, searches, 404s, etc)
echo "Pedro offers you his protection.";
} // That's all, folks!
?>
</div>
```
## 有用的404頁
創建錯誤404頁面文章[NEED Link to this?]有一個在“寫入友好的消息”部分中使用PHP條件函數isset()的示例。
## 在主題的footer.php文件中
有時在其他模板(如sidebar.php)中執行的查詢可能會損壞某些條件標簽。 例如,在header.php中,條件標簽正常工作,但在主題的footer.php中不起作用。 訣竅是在頁腳中的條件測試之前放置wp_reset_query。 例如:
```
<?php wp_reset_query();
if ( is_page( '2' ) ) {
echo 'This is page 2!';
}
?>
```
## 條件標簽索引
### 評論開放
- has_tag
- has_term
- in_category
- is_404
- is_admin
- is_archive
- is_attachment
- is_author
- is_category
- is_child_theme
- is_comments_popup
- is_date
- is_day
- is_feed
- is_front_page
- is_home
- is_month
- is_multi_author
- is_multisite
- is_main_site
- is_page
- is_page_template
- is_paged
- is_preview
- is_rtl
- is_search
- is_single
- is_singular
- is_sticky
- is_super_admin
- is_tag
- is_tax
- is_time
- is_trackback
- is_year
- pings_open
## 功能參考
- Function: comments_open()
- Function: is_404()
- Function: is_admin()
- Function: is_admin_bar_showing()
- Function: is_archive()
- Function: is_attachment()
- Function: is_author()
- Function: is_category()
- Function: is_comments_popup()
- Function: is_date()
- Function: is_day()
- Function: is_feed()
- Function: is_front_page()
- Function: is_home()
- Function: is_local_attachment()
- Function: is_main_query
- Function: is_multi_author
- Function: is_month()
- Function: is_new_day()
- Function: is_page()
- Function: is_page_template()
- Function: is_paged()
- Function: is_plugin_active()
- Function: is_plugin_active_for_network()
- Function: is_plugin_inactive()
- Function: is_plugin_page()
- Function: is_post_type_archive()
- Function: is_preview()
- Function: is_search()
- Function: is_single()
- Function: is_singular()
- Function: is_sticky()
- Function: is_tag()
- Function: is_tax()
- Function: is_taxonomy_hierarchical()
- Function: is_time()
- Function: is_trackback()
- Function: is_year()
- Function: in_category()
- Function: in_the_loop()
- Function: is_active_sidebar()
- Function: is_active_widget()
- Function: is_blog_installed()
- Function: is_rtl()
- Function: is_dynamic_sidebar()
- Function: is_user_logged_in()
- Function: has_excerpt()
- Function: has_post_thumbnail()
- Function: has_tag()
- Function: pings_open()
- Function: email exists()
- Function: post_type_exists()
- Function: taxonomy_exists()
- Function: term_exists()
- Function: username exists()
- Function: wp_attachment_is_image()
- Function: wp_script_is()
- 簡介
- 主題開發
- WordPress許可證
- 什么是主題
- 開發環境
- 主題開發示例
- 主題基礎
- 模板文件
- 主樣式表(style.css)
- 文章類型
- 規劃主題文件
- 模板層級
- 模板標簽
- 循環
- 主題函數
- 連接主題文件和目錄
- 使用CSS和JavaScript
- 條件標簽
- 類別,標簽和自定義分類
- 模板文件
- 內容模板文件
- 頁面模板文件
- 附件模板文件
- 自定義內容類型
- 部分和其他模板文件
- 評論模板
- 分類模板
- 404頁面
- 主題功能
- 核心支持的功能
- 管理菜單
- 自定義Headers
- 自定義Logo
- 文章格式
- 置頂文章
- Sidebars
- Widgets
- 導航菜單
- 分頁
- 媒體
- Audio
- Images
- Galleries
- Video
- 精選圖片和縮略圖
- 國際化
- 本地化
- 輔助功能
- 主題選項 – 自定義API
- 定制對象
- 改進用戶體驗的工具
- 定制JavaScript API
- JavaScript / Underscore.js渲染的自定義控件
- 高級用法
- 主題安全
- 數據消毒/逃避
- 數據驗證
- 使用隨機數
- 常見漏洞
- 高級主題
- 子主題
- UI最佳實踐
- JavaScript最佳做法
- 主題單元測試
- 驗證你的主題
- Plugin API Hooks
- 發布你的主題
- 所需的主題文件
- 測試
- 主題評論指南
- 寫文檔
- 提交你的主題到WordPress.org
- 參考文獻
- 模板標簽列表
- 條件標簽列表
- 編碼標準
- HTML編碼標準
- CSS編碼標準
- JavaScript編碼標準
- PHP編碼標準
- 插件開發
- 插件開發簡介
- 什么是插件
- 插件基礎
- 頭部要求
- 包括軟件許可證
- 啟用 / 停用 Hooks
- 卸載方法
- 最佳做法
- 插件安全
- 檢查用戶功能
- 數據驗證
- 保護輸入
- 保護輸出
- 隨機數
- Hooks
- Actions
- Filters
- 自定義Hooks
- 高級主題
- 管理菜單
- 頂級菜單
- 子菜單
- 短代碼
- 基本短碼
- 封閉短碼
- 帶參數的短代碼
- TinyMCE增強型短碼
- 設置
- 設置API
- 使用設置API
- 選項API
- 自定義設置頁面
- 元數據
- 管理帖子元數據
- 自定義元數據
- 渲染元數據
- 自定義文章類型
- 注冊自定義文章類型
- 使用自定義文章類型
- 分類
- 使用自定義分類
- 在WP 4.2+中使用“split術語”
- 用戶
- 創建和管理用戶
- 使用用戶元數據
- 角色和功能
- HTTP API
- JavaScript
- jQuery
- Ajax
- 服務器端PHP和入隊
- Heartbeat API
- 概要
- 計劃任務
- 了解WP-Cron計劃
- 安排WP-Cron 事件
- 將WP-Cron掛接到系統任務計劃程序中
- WP-Cron簡單測試
- 國際化
- 本地化
- 如何國際化您的插件
- 國際化安全
- WordPress.org
- 詳細插件指南
- 規劃您的插件
- 如何使用Subversion
- 插件開發者常見問題
- 開發工具
- Debug Bar 和附加組件
- 輔助插件
- REST API手冊
- 資源
- 文章
- 文章修訂
- 文章類型
- 文章狀態
- 類別
- 標簽
- 頁面
- 評論
- 分類
- 媒體
- 用戶
- 設置
- 使用REST API
- 全局參數
- 分頁
- 鏈接和嵌入
- 發現
- 認證
- 經常問的問題
- 骨干JavaScript客戶端
- 客戶端庫
- 擴展REST API
- 添加自定義端點
- 自定義內容類型
- 修改回應
- 模式
- 詞匯表
- 路由和端點
- 控制器類