我希望能够在主页上的jquery滑块中使用媒体库中的图片,以便其他人无需硬编码即可轻松更新图片。我在帖子上贴了一堆照片,并尝试了这个
<?php
$image_query = new WP_Query(array(\'name\'=>\'slider-images\'));
while ( $image_query->have_posts() ) : $image_query->the_post();
$args = array( \'post_type\' => \'attachment\', \'numberposts\' => -1, \'post_status\' => null, \'post_parent\' => $post->ID );
$attachments = get_posts($args);
if ($attachments) {
foreach ( $attachments as $attachment ) {
echo \'<li>\';
echo \'<img src="\'.wp_get_attachment_url($attachment->ID).\'" />\';
echo \'</li>\';
}
}
endwhile;
wp_reset_postdata();
?>
但它没有显示任何内容。我的代码是否有问题,或者是否有更简单/更好的方法将图像分组,而不是将它们放在帖子中?
编辑:如果我在$image\\u查询循环中使用\\u content(),它会输出如下图像
<p>
<a href="...">
<img src="..." />
</a>
</p>
但我需要的是
<li>
<a href="...">
<img src="..." />
</a>
</li>
最合适的回答,由SO网友:Chris_O 整理而成
使用get\\u子级比使用get\\u帖子更好。下面是一个简单的例子。这是在插件或函数中定义的函数形式。php然后将该函数用作模板标记。
/**
* Gets all images attached to a post
* @return string
*/
function wpse_get_images() {
global $post;
$id = intval( $post->ID );
$size = \'medium\';
$attachments = get_children( array(
\'post_parent\' => $id,
\'post_status\' => \'inherit\',
\'post_type\' => \'attachment\',
\'post_mime_type\' => \'image\',
\'order\' => \'ASC\',
\'orderby\' => \'menu_order\'
) );
if ( empty( $attachments ) )
return \'\';
$output = "\\n";
/**
* Loop through each attachment
*/
foreach ( $attachments as $id => $attachment ) :
$title = esc_html( $attachment->post_title, 1 );
$img = wp_get_attachment_image_src( $id, $size );
$output .= \'<a class="selector thumb" href="\' . esc_url( wp_get_attachment_url( $id ) ) . \'" title="\' . esc_attr( $title ) . \'">\';
$output .= \'<img class="aligncenter" src="\' . esc_url( $img[0] ) . \'" alt="\' . esc_attr( $title ) . \'" title="\' . esc_attr( $title ) . \'" />\';
$output .= \'</a>\';
endforeach;
return $output;
}