Giter Club home page Giter Club logo

wp-imgix's Introduction

WP ImgIX is a Wordpress Plugin to automatically load all your existing (and future) WordPress images via the imgix service for smaller, faster, and better looking images.

This plugin handles modifying WordPress image URLs to use the ImgIX service. It works very well with S3-Uploads

Installation

  1. Download the zipped main branch of this plugin from github.
  2. Extract the plugin to your plugins folder.
  3. Enable the plugin.
  4. Add define( 'WP_IMGIX_URL', 'your.imgix.net' ) to your wp-config.php file.
  5. If you're signing urls, Add define( 'WP_IMGIX_SIGNING_TOKEN', 'abcdefg123456' ) to your wp-config.php file.

Usage

Typically the above steps are all you need to do however you can use the following public facing functions and filters.

Functions

imgix_url( string $image_url, array $args = [] )

This function returns the ImgIX URL for a given image.

$image_url = 'https://my-bucket.s3.us-east-1.amazonaws.com/path/to/image.jpg';
$args      = [
	'x'  => '300'
	'y' => '300',
	'fit' => 'crop'
];

$url = imgix_url( $image_url, $args );

Filters

The following filters allow you to modify the output and behaviour of the plugin. The filters below can be added to your theme's functions.php to modify the behavior of your imgix URLs.

imgix_disable_in_admin

Defaults to true.

add_filter( 'imgix_disable_in_admin', '__return_false' );

imgix_override_image_downsize

Defaults to false. Provides a way of preventing ImgIX from being applied to images retrieved from WordPress Core at the lowest level, you might use this if you wanted to use imgix_url() manually in specific cases.

add_filter( 'imgix_override_image_downsize', '__return_true' );

imgix_skip_for_url

Allows skipping the ImgIX URL for a given image URL. Defaults to false.

add_filter( 'imgix_skip_for_url', function ( $skip, $image_url, $args ) {
	if ( strpos( $image_url, 'original' ) !== false ) {
		return true;
	}

	return $skip;
}, 10, 3 );

imgix_pre_image_url

Filters the ImgIX image URL excluding the query string arguments.

add_filter( 'imgix_pre_image_url', function ( $image_url, $args ) {
	if ( rand( 1, 2 ) === 2 ) {
		$image_url = str_replace( WP_IMGIX_URL, WP_IMGIX_URL_2, $image_url );
	}

	return $image_url;
}, 10, 2 );

imgix_pre_args

Filters the query string parameters appended to the imgix image URL.

add_filter( 'imgix_pre_args', function ( $args ) {
	if ( isset( $args['fit'] ) ) {
		$args['fill'] = 'blur';
	}

	return $args;
} );

imgix_remove_size_attributes

Defaults to true. width & height attributes on image tags are removed by default to prevent aspect ratio distortion that can happen in some unusual cases where srcset sizes have different aspect ratios.

add_filter( 'imgix_remove_size_attributes', '__return_true' );

Credits

Created by Web Doodle

Forked from HumanMade's Tachyon Plugin -- Special thanks to the HumanMade team for working on accelerated Wordpress projects.

Written and maintained by Ryan Soury.

wp-imgix's People

Contributors

asadmanzoor93 avatar brendanlawton avatar heyitsbryanm avatar japh avatar joehoyle avatar pdewouters avatar peterwilsoncc avatar rmccue avatar roborourke avatar rsoury avatar wvega avatar zloymalefic avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

wp-imgix's Issues

Uncaught Error: Undefined constant "WP_IMGIX_SIGNING_TOKEN

Uncaught Error: Undefined constant "WP_IMGIX_SIGNING_TOKEN

We don't enable our images for url signing to be used so have added the code below to my WP-config and not added the other line:
define( 'WP_IMGIX_URL', 'https://marquee.imgix.net');

But when I do I get the error in the title that says that WP_IMGIX_SIGNING_TOKEN is undefined.

It sounded like in the readme that this is an optional define to implement.

As we aren't using url signing in imgix what is the recommendation in these cases?

Doesn't work without signing URLs

Hi there,

In the docs it says:

If you're signing urls, Add define( 'WP_IMGIX_SIGNING_TOKEN', 'abcdefg123456' ) to your wp-config.php file.

Implying that this setting is optional.

However if I do not define this in my wp-config.php file, then I get the following error:

Fatal error: Uncaught Error: Undefined constant "WP_IMGIX_SIGNING_TOKEN" in /var/www/vhosts/ply.digital/urban.staging.ply.digital/wp-content/plugins/wp-imgix-master/includes/class-wp-imgix.php:61

If I then try and define this as null - i.e. define( 'WP_IMGIX_SIGNING_TOKEN', '' ) or define( 'WP_IMGIX_SIGNING_TOKEN', null), then the image URLs in the content are not replaced.

Please help.

Ideally I do not want to turn on signing URLs for this website.

Cheers
Mark

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.