2013-11-23 46 views
0

我正在組合網站上工作。無論何時點擊一個投資組合件,用戶都會被帶到顯示有關該件件細節的頁面(即更多照片和信息)。還會有上一個和下一個導航鏈接,以獲得更多的作品。但是,我希望上一個和下一個導航鏈接是下一個作品的縮略圖照片(自定義字段是thumbnail_photo)。這是我到目前爲止有:WordPress的 - 不能輸出圖像(從自定義字段)的上一篇和下一篇帖子

<?php 
    $previous_post = get_previous_post(); 
    $next_post = get_next_post(); 
    $prev_value = get_post_meta($previous_post->ID, 'materials', $single = true); 
    $next_value = get_post_meta($next_post->ID, 'thumbnail_photo', $single = true); 
?> 

     <p><?php echo $prev_value; ?></p> 
     <p><?php echo $next_value; ?></p> 

我用「材料」的號召$ prev_value因爲「材料」是另一個自定義字段。我只是想看看它是否真的有效。它輸出的材料很好,但它只輸出thumbnail_photo的ID號。我無法讓它引用文件名,以便我可以輸出實際的圖像。

我使用高級自定義字段插件,因此每個圖像都作爲圖像對象存儲。因此,這是怎樣我通常會輸出一個縮略圖:

<?php 
    $image = get_field('thumbnail_photo); 
    echo $image[sizes]["thumbnail"]; // thumbnail is a reference to wordpress' thumbnail media size 
?> 

回答

0

在配置ACF輸入字段,請確保您設置的返回值是一個圖像對象代替圖像ID的改變這個之後,或者如果你已經改變了,你必須更新你試圖得到的帖子或帖子。因爲,如果將字段返回值設置爲圖像ID,則創建帖子,現在您要更改其值,必須修改所有帖子,因爲每個post_meta都包含圖像的ID。

ACF website有教程,你怎麼能拿值的轉成圖片:

隨着ID

<?php 
    wp_get_attachment_image($next_value, 'thumbnail'); 
?> 

另一個示例在ID,但是這時候你要創造的形象HTML,該函數返回的URL,寬度和高度數組

<?php 

$image = wp_get_attachment_image_src($next_value, 'thumbnail'); 
// url = $image[0]; 
// width = $image[1]; 
// height = $image[2]; 
?> 
<img src="<?php echo $image[0]; ?>" /> 

你可以對返回值做了檢查,然後寫的形象,前充足:

<?php 
if(is_int($next_value)) { 
    wp_get_attachment_image($next_value, 'thumbnail'); 
} elseif (is_object($next_value)) { 
    echo $next_value['sizes']['thumbnail']; 
} else { ?> 
    <img src="<?php the_field('field_name'); ?>" alt="" /> 
<?php } ?> 

我沒有測試它,但我認爲它工作正常。

我希望這個幫助和對不起英文不好意思

+0

謝謝,馬科斯。這工作完美。 – jasonTakesManhattan

相關問題