This plugin has 3 main classes, with a shortcode for each 1.
* [image src=”%url%”]
* [theme-image src=”%url%”]
* [upload-image src=”%url%”]
* [picture src=”%baseurl%” ext=”%ext%” sizes=”%sizes%”]
* [theme-picture src=”%baseurl%” ext=”%ext%” sizes=”%sizes%”]
* [upload-picture src=”%baseurl%” ext=”%ext%” sizes=”%sizes%”]
The regular image shortcode loads the exact source URL given, without a cache-corruption-breaking version parameter. It is mainly for use by other classes, like the next 2.
The regular picture shortcode loads %base%.%ext%, as well as extra sources based on the sizes given. Read https://developer.mozilla.org/en-US/docs/Web/HTML/Element/picture for mo’ info on how the picture element works.
The theme image & picture shortcodes load images from the current theme directory.
The upload image & picture shortcodes load images from the uploads directory.
The thumbnail shortcode loads a post’s thumbnail. If the post-id attribute is given, it loads the thumbnail o’ that ID. If no ID is given, it tries to supply the ID o’ whatever the current post is ( whatever get_the_ID() gives ). Img, source, & picture attributes can be given through %tag-name%-%attribute-name%. For example, to set the image’s class, add img-class=”%class%”.
The HTML & Theme classes have near the same interface: a mandatory source & optional arguments. For the shortcodes, this means a “src” attribute as well as any other valid HTML attributes; for the classes, it means a hash map as an optional 2nd argument.
The WPUploadImage class takes a mandatory ID integer representing the ID o’ the image in the media section o’ the WordPress admin, the 2nd argument is an optional size string representing the slug o’ the size type as registered in WordPress, with “responsive” for automatically an image that uses srcset to dynamically load the size for different window sizes, & the optional 3rd argument is a hash map for extra attributes, as ‘bove.
The WPUploadPicture takes a mandatory ID integer & the optional attributes hash map.
In addition to any valid HTML attributes, the WPThemeImage & WPThemePicture classes also accept “directory” & they & the uploads classes accept the “show-version” attributes. The former, if set, will automatically put the source in the given directory; the “show-version” attribute, if set to false, won’t try to find the image’s last modified type to give it a version parameter for breaking cache corruption.
If “alt” attribute is not set, an empty 1 will automatically be added to the HTML generated, ensuring that all images made through these will have an alt tag.
To make working with theme image objects with minimal inconvenience for images that are all in the same directory that is not the topmost directory o’ the theme directory, you can globally set the inner shared directory in the WordPress admin through Appearances -> Theme -> Directories, or directly in PHP with WPThemeImage’s static setDefaultSharedDirectory method on the class itself. After that, all initialized WPThemeImage & WPThemePicture instances, including the shortcodes, will automatically use that shared directory if a different 1 isn’t provided.
To add HTML attributes to WPThemePicture & WPUploadPicture shortcodes, prefix them with “img-“, “picture-“, or “source-” depending on what tag you want the attribute given to. For example, to apply a class to the img tag, give the shortcode the attribute “img-class”.
use WaughJ\WPUploadImage\WPUploadImage; echo new WPUploadImage ( 31, [ 'class' => 'center-img portrait', 'alt' => 'King' ] );
[upload-image media-id="31" class="center-img portrait" alt="King"]
Will generate something like
<img class="center-img portrait" alt="King" src="https://www.domain.com/wp-content/uploads/2018/12/demo-150x150.png?m=1543875777" />
use WaughJ\WPThemeImage\WPThemeImage; WPThemeImage::setDefaultSharedDirectory( 'img' ); echo new WPThemeImage( 'photo.jpg' );
Will generate something like
<img src="https://www.domain.com/wp-content/themes/theme-slug/img/photo.jpg?m=1543875777" alt="" />
Will generate something like
<picture><source srcset="https://www.example.com/wp-content/uploads/2018/12/photo-150x150.jpg?m=1543875777" media="(max-width:150px)"><source srcset="https://www.example.com/wp-content/uploads/2018/12/photo-300x300.jpg?m=1543875781" media="(max-width:300px)"><source srcset="https://www.example.com/wp-content/uploads/2018/12/photo-768x768.jpg?m=1543875785" media="(max-width:768px)"><source srcset="https://www.example.com/wp-content/uploads/2018/12/photo-1024x1024.jpg?m=1543875831"><img src="https://www.example.com/wp-content/uploads/2018/12/photo-150x150.jpg?m=1543875777" alt="" /></picture>
For mo’ information on how each class works, check out their documentation @ https://github.com/waughjai?tab=repositories
- Upload the plugin files to the
/wp-content/plugins/plugin-namedirectory, or install the plugin through the WordPress plugins screen directly.
- Activate the plugin through the ‘Plugins’ screen in WordPress
- Images can be added using shortcode in WordPress editors or directly in PHP by using instances o’ classes. Instances o’ classes can be automatically casted into strings & used as strings.
There are no reviews for this plugin.
Contributors & Developers
“WAJ Image” is open source software. The following people have contributed to this plugin.Contributors
- Revamp all shortcodes & underlying classes.
- WPUploadImage & WPUploadPicture shortcode attributes now use “media-id” for image ID & WPPostThumbnail now uses “post-id” ’stead o’ either using just “id” so they don’t conflict with setting id HTML attribute.
- All classes have improved error-handling so that they all throw exceptions. Shortcodes catch all exceptions so unsightly errors don’t show up on public website.
- Update Directory class so that WPThemeImage doesn’t cause it to break with empty directory.
- Turn on thumbnail support by default.
- Add WPPostThumbnail class & shortcode for easily getting post thumbnail.
- Fix WPThemePicture bug changing default theme shared directory.
- Update dependencies, test for WordPress 5.1.
- Fix buggy WPUploadImage class.
- Refactor into split classes.
- Fix WordPress Uploads incompatibility with WPUpload classes.
- Add directory bar to admin.
- Add ability to just get source from images.
- Make uploads classes mo’ automatic.
- Initial stable version.