使用自定义帖子类型从其附件ID返回图像网址

时间:2012-06-25 17:11:41

标签: wordpress

我正在使用自定义帖子类型插件,该插件返回上传文件的附件ID而不是其网址。 我已经能够使用wx_get_attachment_image_src来显示图像,如此处的代码x http://codex.wordpress.org/Function_Reference/wp_get_attachment_image_src中所述,但我的问题是让它与模板页面上用来调用自定义帖子类型信息的代码很好地配合使用

将其拆分为基础知识,这就是从模板页面调用自定义帖子类型信息的内容:

<?php 
    $slideshowplatform = get_post_meta($post->ID, 'slideshowplatform', true);
    foreach($slideshowplatform as $slide) {
        echo '<img src="' . $slide['slide'] . '" />';
    }
?>

我很难将其与代码提供的内容进行协调:

<?php 
    $attachment_id = 8; // attachment ID
    $image_attributes = wp_get_attachment_image_src( $attachment_id ); // returns an array
?>

<img src="<?php echo $image_attributes[0]; ?>">

看起来像下面这样的东西应该可行,但我显然错过了一些PHP语法

<?php 
    $slideshowplatform = get_post_meta($post->ID, 'slideshowplatform', true);
    foreach($slideshowplatform as $slide) {
        $image_attributes = wp_get_attachment_image_src( $slide['slide'] );
        echo '<img src="<?php echo $image_attributes[0]; ?>" />';
    }
 ?>

任何想法都会受到赞赏,谢谢。

1 个答案:

答案 0 :(得分:0)

我认为这就是你想要的

if ( $post->post_type == 'slideshowplatform' && $post->post_status == 'publish' )
{
    $attachments = get_posts(array(
        'post_type' => 'attachment',
        'posts_per_page' => -1,
        'post_parent' => $post->ID,
        'exclude'     => get_post_thumbnail_id()
    ));

    if ($attachments) {
        foreach ($attachments as $attachment) {
            $thumbimg = wp_get_attachment_link( $attachment->ID, 'thumbnail-size', true );
            echo $thumbimg;
            //$image_attributes = wp_get_attachment_image_src( $slide['slide'] ); 
            //echo '<img src="' . $image_attributes[0] . '" />';
        }

    }
}