vvv3/wp-responsive-images
Composer 安装命令:
composer require vvv3/wp-responsive-images
包简介
WordPress responsive images easily
README 文档
README
A library for easy introduction of Responsive Images to WordPress site.
Requirements
Installation
Clone WP Responsive Images library or install with composer:
$ composer require vvv3/wp-responsive-images
How to use
The library contains classes and helpers for easy introduction of Responsive Images to a WordPress site.
ImgUtils::resizeImg()
The \WPRI\ImgUtils::resizeImg method returns a link to the modified image according to the passed parameters.
Usage:
<img src="<?php echo ImgUtils::resizeImg( $url, $width, $height, $crop ); ?>" >
$url- URL to image file to resize$width- width value, integer$height- height value, integer$crop- bool flag crop or not
Returns:
string resized image url
Example:
use WPRI\ImgUtils; ... <img src="<?php echo ImgUtils::resizeImg( get_the_post_thumbnail_url( get_the_ID(), 'full' ), 380, 250, true ); ?>" >
ImgUtils::imgForPost, ImgUtils::pictureForPost
Helpers ImgUtils::imgForPost and ImgUtils::pictureForPost return a Responsive <img> or <picture> tag by post Id. You may set list of media
queries with image with for this query, double pixel ratio, aspect ratio for the images, loading="lazy" native attribute or any other additional attribute.
Usage:
ImgUtils::imgForPost(
int $postId,
array $mqWithWidth = [],
bool $pixelRatio2x = false,
int|float|null $aspectRatio = null,
bool $lazy = false,
array $attrs = [])
ImgUtils::pictureForPost(
int $postId,
array $mqWithWidth = [],
bool $pixelRatio2x = false,
int|float|null $aspectRatio = null,
bool $lazy = false,
array $attrs = [])
Returns:
string <img> or <picture> tag accordingly or empty string on error
Example:
echo ImgUtils::imgForPost( get_the_ID(), [ // format: ['media-query' => width-in-px(int), ... , default-width-in-px(int) ] '(min-width: 1200px)' => 730, '(min-width: 768px)' => 690, 545, // dafault width, if no media query aplied ], false, 16/9, true, ['class' => 'my-class'] ); echo ImgUtils::pictureForPost( get_the_ID(), [ '(max-width: 767px)' => 545, '(max-width: 1199px)' => 690, 730 ] );
ImgUtils::imgByAttachmentId, ImgUtils::pictureByAttachmentId
Helpers ImgUtils::imgByAttachmentId and ImgUtils::pictureByAttachmentId return a Responsive <img> , <picture> tag by attachment Id.
Also you can do any combination of parameters of Picture or Img responsive tags with WPRI\ResponsiveImages\ classes :
if ( has_post_thumbnail( $postId ) ) { try { $originUrl = get_the_post_thumbnail_url( $postId, 'full' ); $resizer = Resizer::makeWithUrl( $originUrl ); $picture = Picture::make( $originUrl, // original url for default img tag 'customAlt', // alt for default img tag null, // width attribute, by default as at $originUrl image null, // height attribute, by default as at $originUrl image [ // sourses Source::make( [ // SrcsetItems SrcsetItem::makeWithResize( $resizer->setWidth( 730 ), '1x' ), SrcsetItem::makeWithResize( $resizer->setWidth( 730 * 2 ), '2x' ), ], [], // may add sizes '(min-width: 1200px)', // may add media 'image/jpeg' // may add image mime-type ), Source::make( [ SrcsetItem::makeWithResize( $resizer->setWidth( 690 ), '1x' ), SrcsetItem::makeWithResize( $resizer->setWidth( 690 * 2 ), '2x' ), ], [], '(min-width: 768px)' ), Source::make( [ SrcsetItem::makeWithResize( $resizer->setWidth( 545 ), '1x' ), SrcsetItem::makeWithResize( $resizer->setWidth( 545 * 2 ), '2x' ), ] ), ] ) ->setPictureAttr( 'class', 'custom-picture-class' ) ->setPictureAttr( 'data-some', 'custom-picture-attr' ) ->setImgAttr( 'class', 'custom-img-class' ) ->setImgAttr( 'data-some', 'custom-img-attr' ) ->render(); } catch ( \Exception $ex ) { error_log( "\nFile: {$ex->getFile()}\nLine: {$ex->getLine()}\nMessage: {$ex->getMessage()}\n" ); $picture = ''; } echo $picture; }
vvv3/wp-responsive-images 适用场景与选型建议
vvv3/wp-responsive-images 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 2.49k 次下载、GitHub Stars 达 2, 最近一次更新时间为 2024 年 01 月 13 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「wordpress」 「Responsive Images」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 vvv3/wp-responsive-images 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 vvv3/wp-responsive-images 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 vvv3/wp-responsive-images 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
A Laravel Nova field for distribute your images as array of object.
Pexels API Client for www.pexels.com
ResponsiveImages Plugin for October CMS
TYPO3 CMS extension to create gallery content element with preset crop ratios and pagination
TYPO3 extension for sending responsive email templates
Convert and serve jpeg/png to webp with PHP (if at all possible)
统计信息
- 总下载量: 2.49k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 2
- 点击次数: 2
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2024-01-13