WordPress 頁面與文章:靜態內容的管理與 API 應用
WordPress 頁面和文章有所不同,它們適用於不同類型的網站內容。本文將闡述頁面的用途、與文章的區別,並講解如何在 WordPress 網站上管理頁面,最後探討 WordPress 頁面 API 的相關函數。
關鍵要點:
get_pages()
函數可用於檢索頁面列表數組,而 get_post()
函數則用於檢索單個頁面。這些函數允許在顯示頁面之前對其進行進一步自定義和操作。 什麼是 WordPress 頁面?
WordPress 頁面是網站上的一個內容頁面,例如“聯繫我們”或“關於我們”頁面。我們經常在網站的主要導航、側邊欄或頁腳中看到這些頁面的鏈接。
頁面和文章的主要區別在於時間的關聯性:文章通常與時間相關,而頁面的內容通常是永久性的。
發布新聞或教程時,時間上下文非常重要。新功能不會永遠都是新的,在某些情況下幾年後可能就不存在了。這就是為什麼撰寫此類內容時更適合使用文章。
另一方面,如果您想描述網站的目的,或提供聯繫表單,則應使用頁面。這是不會隨時間變化的靜態內容類型。
如何管理 WordPress 頁面?
如果您擁有編輯或管理員權限,則可以管理 WordPress 中的頁面。為此,請轉到 WordPress 儀表板中的“頁面”,您將看到所有頁面的列表,或者可以通過“添加新頁面”按鈕創建一個新頁面。
此列表類似於“文章”列表,使用方法相同。您可以點擊頁面的標題進行編輯,當您將鼠標懸停在頁面的標題上時,還會出現其他一些有用的快捷鏈接。
當您點擊編輯或添加頁面或文章時,您可以指定標題、內容,如果您的主題支持,還可以添加特色圖片。 “發布”按鈕允許您發布頁面。否則,如果您尚未準備好上線,可以將其保存為草稿。
要組織文章,可以使用分類和標籤。但是,沒有類似的方法來組織頁面。頁面仍然可以按層次結構組織。實際上,您可以將頁面指定為其他頁面的子頁面。這就像為您的分類創建子分類一樣。
要創建子頁面,請轉到“頁面屬性”框,您將在其中找到一個名為“父頁面”的下拉列表。在此列表中,選擇您想要作為當前創建或編輯頁面的父頁面的頁面。請注意,您還可以創建子子頁面、子子子頁面等,以創建您自己的層次結構。
默認情況下,頁面按字母順序(按標題)排序。您可以通過“頁面屬性”部分中的“順序”字段自定義此順序。然後,頁面將按照您在此字段中指示的數字排序。例如,如果您有三個標題為“頁面 1”、“頁面 2”和“頁面 3”的頁面,則默認情況下它們將按此順序顯示。如果您想讓“頁面 3”首先出現,請將其順序指示為 0,並將其他頁面的順序指示為更大的數字(例如 1 和 2)。
WordPress 頁面 API
要顯示頁面列表,WordPress 提供了 wp_list_pages()
函數。默認情況下,它顯示包含所有已發布頁面的無序列表的 HTML 代碼,該代碼封裝在一個 li 標籤中,並帶有指示“頁面”的 h2 標題。它還接受一個參數:一個關聯數組,其中列出了一些自定義輸出的選項。
可以使用一些選項來限制顯示的頁面數量。我們將看到的第一個選項是 child_of
。它允許我們顯示具有給定頁面作為父頁面的頁面。以下示例顯示頁面 ID 為 2 的子頁面:
<?php wp_list_pages(array( 'child_of' => 2 )); ?>
當我們想要顯示由一個或多個作者撰寫的頁面時,authors
選項非常有用。此選項接受字符串作為值:用逗號分隔的作者 ID 列表。使用以下參數,該函數將顯示由兩位作者撰寫的頁面:
<?php wp_list_pages(array( 'authors' => '2,7' )); ?>
要僅顯示某些頁面,可以使用 include
選項。您可以為此選項提供用逗號分隔的頁面 ID 列表,您將獲得這些頁面的列表:
<?php wp_list_pages(array( 'include' => '7,53,8' )); ?>
相反,如果您想隱藏某些頁面,可以使用 exclude
選項,它接受相同類型的值:
<?php wp_list_pages(array( 'exclude' => '2,4' )); ?>
您還可以選擇按深度進行篩選。例如,如果您只想查看頂級頁面,可以使用 depth
選項。
默認情況下,它設置為 0,並且會顯示所有頁面。將其設置為任何正數,您將只獲得此深度的頁面。例如,指示 1 將僅顯示頂級頁面。以下示例顯示這些相同的頁面及其直接子頁面:
<?php wp_list_pages(array( 'depth' => 2 )); ?>
默認情況下,wp_list_pages()
僅顯示已發布的頁面。但是,您可以使用 post_status
選項顯示其他頁面。
使用此選項顯示您想要看到的狀態,用逗號分隔。以下示例顯示已發布的頁面和草稿:
<?php wp_list_pages(array( 'child_of' => 2 )); ?>
除了過濾檢索到的頁面列表外,您還可以使用 number
選項限制檢索到的頁面數量。如果您使用正數,您將只檢索有限數量的頁面。
您可以使用 title_li
選項自定義標題,該選項接受字符串作為值。默認情況下,它設置為“頁面”,然後您可以選擇任何文本進行顯示。您也可以將其設置為空字符串。
這樣,wp_list_pages()
不會將您的頁面封裝到 li 標籤中,您將直接獲得頁面的 li 標籤。
wp_list_pages()
函數允許您獲取頁面的 HTML 列表。如果您想創建您自己的 HTML,或者如果您需要在顯示頁面之前對頁面應用某些操作,則此函數不是最佳選擇。相反,您更傾向於使用 get_pages()
來檢索列出不同頁面的數組。
此函數也接受數組作為參數,列出所需的選項。好消息是您已經了解其中一些選項,因為我們在wp_list_pages()
函數的描述中已經介紹了它們:child_of
、authors
、include
、exclude
、post_status
、number
、sort_column
和sort_order
。
默認情況下,get_pages()
中會顯示頁面的層次結構:子頁面將出現在其父頁面之後。您可以通過將 hierarchical
選項設置為 false 來禁用此行為。這樣,所有頁面都將被平等對待,並且層次結構將被完全忽略。
get_pages()
函數返回一個列出所需頁面的數組,每個頁面都由一個 WP_Post 對象表示。我們現在將通過僅檢索一個頁面來了解此對像中包含的內容。要檢索頁面,請使用 get_post()
函數。為此函數提供頁面的 ID,您將獲得表示此頁面的對象:
<?php wp_list_pages(array( 'authors' => '2,7' )); ?>
此對像中提供了多條信息,每條信息都是一個屬性。例如,可以使用 ID 屬性獲取頁面的 ID:
<?php wp_list_pages(array( 'include' => '7,53,8' )); ?>
post_content
允許您檢索頁面的內容,而其標題位於 post_title
屬性中。 post_name
屬性包含頁面的 slug(其 URL 中表示頁面標題的部分)。
頁面作者的 ID 由 post_author
屬性給出。您還可以使用 post_date
檢索其創建日期,使用 post_modified
檢索其最後修改日期。 post_status
屬性允許您了解頁面的狀態(例如已發布或草稿)。
父頁面的 ID 可以使用 post_parent
屬性獲得,menu_order
將為您提供在創建頁面時指示的順序。
結論
如果您想向您的網站添加一些靜態的、永久性的信息,那麼 WordPress 頁面是解決方案。
如果您正在開發主題,WordPress 頁面 API 的函數非常有用。例如,您可以列出頁腳中的某些頁面,或創建小部件來執行此操作,以便您的用戶可以在任何他們想要的地方列出頁面。
WordPress 頁面和頁面 API 的常見問題解答
WordPress 頁面和文章是兩種不同類型的內容。頁面是靜態的,不受時間影響,而文章是與時間相關的,用於動態內容。頁面通常用於內容不會經常更改的內容,例如“關於我們”或“聯繫我們”頁面。另一方面,文章用於博客、新聞更新和其他定期更新的內容。
WordPress REST API 提供了 WordPress 數據類型的端點,允許通過 HTTP 協議與您的 WordPress 網站進行交互。要檢索頁面內容,您可以向 /wp/v2/pages
端點發送 GET 請求。這將返回一個 JSON 對象,其中包含您網站上的所有頁面。您還可以通過將頁面 ID 附加到端點來檢索特定頁面,例如 /wp/v2/pages/<id></id>
。
要使用 WordPress REST API 創建新頁面,您可以向 /wp/v2/pages
端點發送 POST 請求。請求應包含一個 JSON 對象,其中包含頁面的標題、內容和狀態。狀態可以是“發布”、“待定”、“草稿”或“私有”。 API 將返回一個 JSON 對象,其中包含新創建頁面的詳細信息。
要使用 WordPress REST API 更新頁面,您可以向 /wp/v2/pages/<id></id>
端點發送 POST 請求,其中 <id></id>
是您要更新的頁面的 ID。請求應包含一個 JSON 對象,其中包含更新的標題、內容或狀態。 API 將返回一個 JSON 對象,其中包含更新頁面的詳細信息。
要使用 WordPress REST API 刪除頁面,您可以向 /wp/v2/pages/<id></id>
端點發送 DELETE 請求,其中 <id></id>
是您要刪除的頁面的 ID。 API 將返回一個 JSON 對象,其中包含已刪除頁面的詳細信息。
要使用 WordPress REST API 檢索所有頁面的列表,您可以向 /wp/v2/pages
端點發送 GET 請求。這將返回一個 JSON 對象,其中包含您網站上所有頁面的列表。
要使用 WordPress REST API 檢索所有已發布頁面的列表,您可以向 /wp/v2/pages
端點發送 GET 請求,並將“status”參數設置為“publish”。這將返回一個 JSON 對象,其中包含您網站上所有已發布頁面的列表。
要使用 WordPress REST API 檢索所有草稿頁面的列表,您可以向 /wp/v2/pages
端點發送 GET 請求,並將“status”參數設置為“draft”。這將返回一個 JSON 對象,其中包含您網站上所有草稿頁面的列表。
要使用 WordPress REST API 檢索所有私有頁面的列表,您可以向 /wp/v2/pages
端點發送 GET 請求,並將“status”參數設置為“private”。這將返回一個 JSON 對象,其中包含您網站上所有私有頁面的列表。
要使用 WordPress REST API 檢索所有待定頁面的列表,您可以向 /wp/v2/pages
端點發送 GET 請求,並將“status”參數設置為“pending”。這將返回一個 JSON 對象,其中包含您網站上所有待定頁面的列表。
以上是了解WordPress頁面和頁面API的詳細內容。更多資訊請關注PHP中文網其他相關文章!