如何在 WordPress 中以編程方式創建帖子和頁面
已發表: 2021-09-16您是否正在尋找向您的網站添加帖子和頁面的替代方法? 你來對地方了。 在本指南中,我們將向您展示如何在 WordPress 中以編程方式創建帖子和頁面。
作為世界上最大的內容管理系統 (CMS),發布帖子和頁面是其主要功能之一。 最初,創建 WordPress 是為了幫助網站所有者創建和管理他們的網站。 如今,它已成為各種網站的完整解決方案。
除了在博客和在線商店中流行之外,還有許多其他類型的網站使用 WordPress 構建,從目錄到目錄再到工作委員會、維基、個人作品集、論壇,甚至社交媒體網絡。
所有網站(靜態網站除外)都會以一定的頻率發布某種類型的內容。 與產品、評論、評論等其他類型相比,帖子和頁面是最基本的內容類型。
在我們了解為什麼以及如何以編程方式創建帖子和頁面之前,讓我們更好地了解它們之間的區別。 這將幫助您遵循良好的做法並避免任何可能的問題。
帖子和頁面之間的區別
1) 帖子
在 WordPress 中,帖子是網站向用戶提供有價值和更新內容的方式。 預計網站會定期發布帖子,但根據網站類型的不同會有很大差異。 新聞博客會比公司網站更頻繁地發佈內容,因此網站上的帖子數量可能會有很大差異。
帖子通常在網站上按時間倒序排列。 這意味著最新發布的帖子將顯示在列表頂部。 但您也可以將帖子設為置頂並將其永久顯示在您網站的某個位置。
當您擁有一個包含數百甚至數千個帖子的大型網站時,正確使用分類法是讓用戶輕鬆找到任何帖子的關鍵。 請記住,他們將瀏覽類別和子類別,查看標籤列表並使用搜索框。 有關這方面的更多信息,請查看我們關於如何向菜單添加類別的帖子。
2) 頁面
與帖子不同,頁面旨在比帖子更靜態。 但是,它們通常包含不斷更新的內容。 例如,商店頁面或類別頁面肯定會有更新的內容,但它們仍然是頁面,因為您不會為每次產品更新發布新的商店頁面。
“關於我們”、“我們是誰”、“聯繫方式”或“文檔”等頁面主要是靜態內容,因此它們通常不會經常更新。
帖子和頁面之間的另一個區別是標籤和類別。 帖子可以有類別和標籤,以方便他們的組織和用於搜索框,而頁面缺乏分類法。
有關這方面的更多信息,請查看我們的指南,該指南解釋了創建頁面的不同方法。 此外,我們建議您查看我們的教程以更改 WordPress 中的帖子類型。
為什麼以編程方式創建帖子和頁面?
您可能知道如何從 WordPress 儀表板創建帖子和頁面。 您只需轉到帖子/頁面 > 添加新內容並添加名稱、內容、選擇類別等。
但是,如果您正在處理更高級的項目,則可能需要替代解決方案。 例如,如果您需要自動化發布過程以滿足特定要求或限制某些用戶的訪問。 如果是這種情況,學習以編程方式創建 WordPress 帖子和頁面將非常有用。
如何以編程方式發布WordPress帖子和頁面
在本節中,我們將向您展示如何在 WordPress 中以編程方式創建帖子和頁面。 我們將在下面解釋代碼,但建議您具備一些編程技能以使該過程更容易。
注意:由於我們將編輯一些核心文件,因此在開始之前,我們建議您備份您的站點。 最重要的是,如果您還沒有子主題或使用這些子主題插件中的任何一個,請創建一個子主題。
如何發布帖子
這是將自動發布帖子的完整腳本以及下面代碼的解釋。 請記住,您必須將代碼粘貼到子主題的functions.php
文件中
add_action('admin_init', 'QuadLayers_publish_post'); 函數 QuadLayers_publish_post() { 如果(get_option('post_is_published_01')!='是'){ $postType = '發布'; $用戶ID = 1; $categoryID = '1'; $postStatus = '發布'; $leadTitle = '發表了一篇文章'.date("n/d/Y"); $leadContent = '<h1>以編程方式發布</h1><p>此帖子以編程方式發布,元選項另存為 <b>post_is_published_01</b>。 子主題的functions.php文件中的一個PHP腳本。</p>'; $leadContent .= ' <!--more--><p>它們很貴,但完全值得。</p>'; # 構建時間和日期 $timeStamp = $minuteCounter = 0; $iCounter = 1; $分鐘增量 = 1; $adjustClockMinutes = 0; $minuteCounter = $iCounter * $minuteIncrement; $minuteCounter = $minuteCounter + $adjustClockMinutes; $timeStamp = date('Ymd H:i:s', strtotime("+$minuteCounter min")); # 建立帖子 $new_post = 數組( 'post_title' => $leadTitle, 'post_content' => $leadContent, 'post_status' => $postStatus, 'post_date' => $timeStamp, 'post_author' => $userID, 'post_type' => $postType, 'post_category' => 數組($categoryID) ); #發佈吧! $post_id = wp_insert_post($new_post); update_option('post_is_published_01', '是'); } }
由於我們在發布之前無法知道帖子是否存在,因此我們需要在發布帖子的地方註冊。 如果我們不這樣做,我們的帖子將在每次加載後端屏幕時發布。
數據庫的選項表是執行此操作的正確位置。 在發布帖子後,我們使用update_option()
函數存儲了一個名為post_is_published_01
的選項。 並使用get_option()
檢查選項是否存在。 如果數據庫中存在此選項,則腳本不會執行任何操作。
要再次運行腳本,您只需將選項名稱更改為post_is_published_02
或任何您想要的名稱。
在if()
條件中,您可以看到我們如何在第一個塊上定義帖子的內容。 我們需要準備時間和日期以匹配 WordPress 的要求。
最後,負責發布帖子的函數是wp_insert_post()
,它附加了函數中聲明的所有先前數據
如何發布頁面
以編程方式發布頁面要簡單一些。 在這個腳本中,我們不會使用數據庫選項來檢查頁面是否已經發布。
由於頁面與帖子的功能不同,並且帖子和頁面的 WordPress 功能不同,我們可以使用get_page_by_title()
函數來檢查我們之前是否發布過具有相同標題的頁面。 然後我們插入有關頁面的信息,例如作者、標題、名稱等。
使用以下腳本在您的 WordPress 網站上發布頁面:
add_action('admin_init', 'QuadLayers_publish_page'); 函數 QuadLayers_publish_page(){ $check_page_exist = get_page_by_title('頁面以編程方式發布', 'OBJECT', 'page'); 如果(空($check_page_exist)){ $page_id = wp_insert_post( 大批( 'comment_status' => '關閉', 'ping_status' => '關閉', 'post_author' => 1, 'post_title' => ucwords('頁面以編程方式發布'), 'post_name' => strtolower(str_replace(' ', '-', trim('頁面以編程方式發布'))), 'post_status' => '發布', 'post_content' => '<p>這是頁面內容,此處允許使用html標籤</p>', 'post_type' => 'page', 'post_parent' => 'id_of_the_parent_page_if_it_available' ) ); } }
結論
總之,在本指南中,我們看到了帖子和頁面之間的一些關鍵區別。 帖子往往更加動態並且具有分類法和類別,而頁面往往更加靜態並且沒有分類法。
即使在 WordPress 中,您可以使用內置編輯器輕鬆創建頁面和帖子,但在某些情況下通過一些編碼來學習這樣做對於自動化發布過程以滿足特定要求很有用。 如果這是您的情況,學習如何以編程方式創建帖子和頁面可以讓您的生活更輕鬆。
在本指南中,我們了解瞭如何創建帖子和頁面以及腳本中的差異。 我們鼓勵您以這些腳本為基礎並為您的站點定制它們。
您是否嘗試過使用一些代碼創建帖子和頁面? 它是否按您的預期工作? 在下面的評論部分讓我們知道!
如果您喜歡這篇文章,您可能還對以下內容感興趣:
- 如何重定向 WordPress 頁面
- 如何在WordPress中轉換帖子類型
- 以編程方式創建 WordPress 自定義帖子類型的指南