aginev / wp-glide
WordPress 的 PHP Glide
0.0.2
2018-03-21 12:51 UTC
Requires
- php: ^7.0
- league/glide: ^1.2
This package is auto-updated.
Last update: 2024-09-17 05:03:03 UTC
README
安装
composer require aginev/wp-glide
使用方法
在主题的 function.php 文件中进行一般配置。
获取 WpGlide 实例。
这是一个单例实例,因此您将在应用程序的任何地方获取相同的对象。
$wpGlide = \WpGlide\WpGlide::getInstance(); // Or $wpGlide = wp_glide();
Glide 服务器配置
您应在应用程序中至少配置一次 WpGlide。init 方法可以接受四个参数,它们都不是必需的。
$wpGlide->init( // Glide server config. See: http://glide.thephpleague.com/1.0/config/setup/ [ // Image driver 'driver' => 'imagick', // Watermarks path 'watermarks' => new \League\Flysystem\Filesystem(new \League\Flysystem\Adapter\Local(get_template_directory() . '/assets/img')), ], // Base path. By default set to 'img/' and the final URL will look like so: http://example.com/BASE-PATH/SIZE-SLUG/image.jpg. 'img/', // Path to WordPress upload directory. If not set the default upload directory will be used. 'upload_path', // Cache path. If not set the cache will be placed in cache directory at the root of the default upload path. 'cache_path' ); // Or $wpGlide = wp_glide()->init([...]);
注册图片尺寸
您应该这样注册将由 Glide 处理的图片尺寸
$wpGlide->addSize('w128', [ 'w' => 128, 'q' => 75, 'fm' => 'pjpg', 'mark' => 'watermark.png', 'markw' => 512, 'markh' => 512, 'markalpha' => 75, 'markfit' => 'fill', 'markpos' => 'center', ])->addSize('w512', [ 'w' => 512, 'q' => 75, 'fm' => 'pjpg', ])->addSize('16x9', [ 'w' => 16 * 10 * 2, 'h' => 9 * 10 * 2, 'fit' => 'crop', 'q' => 75, 'fm' => 'pjpg', ]);
在模板中使用
然后您可以在视图/模板中这样获取 Glide 图片 URL
<!-- Get Glide image URL by it's original URL --> <img src="<?php echo wp_glide_image('http://example.com/wp-content/2018/01/image.jpg', 'w128'); ?>" /> <!-- Get Glide image URL by it's ID in the WordPress media library --> <img src="<?php echo wp_glide_image(1, 'w128'); ?>" /> <!-- Result: <img src="//example.com/img/w128/2018/01/image.jpg" /> --> <!-- Note that protocol will be stripped and you do not need to care about it. -->
您可以在视图/模板中这样获取 Glide 图片的 base64 编码版本
<!-- Get Glide image URL by it's original URL --> <img src="<?php echo wp_glide_base64('http://example.com/image.jpg', 'w128'); ?>" /> <!-- Get Glide image URL by it's ID in the WordPress media library --> <img src="<?php echo wp_glide_base64(1, 'w128'); ?>" /> <!-- Result: <img src="data:image/jpeg;base64..." /> -->
许可证
除非另有说明,此存储库中的一切都受 MIT 许可证保护。
MIT © 2018 Atanas Ginev