Server IP : 104.21.93.192 / Your IP : 216.73.216.73 Web Server : LiteSpeed System : Linux premium900.web-hosting.com 4.18.0-553.22.1.lve.1.el8.x86_64 #1 SMP Tue Oct 8 15:52:54 UTC 2024 x86_64 User : redwjova ( 1790) PHP Version : 8.1.32 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/redwjova/public_html/wp-content/themes/kadence/inc/components/image_sizes/ |
Upload File : |
<?php /** * Kadence\Image_Sizes\Component class * * @package kadence */ namespace Kadence\Image_Sizes; use Kadence\Component_Interface; use function Kadence\kadence; use WP_Post; use function add_filter; use function is_active_sidebar; /** * Class for managing responsive image sizes. */ class Component implements Component_Interface { /** * Gets the unique identifier for the theme component. * * @return string Component slug. */ public function get_slug() : string { return 'image_sizes'; } /** * Adds the action and filter hooks to integrate with WordPress. */ public function initialize() { //add_filter( 'wp_calculate_image_sizes', array( $this, 'filter_content_image_sizes_attr' ), 10, 2 ); //add_filter( 'wp_get_attachment_image_attributes', array( $this, 'filter_post_thumbnail_sizes_attr' ), 10, 3 ); } /** * Adds custom image sizes attribute to enhance responsive image functionality for content images. * * @param string $sizes A source size value for use in a 'sizes' attribute. * @param array $size Image size. Accepts an array of width and height * values in pixels (in that order). * @return string A source size value for use in a content image 'sizes' attribute. */ public function filter_content_image_sizes_attr( string $sizes, array $size ) : string { $width = $size[0]; if ( 740 <= $width ) { $sizes = '100vw'; } if ( kadence()->has_sidebar() ) { $sizes = '(min-width: 960px) 75vw, 100vw'; } return $sizes; } /** * Adds custom image sizes attribute to enhance responsive image functionality for post thumbnails. * * @param array $attr Attributes for the image markup. * @param WP_Post $attachment Attachment post object. * @param string|array $size Registered image size or flat array of height and width dimensions. * @return array The filtered attributes for the image markup. */ public function filter_post_thumbnail_sizes_attr( array $attr, WP_Post $attachment, $size ) : array { $attr['sizes'] = '100vw'; if ( kadence()->has_sidebar() ) { $attr['sizes'] = '(min-width: 960px) 75vw, 100vw'; } return $attr; } }