在Wordpress中查看类别列表中每个帖子的附件缩略图

时间:2012-03-15 23:40:08

标签: wordpress attachment

这就是我想做的...... 在我的网站上,每个帖子都可以有几张图片,但每个帖子都有一张附图,名为:thumbnail {我的帖子的名字},这张特定的图片附在带有多媒体图库的帖子上,这张图片的目的是出现在类别列表中。

<article>
    <p class="the-picture"><img src="url-of-the-picture" /></a>
    <p class="the-post-title"><a href="url-of-the-post">The post title</a></p>
    <p class="the-post-excerpt">The post excerpt</p>
</article>

所以基本上这就是我想做的事情,也许使用get_post(),但我无法弄清楚如何从帖子之外做到这一点。 谢谢你的帮助

2 个答案:

答案 0 :(得分:0)

考虑使用默认后缩略图功能,而不是在帖子后命名图像。

将此添加到您的functions.php

add_theme_support( 'post-thumbnails' );

然后在编辑器上,您将能够选择哪个图像是默认的“特色”图像。要在循环中显示图像,您可以使用the_post_thumbnail()get_the_post_thumbnail(),如下所示:

<p class="the-picture"><?php the_post_thumbnail(); ?></p>

修改

如果您无法使用默认的thumbs functionalilty,也许您可​​以使用add_meta_box();创建另一个帖子字段,并将其包含在update_post_meta();的每个帖子中。

这样你就可以在你的数据库上有一个永久值,告诉你在cat列表中使用哪个拇指,你将能够在category.php上使用get_post_meta()检索它,如下所示:< / p>

<p class="the-picture"><?php echo get_post_meta($post->ID, $cat_picture, true); ?></p>

答案 1 :(得分:0)

好的......这是我到目前为止所发现的: 以下代码将为我提供我所在的类别:

global $wp_query;
global $wpdb;
$cat = get_category( get_query_var( 'cat' ) );

所以,现在有了我可以列出所有帖子的类别:

$posts = get_posts( array( 'category' => $_GET[ 'cat' ] ) );

对于每个帖子,我都可以这样做:

$attachment_id = $wpdb->get_var('
    SELECT ID 
    FROM ' . $wpdb->posts . ' 
    WHERE post_parent = "' . $record->ID . '" AND post_status = "inherit" AND post_type="attachment" AND post_title LIKE "thumb%" 
    ORDER BY post_date DESC 
    LIMIT 1');
$thumb = wp_get_attachment_image_src( $attachment_id, array( 90, 117 ) );
$the_icon = '<img src="' . $thumb[0] . '" width="' . $thumb[1] . '" height="' . $thumb[2] . '" />';

所以,基本上我正在做的是寻找被标记为帖子缩略图并将其信息检索到$ thumb的子帖子的ID。 moraleida给我的答案是我研究的一个良好开端。非常感谢。