justintadlock/hybrid-carbon

神一般的文章特色图片脚本。

1.0.0 2018-09-14 21:56 UTC

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 的图片附件功能,这样我们就可以利用内置的函数,如使用 srcsetsizes 的响应式图片。

要求

  • 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 = [] );