justintadlock / hybrid-carbon
神一般的文章特色图片脚本。
Requires
- php: >=5.6
This package is auto-updated.
Last update: 2024-09-15 11:43:13 UTC
README
具有魔法属性的特色图片脚本。
Hybrid Carbon 是一个即插即用库。它不是一个独立的插件,应该包含在你发布的任何主题/插件中。
这是对原始 Get the Image 项目的刷新,使其更适于作为即插包包含在插件和主题中。这也是摆脱原始插件10多年积累的负担的一种方式。
Hybrid Carbon 的目的是用具有更多可能性的版本替换核心 WP 特色图片(即,文章缩略图)功能。开箱即用,它包含4种定位特色图片的方法
featured
- 这是正常的特色/缩略图图片。attached
- 在文章中搜索上传的第一个图片。meta
- 在自定义元字段中搜索分配的图片(附件ID)。scan
- 在文章内容中扫描图片附件ID。
所有核心脚本方法都是基于核心 WP 的图片附件功能,这样我们就可以利用内置的函数,如使用 srcset
和 sizes
的响应式图片。
要求
- PHP 5.6+(最好7+)
- 使用 Composer 管理PHP依赖项。
文档
如果你曾经使用过 WP 中的特色图片,脚本应该相对容易使用。没有太多代码需要更改。以下文档是为主题作者编写的,因为这将是最常见的使用场景。如果包含在插件中,它应该不会有太大不同。
安装
首先,你需要打开你的命令行工具,将目录更改为你的主题文件夹。
cd path/to/wp-content/themes/<your-theme-name>
然后,使用 Composer 安装包。
composer require justintadlock/hybrid-carbon
假设你尚未包含你的主题的 Composer 自动加载文件,并且将此作为主题包的一部分进行分发,你希望在主题的 functions.php
中添加以下类似代码来自动加载此包(以及其他包)。
Composer 自动加载文件将自动为你加载 Hybrid Carbon,并使其代码可供使用。
if ( file_exists( get_parent_theme_file_path( 'vendor/autoload.php' ) ) ) { require_once( get_parent_theme_file_path( 'vendor/autoload.php' ) ); }
使用方法
大多数开发者将想要利用 Hybrid\Carbon\Image
类。它是一个静态包装类,基本上作为 语法糖 用于主题模板。
通常,你会在主题模板中的 The Loop 内替换对 the_post_thumbnail()
的任何调用,如下所示
Hybrid\Carbon\Image::display( 'featured', $args );
请注意,插件的命名空间是 Hybrid\Carbon
。如果你在另一个命名空间中工作,你需要在你的命名空间调用后添加一个 use
语句或直接调用 \Hybrid\Carbon\display()
。如果你在处理命名空间,我将假设你知道你在做什么。否则,请坚持上述方法。
参数
有两个参数:$type
和 $args
。
Hybrid\Carbon\Image::display( $type, $args );
$type
$type
参数接受单个类型或类型的字符串或数组。类型只是用于定位特色图片的方法。
以下是一些内置类型
featured
- 这是正常的特色/缩略图图片。attached
- 在文章中搜索上传的第一个图片。meta
- 在自定义元字段中搜索分配的图片(附件ID)。必须在$args
中设置meta_key
。scan
- 在文章内容中扫描图片附件ID。
如果传入类型数组,脚本将按你添加它们的顺序搜索图片。
$args
$args
参数是一个可选的参数数组,用于自定义图片。
post_id
- 获取图片的帖子的ID(默认为当前帖子)。size
- 要获取的图片大小。meta_key
- 要搜索的元键字符串或数组(值必须是一个附件ID)。class
- 应用到图片上的类。link
- 是否链接到帖子。link_class
- 应用到链接上的类。min_width
- 图片所需的最小宽度。min_height
- 图片所需的最小高度。attr
- 图片属性数组。caption
- 是否包括有标题的图片的标题(默认为false
)。before
- 在图片输出之前添加的HTML字符串。after
- 在图片输出之后添加的HTML字符串。
静态辅助类
以下方法可用于 Hybrid\Carbon\Image
类。
// Returns an instance of the Carbon class. Image::carbon( $type, array $args = [] ); // Returns an instance of the Carbon class after running its make() method. Image::make( $type, array $args = [] ); // Returns an instance of the found Image object or false. Image::image( $type, array $args = [] ); // Renders the HTML output of the found Image object if one is found. Image::display( $type, array $args = [] ); // Returns the HTML string of the found Image object or an empty string. Image::render( $type, array $args = [] );