我看了一下这篇帖子,并复制了一些有点帮助的代码(页面不再是完全空白的)
我正在尝试抓取两个网址:全尺寸图片的网址和缩略图版本
来自我创建的自定义分类中具有特定“字段”的每个帖子(我创建了分类“艺术类型”,有3个选项:绘图,打印和数字)
这是我到目前为止编写的代码:
<?php
$args = array(
'post_type' => 'art-piece', /* custom post type */
'taxonomy' => 'art-type', /* custom taxonomy */
'field' => 'slug',
'terms' => array('digital')
);
$gallery = get_posts ($args);
?>
<div class="zoom-gallery">
<div class="gallery-item">
<?php if (has_post_thumbnail( $post->ID ) ): ?>
<?php $url = wp_get_attachment_url( get_post_thumbnail_id($post->ID), 'thumbnail' ); ?>
<img src="<?php echo $url ?>" />
<?php endif; ?>
</div>
</div>
从我所看到的循环中没有任何东西使用我指定的任何$ args。理论上,这应该抓住所有特色图像,无论是类型,分类等,但它们根本不会出现在我身上。该页面完全空白
答案 0 :(得分:0)
在我看来,你没有循环遍历get_posts()调用的结果。尝试更改代码以匹配我在下面发布的更新代码。
它的作用是遍历$gallery
变量中存储的每个“帖子”。
抱歉没有足够的时间来提供更深入的解释,但如果这对您有用,我会回过头来详细说明。
<?php
$args = array(
'post_type' => 'art-piece', /* custom post type */
'tax_query' => array(
array(
'taxonomy' => 'art-type', /* custom taxonomy */
'field' => 'slug',
'terms' => array('digital')
),
),
);
$gallery = get_posts($args); // removed space between function name and opening bracket
foreach ( $gallery as $post ) : setup_postdata( $post ); // added this loop
?>
<div class="zoom-gallery">
<div class="gallery-item">
<?php if (has_post_thumbnail( $post->ID ) ): ?>
<?php $url = wp_get_attachment_url( get_post_thumbnail_id($post->ID), 'thumbnail' ); ?>
<img src="<?php echo $url ?>" />
<?php endif; ?>
</div>
</div>
<?php endforeach; // ending the loop
wp_reset_postdata(); // reset $post so we don't interfere with the main WP_Query
?>