waughj / wordpress-images
简单类和短代码,用于轻松从常用图片目录生成HTML图片。
Requires
- php: >=7.0
- waughj/wp-post-thumbnail: >=0.4.2
- waughj/wp-theme-image: >=0.3.1
- waughj/wp-theme-option: >=0.1.1
- waughj/wp-theme-picture: >=0.3.1
- waughj/wp-upload-image: >=0.5.3
- waughj/wp-upload-picture: >=0.5.3
Requires (Dev)
- phpunit/phpunit: ^8.1
This package is auto-updated.
Last update: 2024-09-22 06:15:48 UTC
README
简单类和短代码,用于轻松从常用图片目录生成HTML图片。
描述
此插件包含6个主要类,每个类都有一个短代码。
短代码
- [image src="%url%"]
- [theme-image src="%url%"]
- [upload-image src="%url%"]
- [picture src="%baseurl%" ext="%ext%" sizes="%sizes%"]
- [theme-picture src="%baseurl%" ext="%ext%" sizes="%sizes%"]
- [upload-picture src="%baseurl%" ext="%ext%" sizes="%sizes%"]
- [thumbnail]
类
- WaughJ\HTMLImage\HTMLImage
- WaughJ\WPThemeImage\WPThemeImage
- WaughJ\WPUploadImage\WPUploadImage
- WaughJ\HTMLPicture\HTMLPicture
- WaughJ\WPThemePicture\WPThemePicture
- WaughJ\WPUploadPicture\WPUploadPicture
- WaughJ\WPPostThumbnail\WPPostThumbnail
常规图片短代码加载提供的确切源URL,没有破坏缓存版本的参数。主要用于其他类,如下一个2个。
常规图片短代码加载 %base%.%ext%,以及基于给定大小的额外源。阅读 https://mdn.org.cn/en-US/docs/Web/HTML/Element/picture 了解更多关于 picture 元素的工作方式。
主题图片和图片短代码从当前主题目录加载图片。
上传图片和图片短代码从上传目录加载图片。
缩略图短代码加载文章的缩略图。如果提供了 post-id 属性,则加载该ID的缩略图。如果没有提供ID,则尝试提供当前文章的ID(get_the_ID()提供的)。可以通过 %tag-name%-%attribute-name% 通过 %tag-name%-%attribute-name% 提供img、source和picture属性。例如,要设置图片的类,添加 img-class="%class%"。
HTML和主题类有类似接口:必需的源和可选参数。对于短代码,这意味着"src"属性以及任何其他有效的HTML属性;对于类,这意味着可选的第二个参数是哈希表。
WPUploadImage类需要一个必需的ID整数,表示WordPress管理媒体部分中的图片ID,第二个参数是一个可选的大小字符串,表示在WordPress中注册的大小类型的slug,其中"responsive"用于自动使用srcset根据不同的窗口大小动态加载图片大小,以及可选的第三个参数是一个哈希表,用于额外的属性,如上所述。
WPUploadPicture需要一个必需的ID整数和可选的属性哈希表。
除了任何有效的HTML属性之外,WPThemeImage和WPThemePicture类还接受"directory",而uploads类接受"show-version"属性。如果设置,前者将自动将源放入给定的目录;如果"show-version"属性设置为false,则不会尝试找到图片的最后修改类型,以提供版本参数以破坏缓存损坏。
如果没有设置"alt"属性,则将自动添加一个空的1到生成的HTML中,确保通过这些创建的所有图片都有alt标签。
为了在同一个目录下(非主题目录最高目录)处理主题图片对象时尽可能减少不便,您可以在WordPress管理后台通过“外观”-》主题-》目录,或直接在PHP中使用WPThemeImage类上的静态setDefaultSharedDirectory方法来全局设置内部共享目录。之后,所有初始化的WPThemeImage和WPThemePicture实例,包括短代码,如果未提供不同的目录,将自动使用该共享目录。
要为WPThemePicture和WPUploadPicture短代码添加HTML属性,根据您想要分配属性的标签,在它们前面加上“img-”、“picture-”或“source-”。例如,要将类应用到img标签上,给短代码添加属性“img-class”。
安装
示例
use WaughJ\WPUploadImage\WPUploadImage;
echo new WPUploadImage
(
31,
[
'class' => 'center-img portrait',
'alt' => 'King'
]
);
&
[upload-image media-id="31" class="center-img portrait" alt="King"]
将生成类似以下的代码:<img class="center-img portrait" alt="King" src="https://www.domain.com/wp-content/uploads/2018/12/demo-150x150.png?m=1543875777" />
use WaughJ\WPThemeImage\WPThemeImage;
WPThemeImage::setDefaultSharedDirectory( 'img' );
echo new WPThemeImage( 'photo.jpg' );
将生成类似以下的代码:<img src="https://www.domain.com/wp-content/themes/theme-slug/img/photo.jpg?m=1543875777" alt="" />
[upload-picture media-id="8"]
将生成类似以下的代码:<picture><source srcset="https://www.example.com/wp-content/uploads/2018/12/photo-150x150.jpg?m=1543875777" media="(max-width:150px)"><source srcset="https://www.example.com/wp-content/uploads/2018/12/photo-300x300.jpg?m=1543875781" media="(max-width:300px)"><source srcset="https://www.example.com/wp-content/uploads/2018/12/photo-768x768.jpg?m=1543875785" media="(max-width:768px)"><source srcset="https://www.example.com/wp-content/uploads/2018/12/photo-1024x1024.jpg?m=1543875831"><img src="https://www.example.com/wp-content/uploads/2018/12/photo-150x150.jpg?m=1543875777" alt="" /></picture>
有关每个类如何工作的更多信息,请查看它们的文档 @ https://github.com/waughjai?tab=repositories
变更日志
3.1.1
- 修复了transformShortcodeAttributesToElementAttributes方法中的bug,以确保其在PHP未来版本中正常工作
3.1.0
- 将设置图像默认目录的admin输入框隐藏在函数后面,使其成为可选的而不是默认选项
3.0.2
- 更新TestHashItem依赖项
3.0.1
- 修复依赖性问题
3.0.0
- 重构所有短代码及其底层类。
- WPUploadImage和WPUploadPicture短代码的属性现在使用“media-id”作为图像ID,而WPPostThumbnail现在使用“post-id”而不是“id”,以避免与设置id HTML属性冲突
- 所有类都改进了错误处理,以便它们都抛出异常。短代码捕获所有异常,因此不会在公共网站上显示令人不快的错误
2.2.1
- 默认开启缩略图支持
2.2.0
- 添加WPPostThumbnail类和短代码,以便轻松获取帖子缩略图
2.1.1
- 修复WPThemePicture更改默认主题共享目录的bug
2.1.0
- 更新依赖项,测试WordPress 5.1
2.0.1
- 修复了有问题的WPUploadImage类
2.0
- 重构为分离的类
- 修复WordPress上传与WPUpload类的不兼容性
1.3
- 在admin中添加目录栏
1.2
- 添加仅从图像获取源的能力
1.1
- 使上传类更自动化
1.0
- 初始稳定版本