aginev/wp-glide

WordPress 的 PHP Glide

0.0.2 2018-03-21 12:51 UTC

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