2012-12-23 317 views
1

我想在wordpress中製作幻燈片,我爲它製作了一個類別,現在我想爲我的幻燈片顯示該類別的圖像。這裏是我的代碼的一部分:在Wordpress中獲取圖像

<div id="slide-show"> 
    <ul> 
     <?php query_posts('cat=1'); while(have_posts()): the_post();?> 
     <li> 
      <a href="<?php the_permalink();?>"> 
      <img src="<?php 
      $image=wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), 'thumbnail'); 
      echo $image[0];?>" alt="<?php the_title();?>" /></a> 
     </li> 
     <?php endwhile; wp_reset_query();?> 
    </ul> 
</div> 

但它不起作用。有人可以幫我嗎?

+0

@Pekka:我已經試過 –

+0

什麼是不工作?列表是否被解析,但src屬性爲空? – Mark

+0

你解決了這個問題嗎? – brasofilo

回答

0

首先,我會repeat自己:

所有的

首先,不使用query_posts
請檢查:


在這種情況下,我建議建立一個函數來創建所需的輸出。你把它放在你的主題functions.php文件中。把它放在文件的末尾。
如果有任何?>作爲PHP文件的最後一件事,刪除它,這是沒有必要的,可能會破壞你的網站,如果後有任何空白

這就是說,我們的功能將打印確切的HTML你想,它被稱爲像這樣任何主題模板文件(index.phpsingle.phppage.php等)。

<?php get_gallery(4); ?> 

數字4是類別ID。

這是功能,檢查代碼中的註釋:

function get_gallery($id) 
{ 
    // Simple query 
    $posts = get_posts(array(
     'category' => $id, 
     'post_status' => 'publish', 
     'post_type' => 'post', 
    )); 

    // Start building the Html code 
    $slide_show = ' 
     <div id="slide-show"> 
      <ul>'; 

    // Iterate through the results 
    foreach ($posts as $post) 
    { 
     // Assign value and test if it exists at the *same time* 
     if($thumb = get_post_thumbnail_id($post->ID)) 
     { 
      $permalink = get_permalink($post->ID); 
      $image = wp_get_attachment_image_src($thumb); 

      // Build the Html elements 
      $slide_show .= ' 
       <li> 
        <a href="' . $permalink . '"> 
        <img src="'. $image[0] . '" alt="' . $post->post_title .'" /> 
        </a> 
       </li>'; 
     } 
    } 

    // Finish the Html 
    $slide_show .= ' 
      </ul> 
     </div> 
    '; 

    // Print the Html 
    echo $slide_show; 
} 

結果:
html output screenshot

相關問題