waughj/wordpress-images

简单类和短代码,用于轻松从常用图片目录生成HTML图片。

v3.1.1 2019-10-21 18:48 UTC

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

  • 初始稳定版本