2016-01-31 41 views
1

我在functions.php中創建了一個名爲bateau的自定義帖子類型。我還創建了一個頁面,其中顯示屬於bateau自定義帖子類型的所有帖子,其中顯示了一些最重要的字段。最後,當我點擊其中一個帖子時,鏈接會將我發送到相關的自定義帖子頁面,即特定類型的船。正確顯示縮略圖with_post_thumbnail()

自定義帖子bateau擁有自己的自定義字段,縮略圖以及自定義分類法。

我想要檢索並顯示,當我在一個特定的船的頁面上,不僅是最重要的,但它的所有自定義字段,它的縮略圖和它的分類。

所以,在functions.php中,我寫了這個過濾器:

add_filter('the_content','add_text'); 

    function add_text($text) { 

     global $post; 
     $text = ""; 

     if($post->post_type == 'bateau') { 

     $text.= "<h1 class=\"bateau-entry-title\">".get_post_meta($post->ID, 'bateau_nom', true)."</h1>"; 
     return $text; 
     } 
    } 

它工作得很好,只要我不關閉和開啓PHP標籤中寫純HTML文本,即它只能如果我將所有的HTML包裝在一個PHP文本var中。如果我不這樣做,內容也會顯示在標題的開頭,不是一次,而是兩次。奇怪,不是嗎?

如果我加入這一行:

$text.= "<img class=\"thumb\" src=\"the_post_thumbnail(); 

縮略圖正確顯示在「物品」 ......但是,你猜怎麼着,也是在報頭的開始,而不是一次,而是兩次!我無法找到縮略圖爲什麼會像這樣。任何人都可以幫忙嗎?

回答

0

在WordPress,你叫頁:

當我一個特定的船

的頁面上被稱爲single 。而不是把一個過濾器上使用the_content

add_filter('the_content','add_text'); 

你最好添加任何你想要的循環。要做到這一點,你可以創建一個名爲single-bateau.php文件(這是一個協議,所以你需要準確地將其命名爲這個)你的當前主題的根目錄下,有可能是您的循環:

if(have_posts()){ 
    while(have_posts()){ 
     the_post(); 
     the_title(); 
     if(has_post_thumbnail()){ 
      the_post_thumbnail($thumb_size); 
     } 
     the_taxonomies(); 
     the_category(); 
     the_tags(); 
    } 
} 
0

如果您使用the_post_thumbnail(),我認爲您不需要img標記。

嘗試做這樣的事情:

if (has_post_thumbnail()) 
    the_post_thumbnail(); 
+0

這不是這個問題的答案。請仔細閱讀這個問題 – Trix