WordPress獲取所有特色圖像的方法
來源:程序員人生 發布時間:2014-05-15 06:30:04 閱讀次數:2902次
當我們要在WordPress中做一個類似下圖的這種的幻燈片展示功能的時候,首先得獲取到最近的幾張特色圖像(也可以稱為縮略圖)和它所在的文章標題。本文將教你如何從WordPress的數據庫中讀取到你想要的數據。

WordPress的特色圖像數據主要保存在自定義欄目 _thumbnail_id 中,這個_thumbnail_id與一篇文章的id對應,構成一個映射關系,通過這個映射可以獲取到這個特色圖像的地址和文章標題等信息。下面的php代碼用于輸出最近5篇特色圖像的HTML代碼,通過這些HTML,你可以在此基礎上添加JS代碼以達到幻燈片的效果。
以下代碼可能并不能適用于你的項目,但是可以作為參考,通過一些修改,就可以達到你的目的啦。
<ul>
<?php
$arr = array('meta_key' => '_thumbnail_id',
'showposts' => 5, // 顯示5個特色圖像
'posts_per_page' => 5, // 顯示5個特色圖像
'orderby' => 'date', // 按發布時間先后順序獲取特色圖像,可選:'title'、'rand'、'comment_count'等
'ignore_sticky_posts' => 1,
'order' => 'DESC');
$slideshow = new WP_Query($arr);
if ($slideshow->have_posts()) {
$postCount = 0;
while ($slideshow->have_posts()) {
$slideshow->the_post();
?>
<li>
<a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>">
<?php
// 獲取特色圖像的地址
$timthumb_src = wp_get_attachment_image_src( get_post_thumbnail_id(get_the_ID()) );
echo '<img border="0" alt="' . get_the_title() . '" src="' . $timthumb_src[0] . '" /> ';
?>
</a>
</li>
<?php
} // endwhile
wp_reset_postdata();
} // endif
?>
</ul>
以上php代碼輸出的html代碼類似:
<ul>
<li>
<a href="http://example.com/a" title="aaa">
<img border="0" alt="aaa" src="http://example.com/mala.jpg" /> ';
</a>
</li>
<li>
<a href="http://example.com/c" title="ccc">
<img border="0" alt="ccc" src="http://example.com/ditie.jpg" /> ';
</a>
</li>
...
</ul>