2013-03-01 86 views
1

我已經創建了一個將用作主頁的頁面模板。 首頁將包含三列,每列將具有特定meta_key值的頁面摘錄。如何在Wordpress頁面模板中重用代碼?

這個工作的代碼,但它每次重複每列,唯一不同的是meta_key的值。

我對此仍然陌生,所以我不確定什麼是分離包含PHP和HTML的代碼的正確方法?

  • 通過使用PHP include語句?
  • 通過在functions.php中創建一個包含該代碼的函數?
  • 通過使用Wordpress get_template_part函數?
  • 還有別的嗎?

回答

2

最後,你想用什麼將是什麼

  1. 容易理解別人
  2. 方便你

你已經掌握了幹 - 不要重複自己 - 原則。這是非常好的。如果你將來需要改變某些東西,你不希望在多個地方改變同一個東西(這很不方便)。所以如果你在幾個不同的模板文件中重複同樣的事情,你可以使用get_template_part。此功能會使include()過時。

您可以將代碼粘貼到一個函數中,該函數將元鍵作爲參數。這將是一個非常好的解決方案。這將非常方便。問題是,如果有人閱讀這個模板,他們將不會立即知道該函數的外觀,因爲它是你自定義的東西,他們必須找到這個函數才能找到它。

因此,也許最好的辦法是使用foreach循環:

foreach(array('meta_key1', 'meta_key2') as $key) { 
// Your code 
} 

如果代碼不是太長,主要是關於信息顯示與其說處理它,這可能是一個很好的解決方案。但是這隻適用於你想要生成的輸出是相鄰的。否則,你不得不創建一個函數,在這種情況下,你應該把它放在functions.php中。

如果代碼做了大量的信息處理,你應該把它放在functions.php中。模板文件用於顯示內容,並且只需要一點PHP經驗即可讓設計人員閱讀。

(順便說一句,包含PHP和HTML的函數都沒有錯,所有的模板標籤本質上都是這樣的功能,WordPress並不鼓勵真正嚴格的分離。)

相關問題