2015-04-29 34 views
0

這個問題是關於WordPress的。 我在我的文章中有一個自定義元。 我需要能夠改變我的頁腳(添加特定的標誌 - S),這取決於哪個元標籤出現在帖子中。 邏輯對我來說很清楚。WP:從循環內改變footer.php

問題是如何到達循環內的footer.php。或者我需要在footer.php中創建另一個? 問題我無法通過JS處理頁腳內容,因爲當循環發生時,頁面上不存在頁腳。

+0

製作您自己的循環。 – MilanG

+0

您可以通過腳本文件中的php代碼檢查自定義元,並提供條件以顯示根據自定義後期元顯示哪個頁腳。 –

回答

1

您可以從主題中的任何地方拉元;即使在循環之外。頁眉,頁腳等簡單地通過get_the_ID()作爲get_post_meta()的第一個參數。

get_the_ID()檢索正在查看的帖子/頁面的ID。

例子:

<?php $logo_meta = get_post_meta(get_the_ID(), 'metaFieldName', true); ?> 

<?php if ($logo_meta) echo $logo_meta; ?> 

,使其更簡單:

<?php echo get_post_meta(get_the_ID(), 'myMetaFieldName', true); ?> 

或者假設你只存儲徽標圖像(URL)作爲meta值的src,這樣的事情會做技巧:

<?php 
$logo_image_src = get_post_meta(get_the_ID(), 'myMetaFieldName', true); 
if ($logo_image_src) 
    echo '<img src="'.$logo_image_src.'" alt="theLogoAltTag" />; 
?> 

另外,根據項目是否通過WP媒體庫上傳,y ou可以將媒體項目的ID存儲在後期meta中,並通過wp_get_attachment_image_src()檢索圖像src。

+0

非常感謝!我認爲get_the_ID()只能在循環內工作,正如文檔中所寫的那樣!邏輯是另一個,但感謝功能!這是我尋找的。如果頁面已經建好,我不知道如何返回id。我想這是因爲get_footer是一個函數。 https://codex.wordpress.org/Function_Reference/get_the_ID –

+0

@Kim Ris沒問題! =)這是我的理解,整個頁面在主循環內。如果你使用'get_posts()'或'WP_Query()'在主循環中有多個循環,則每個循環都應該被重置以恢復原始數據。從而留下原始頁面數據供以後使用(在頁腳中)。 – rbcummings