当前位置: 首页 > 知识库问答 >
问题:

Wordpress获取\发布\延迟加载的元图像宽度

商嘉木
2023-03-14

我试图懒惰加载Wordpress中的图像页面-我尝试了插件,但它们似乎都不工作(我只想懒惰加载一些页面上的图像)。

所以我现在尝试用一个插件-http://www.appelsiini.net/projects/lazyload

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

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

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

    <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       

        }
    ?>

共有1个答案

郗缪文
2023-03-14

最好使用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,而且它的宽度和高度。

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

 类似资料:
  • 我似乎不能为我的生活得到任何图像懒惰加载插件在wordpress工作。我尝试了懒负载,wp懒负载和bj懒负载。网站上的图像似乎没有一个是“懒惰加载”的。我也使用审计工具(chrome审计)测试了这个。当我删除图像(每页大约有50张图像)时,我的审计绩效和其他分数为99。当我加载图像(使用wordpress循环),我的性能下降到64. 我尝试了每一个延迟加载插件,但它们似乎都不是延迟加载。我正在本地

  • 我想删除Wordpress中第一个图像上的延迟加载,用于每个帖子、页面和主页。 我不使用任何插件的懒惰加载图像,我需要一个默认的懒惰加载的解决方案通过wordpress添加。 我为functions.php找到了这个脚本,但它是为WP Rocket插件找到的,我没有这个插件。 因此,我对其进行了如下修改: 现在,我只需要删除类为“aligncenter size full remove lazy”

  • 问题内容: 我正在开发一个eshop。在基于类别的产品页面上,我放置了一些基于javascript的过滤器。但是,如果类别具有很多产品,则会出现问题。该链接具有与我相似的功能… 这个页面多么缓慢,却超过2mb !!! 对我来说,每个产品都需要一半的K字节,但是图像是个问题。.因此,我正在寻找如何延迟加载图像的方法。由于与该网站不同,我的页面具有分页功能,因此我认为加载仅对页面可见的图像是一种解决方

  • 我正在使用Mika Tuupola的jQuery延迟加载。 是否可以在每次延迟加载图像后调用函数。 我打算做的是跟踪图像的浏览次数。因此,如果图像是延迟加载的,这意味着用户已经看到了图像,我将通过在后台执行HTTP GET,将数据库中的计数器增加1。

  • 我有一个HTML,使用 我想做的是懒惰加载图像的性能。我尝试了几个包,如react-lazyload,但它似乎并没有懒惰加载图像的方式。如果我将超文本标记语言字符串拉到React组件中,它确实有效。 延迟加载如何处理从加载的图像?我怎样才能懒散地加载图像?

  • Flask 通常配合装饰器使用,装饰器使用非常简单,而且使您可以将 URL 和处理它的函数 放在一起。然而这种方法也有一种不足: 这就意味着您使用装饰器的代码必须在前面导入, 否则 Flask 将无法找到您的函数。 这对于需要很快导入的应用程序来说是一个问题,这种情况可能出现在类似谷歌的 App Engine 这样的系统上。所以如果您突然发现您的引用超出了这种方法可以处理 的能力,您可以降级到中央