1

我正在尝试在 Wordpress 中延迟加载图像页面 - 我已经尝试过这些插件,但它们似乎都不起作用(我只想在某些页面上延迟加载图像。)

所以我现在正在尝试使用插件来做到这一点 - http://www.appelsiini.net/projects/lazyload

此插件需要 img 标签中的图像宽度和高度。

    <img data-original=“img/example.jpg” src=“img/grey.gif” width=“640” height=“480”&gt;

我正在附加来自自定义字段的图像,例如

    <img src="<?php echo get_post_meta($post->ID, 'img1', true); ?>">

是否可以从 get_post_meta 获取图像的宽度和高度

我看过 wp_get_attachment_image_src 但我看不到如何使用它 get_post_meta

======

更新

======

    <?php
        $attachments = get_children( 
        array(
                    'post_parent' => $post->ID, 
            'post_status' => 'inherit', 
            'post_type' => 'attachment', 
            'post_mime_type' => 'image', 
            'order' => ASC, 
            'orderby' => 'menu_order ID'
            )
        );

    ?>

    <?php
        foreach ( $attachments as $attachment_id => $attachment ) {

            $image_attributes = wp_get_attachment_image_src( $attachment );

    ?>      
            <img src="<?php echo $image_attributes[0];?>" width="<?php echo $image_attributes[1];?>" height="<?php echo $image_attributes[2];?>">

    <?php       

        }
    ?>
4

1 回答 1

1

最好使用 Wordpress 媒体库支持。您可以通过以下方式获取所有附加到帖子的图像:

<?php $attachments = get_children( 
    array('post_parent' => $id, 
        'post_status' => 'inherit', 
        'post_type' => 'attachment', 
        'post_mime_type' => 'image', 
        'order' => ASC, 
        'orderby' => 
        'menu_order ID') ); ?>

$id当前的帖子 ID在哪里。然后使用附加图像的 ID,您可以简单地使用:

<?php foreach ( $attachments as $attachment_id => $attachment ) {
    (...)
}?>

遍历图像 ID,以及

<?php wp_get_attachment_image_src($attachment_id, $size, $icon);>

描述:http://codex.wordpress.org/Function_Reference/wp_get_attachment_image_src,它不仅允许您获取图像的 url,还可以获取它的宽度和高度。

整个代码可以包装在一个简码函数中以便于使用;)。

于 2013-04-24T07:32:31.150 回答