如何在 WordPress 中創建自定義單個帖子模板

已發表: 2022-09-01


您想在 WordPress 中創建自定義的單個帖子模板嗎?

自定義單個帖子模板允許您為各個博客帖子使用不同的佈局。 許多 WordPress 主題都帶有一些不同的頁面模板,如果需要,您也可以創建自己的模板。

在本文中,我們將向您展示如何在 WordPress 中輕鬆創建自定義單個帖子模板。 我們將分享多種方法,因此您可以選擇最適合您需求的一種。

How to Create Custom Single Post Templates in WordPress

您何時需要自定義單個帖子模板?

有時,您可能希望 WordPress 網站上的某些帖子具有不同的外觀和感覺。 例如,您可能希望對特定類別中的特色文章或故事使用不同的佈局。

這是您需要在 WordPress 中自定義單個帖子模板的地方。

默認情況下,WordPress 使用基於 WordPress 模板層次結構的單個帖子模板。 所有主題都帶有一個 single.php 模板,默認情況下,這將用於您的所有單個帖子。

某些主題還可能包含您可以使用的其他模板或佈局選擇。

這與創建自定義頁面模板非常相似。 大多數 WordPress 主題還附帶頁面模板,您可以在 WordPress 中編輯帖子或頁面時使用這些模板。

選擇頁面模板

話雖如此,讓我們看看如何在 WordPress 中輕鬆創建自定義單篇文章模板。 我們將向您展示多種方法,以便您使用最適合您的一種。

  • 使用塊編輯器創建單個帖子模板
  • 使用 SeedProd 創建自定義單個帖子模板
  • 使用主題設置創建單個帖子佈局
  • 使用代碼手動創建自定義單個帖子模板
  • 按類別創建自定義單個帖子模板
  • 為特定作者創建自定義單個帖子模板

使用塊編輯器創建單個帖子模板

這種方法並沒有真正創建帖子模板,並且靈活性有限。 但是,這是保存您自己的單個帖子佈局然後重複使用它們的最簡單方法。

默認的 WordPress 塊編輯器帶有一個內置功能,允許您保存和重用塊。 一個這樣的可重用塊是組塊。

組塊允許您將多個塊和整個帖子佈局放入一個組中。 然後,您可以保存此組塊並在您的其他帖子中重複使用它。

讓我們看看如何使用組塊來保存您的自定義帖子模板。

首先,您需要在 WordPress 中創建一個新帖子。 之後,只需將組塊添加到內容區域。

添加組塊

現在您可以開始將塊添加到組塊中,為您的 WordPress 博客創建單個帖子佈局。

您可以添加任何您想要的塊,包括列、媒體和文本、封面圖像等。

將塊添加到組

對創建的佈局感到滿意後,您需要抬起鼠標並選擇組塊。

只需單擊三點菜單圖標,然後選擇“添加到可重用塊”選項。

添加可重用塊

接下來,您需要為可重用塊提供名稱,然後單擊“保存”按鈕。 WordPress 現在將保存您的可重用塊,包括組塊內的所有塊。

然後,您可以編輯您網站上的任何現有帖子或創建一個新帖子。 在帖子編輯屏幕上,只需單擊添加新塊按鈕,然後在“可重複使用”選項卡下查找您保存的塊。

重用塊

將塊添加到您的帖子中,WordPress 將在您保存它們時加載您的整個組塊以及所有塊和設置。

此方法允許您保存自定義佈局。 但是,它不允許您更改主題處理單個帖子的方式。

如果您想要更大的靈活性,請繼續閱讀下一步。

使用 SeedProd 創建自定義單個帖子模板

創建自定義單個帖子模板的最簡單方法是使用 SeedProd。 它是最好的 WordPress 網站構建器插件,無需編寫任何代碼即可創建漂亮的網站佈局和自定義模板。

您可以使用 SeedProd 的拖放構建器來創建完全自定義的 WordPress 主題,包括自定義單個帖子模板。

您需要做的第一件事是安裝並激活 SeedProd 插件。 有關更多詳細信息,請參閱我們關於如何安裝 WordPress 插件的分步指南。

激活後,您需要輸入您的許可證密鑰。 您可以在 SeedProd 網站上的帳戶下找到此信息。

SeedProd license key

之後,是時候創建一個自定義的 WordPress 主題了。 這比聽起來要簡單得多。

創建自定義 WordPress 主題

首先,您需要前往SeedProd » Theme Builder頁面。 在這裡,您將使用 SeedProd 的現成主題之一作為起點。 這將用新的自定義設計替換您現有的 WordPress 主題。

您可以通過單擊“主題”按鈕來做到這一點。

Create your custom theme

您將看到專為不同類型網站設計的專業設計主題列表。 例如,有名為“Modern Business”、“Marketing Agency”和“Mortgage Broker Theme”的模板。

查看選項並通過單擊複選標記圖標選擇最符合您需求的選項。

Select a Theme That Matches Your Needs

一旦您選擇了一個主題,SeedProd 將生成您需要的所有主題模板,包括一個用於單個頁面和另一個用於單個帖子。

每個模板都設置了有吸引力的佈局和易於定制的佔位符內容。

SeedProd 為您的主題創建您需要的所有模板

要了解有關使用 SeedProd 創建主題的更多信息,請參閱我們的指南,了解如何在沒有任何代碼的情況下輕鬆創建自定義 WordPress 主題。

自定義默認單個帖子模板

SeedProd 使用拖放頁面構建器可以輕鬆自定義默認的“單篇文章”模板。

只需單擊模板下的“編輯設計”鏈接。 這將在 SeedProd 的可視化編輯器中打開您的帖子模板。

單擊單個帖子模板下的“編輯設計”鏈接

SeedProd 的可視化編輯器有 2 列佈局。 在左側,您會找到可以添加到設計中的塊和部分。 右側是模板預覽,您可以在其中實時查看更改。

SeedProd 可視化編輯器塊和部分

自定義帖子模板的佈局也很容易。 只需單擊任何塊即可在左欄中查看其設置。

例如,如果您單擊帖子標題,那麼您將能夠看到其設置。 現在您可以更改對齊方式、字體大小、標題級別等。

單擊一個塊以更改其設置

單擊“高級”選項卡可以更改字體顏色、間距和其他樣式。

您可以通過將其他塊從左列拖到預覽列中來添加它們。 SeedProd 使用模板標籤來提取動態內容,如帖子標題、特色圖片、評論等。 這使您可以將內容添加到模板,而無需單獨編輯每個帖子。

例如,您可以在帖子內容的末尾添加一個帖子塊。 這將顯示您的訪問者在完成當前帖子後可能希望閱讀的最新帖子。 此塊將自動顯示在使用此模板的所有帖子上。

在單個帖子模板的底部添加帖子塊

接下來,您可以更改帖子塊的設置以自定義顯示的內容。

例如,您可以顯示特定類別的內容、使用兩列佈局以及更改顯示的帖子數量。

SeedProd 帖子塊設置

隨意花時間嘗試不同的塊並探索它們的設置。

創建您想用作帖子模板的內容後,是時候通過單擊右上角的綠色“保存”按鈕來保存它了。 之後,您可以通過單擊“X”關閉圖標來關閉 SeedProd 可視化編輯器。

完成後,保存單個帖子模板

您可以以相同的方式自定義 WordPress 主題的其餘部分。 但是,如果您需要一點幫助,請參閱我們的分步指南,了解如何使用 SeedProd 創建自定義 WordPress 主題。

當您對所有外觀感到滿意時,請確保將“啟用 SeedProd 主題”開關切換到打開位置。 您的 WordPress 網站現在將使用您的 SeedProd 主題和自定義單個帖子模板。

啟用 SeedProd 主題

使用主題設置創建自定義單個帖子佈局

許多流行的 WordPress 主題都帶有內置設置,可以自定義單個帖子模板的外觀。

如果您的主題支持這些設置,那麼您將能夠在帖子編輯屏幕上找到它們。 可用選項可能會因您使用的主題而異。

例如,Astra 主題在編輯單個帖子時提供自定義選項。 使用這些選項,您可以更改邊欄、隱藏標題、標題、菜單等。

Astra 主題單篇文章模板定制

另一方面,許多頂級 WordPress 主題都帶有可供您使用的現成模板。

如果您的主題包含單個帖子模板,那麼您將在編輯帖子時在“模板”或“帖子屬性”面板下找到它們。

寫一篇文章時選擇模板

這些模板是完整的佈局,您無需配置即可使用。

使用代碼手動創建自定義單個帖子模板

這種方法有點高級,因為它需要您編輯主題文件、複製和粘貼代碼,並可選擇添加自定義 CSS。 如果您以前沒有這樣做過,請查看我們的教程,了解如何在 WordPress 中復制和粘貼代碼。

首先,您需要在您的計算機上打開一個純文本編輯器,例如記事本,然後在其中粘貼以下代碼:

<?php
/*
 * Template Name: Featured Article
 * Template Post Type: post, page, product
 */
  
 get_header();  ?>

此代碼定義了一個名為“精選文章”的新模板,並使其可用於帖子、頁面和產品帖子類型。

您應該將此文件保存為桌面上的wpb-single-post.php 。 接下來,您需要將模板添加到您的 WordPress 網站。 為此,您需要使用 FTP 客戶端將文件上傳到您當前的主題文件夾。

現在您可以登錄到您的 WordPress 管理區域並創建或編輯帖子。 在帖子編輯屏幕上向下滾動一點,您會注意到一個新的“模板”面板或“帖子屬性”元框,其中包含選擇模板的選項。

選擇您的自定義帖子模板

您將在此處看到您的“精選文章”自定義模板。

現在你的模板基本上是空的,所以選擇它只會顯示一個白屏。

讓我們解決這個問題。

最簡單的方法是從主題的 single.php 文件中復制代碼並將其用作起點。 您必須打開 single.php 文件,然後復制get_header()行之後的所有內容。

接下來,您需要將此代碼粘貼到wpb-single-post.php文件的末尾。 現在您可以保存此文件並將其上傳回您的服務器。

但是,這看起來與您當前的單個帖子模板完全相同。 您現在可以開始更改您的自定義單個帖子模板。

您可以添加自己的自定義 CSS 類、刪除邊欄、創建全寬模板或任何您想要的。

按類別創建自定義單個帖子模板

您想使用基於類別的自定義單個帖子模板嗎? 例如,您可以為旅行類別中的帖子提供與攝影類別中的帖子不同的佈局。

您可以使用 SeedProd Theme Builder 或代碼來做到這一點。

使用 SeedProd 按類別創建自定義單個帖子模板

之前我們介紹瞭如何自定義 SeedProd Theme Builder 的默認單個帖子模板。 但它並不止於此。 使用 SeedProd,您可以添加任意數量的自定義帖子模板,例如每個帖子類別的不同佈局。

要添加新的單個帖子模板,只需單擊原始帖子模板下的“複製”鏈接。 將創建一個名為“Single Post – Copy”的新模板並將其添加到主題模板頁面的頂部。

通過複製默認帖子模板創建新帖子模板

您可以按照與之前自定義默認 Single Post 模板相同的方式自定義新模板。 只需單擊模板的“編輯設計”鏈接,然後使用 SeedProd 的可視化編輯器進行任何您喜歡的更改。

完成自定義模板後,您需要添加一些條件,以便 SeedProd 知道哪些帖子應該使用此模板。 在這種情況下,我們希望它在查看單個類別中的帖子時顯示。

單擊“編輯條件”鏈接

您可以通過單擊模板的“編輯條件”鏈接來執行此操作,然後會彈出一個新窗口。

您可以在此處為模板指定名稱和優先級。 默認的 Single Post 模板的優先級為 0,因此請確保為該模板提供更高的優先級,以便它顯示在匹配的類別中。

添加條件以顯示特定類別的模板

在“條件”下,從第二個下拉菜單中選擇“有類別”,然後在最後一個字段中輸入類別的名稱。 例如,如果您只希望攝影類別中的帖子使用此佈局,請輸入“攝影”。

完成後,單擊“保存”按鈕,現在此模板將用於匹配類別中的所有帖子。

這是在 WordPress 中創建多個自定義帖子模板的最簡單方法。 它不需要任何代碼知識,也不會意外弄亂任何主題文件。

使用代碼按類別創建自定義單個帖子模板

對於那些喜歡將代碼添加到主題文件的人來說,這是另一種方法。

首先,您需要將此代碼添加到主題的 functions.php 文件或代碼片段插件中。

/*
* Define a constant path to our single template folder
*/
define(SINGLE_PATH, TEMPLATEPATH . '/single');
 
/**
* Filter the single_template with our custom function
*/
add_filter('single_template', 'my_single_template');
 
/**
* Single template function which will choose our template
*/
function my_single_template($single) 
global $wp_query, $post;
 
/**
* Checks for single template by category
* Check by category slug and ID
*/
foreach((array)get_the_category() as $cat) :
 
if(file_exists(SINGLE_PATH . '/single-cat-' . $cat->slug . '.php'))
return SINGLE_PATH . '/single-cat-' . $cat->slug . '.php';
 
elseif(file_exists(SINGLE_PATH . '/single-cat-' . $cat->term_id . '.php'))
return SINGLE_PATH . '/single-cat-' . $cat->term_id . '.php';
 
endforeach;

此代碼首先檢查 WordPress 是否請求單個帖子。 如果是,那麼它會告訴 WordPress 在您的 WordPress 主題的/single/文件夾中查找模板。

現在您需要添加此代碼定義的模板文件。

使用 FTP 客戶端或 cPanel 中的文件管理器連接到您的 WordPress 主機,然後轉到/wp-content/themes/your-theme-folder/

在您當前的主題文件夾中,您需要創建一個名為“single”的新文件夾。 接下來,您需要打開此文件夾並在其中創建一個新文件。 繼續將此文件命名為single-cat-category-slug 。 將 category-slug 替換為您的實際類別 slug。

例如,如果您有一個名為“新聞”的類別,那麼您將創建single-cat-news.php文件。 如果您有一個名為“Travel Tips”的類別,則創建一個模板single-cat-travel-tips.php ,依此類推。

為類別創建單個帖子模板

現在,這些模板文件將完全是空的。 作為起點,您可以從主題文件夾中復制 single.php 文件的內容並將它們粘貼到每個模板中​​。 之後,您需要編輯這些模板以進行所需的更改。

完成後,您可以訪問您的網站並查看帖子。 它將使用您為提交此帖子的類別創建的模板。

現在讓我們假設您在新聞和旅遊小貼士兩個類別中提交了一個帖子。 WordPress 將自動顯示“新聞”的模板,因為它按字母順序首先出現。

另一方面,如果您在某個類別中提交了帖子並且沒有為該類別創建模板,那麼 WordPress 將回退到您主題的默認 single.php 模板。

為特定作者創建自定義單個帖子模板

假設您希望特定作者撰寫的帖子在您的網站上看起來有所不同。 您可以按照我們為類別展示的相同技術使用代碼來做到這一點。

首先,您需要將此代碼添加到主題的 functions.php 文件或代碼片段插件中。

/**
* Define a constant path to our single template folder
*/
define(SINGLE_PATH, TEMPLATEPATH . '/single');
 
/**
* Filter the single_template with our custom function
*/
add_filter('single_template', 'my_single_author_template');
 
/**
* Single template function which will choose our template
*/
function my_single_author_template($single) 
global $wp_query, $post;
 
/**
* Checks for single template by author
* Check by user nicename and ID
*/
$curauth = get_userdata($wp_query->post->post_author);
 
if(file_exists(SINGLE_PATH . '/single-author-' . $curauth->user_nicename . '.php'))
return SINGLE_PATH . '/single-author-' . $curauth->user_nicename . '.php';
 
elseif(file_exists(SINGLE_PATH . '/single-author-' . $curauth->ID . '.php'))
return SINGLE_PATH . '/single-author-' . $curauth->ID . '.php';
 

接下來,您應該使用 cPanel 中的 FTP 或 cPanel 文件管理器連接到您的網站,然後轉到/wp-content/themes/your-theme-folder/ 。 如果您尚未在其中創建名為 /single/ 的文件夾,請立即創建它。

在此文件夾中,您需要使用模板名稱中的作者用戶名創建一個模板。 例如, single-author-johnsmith.php

此模板將為空,因此您可以復制並粘貼主題的 single.php 模板的內容並將其用作起點。

您現在可以訪問您的網站以查看由特定作者創建的帖子。 它將使用您創建的模板。

我們希望本文能幫助您了解如何在 WordPress 中創建自定義單篇文章模板。 您可能還想了解如何跟踪訪問您的 WordPress 網站的網站訪問者,或查看我們的必須擁有 WordPress 插件以發展您的網站的列表。

如果您喜歡這篇文章,請訂閱我們的 YouTube 頻道以獲取 WordPress 視頻教程。 您也可以在 Twitter 和 Facebook 上找到我們。

如何在 WordPress 中創建自定義單個帖子模板的帖子首次出現在 WPBeginner 上。