function test_tevkori_get_sizes_string() { // make an image $id = $this->_test_img(); $sizes = tevkori_get_sizes($id, 'medium'); $sizes_string = tevkori_get_sizes_string($id, 'medium'); $expected = 'sizes="' . $sizes . '"'; $this->assertSame($expected, $sizes_string); }
/** * Filter to add srcset and sizes attributes to post thumbnails and gallery images. * * @see wp_get_attachment_image_attributes * @return array Attributes for image. */ function tevkori_filter_attachment_image_attributes($attr, $attachment, $size) { if (!isset($attr['srcset'])) { $srcset = tevkori_get_srcset($attachment->ID, $size); // Set the srcset attribute if one was returned. if ($srcset) { $attr['srcset'] = $srcset; if (!isset($attr['sizes'])) { $sizes = tevkori_get_sizes($attachment->ID, $size); // Set the sizes attribute if sizes were returned. if ($sizes) { $attr['sizes'] = $sizes; } } } } return $attr; }
/** * @expectedDeprecated tevkori_get_sizes * @expectedDeprecated tevkori_get_sizes_string */ function test_tevkori_get_sizes_string() { // Make an image. $id = self::$large_id; $sizes = tevkori_get_sizes($id, 'medium'); $sizes_string = tevkori_get_sizes_string($id, 'medium'); $expected = 'sizes="' . $sizes . '"'; $this->assertSame($expected, $sizes_string); }
/** * Filter to add srcset attributes to post_thumbnails * * @see 'post_thumbnail_html' * @return string HTML for image. */ function tevkori_filter_post_thumbnail_html($html, $post_id, $post_thumbnail_id, $size, $attr) { // if the HTML is empty, short circuit if ('' === $html) { return; } $sizes = tevkori_get_sizes($post_thumbnail_id, $size); // Build the data-sizes attribute if sizes were returned. if ($sizes) { $sizes = 'sizes="' . $sizes . '"'; } $srcset = tevkori_get_srcset_string($post_thumbnail_id, $size); $html = preg_replace('/(src\\s*=\\s*"(.+?)")/', '$1 ' . $sizes . ' ' . $srcset, $html); return $html; }
/** * Returns a 'sizes' attribute. * * @since 2.2.0 * @deprecated 3.0.0 Use 'wp_get_attachment_image_sizes()' * * @see wp_get_attachment_image_sizes() * * @param int $id Image attachment ID. * @param array|string $size Image size. Accepts any valid image size, or an array of width and height * values in pixels (in that order). Default 'medium'. * @param array $args { * Optional. Arguments to retrieve posts. * * @type array|string $sizes An array or string containing of size information. * @type int $width A single width value used in the default 'sizes' string. * } * @return string|bool A valid source size list as a 'sizes' attribute or false. */ function tevkori_get_sizes_string($id, $size = 'medium', $args = null) { _deprecated_function(__FUNCTION__, '3.0.0', 'wp_get_attachment_image_sizes()'); if ($args) { $sizes = tevkori_get_sizes($id, $size, $args); } else { $sizes = wp_get_attachment_image_sizes($id, $size); } return $sizes ? 'sizes="' . esc_attr($sizes) . '"' : false; }
/** * Filter to add srcset and sizes attributes to post thumbnails and gallery images. * * @see wp_get_attachment_image_attributes * @return array Attributes for image. */ function tevkori_filter_attachment_image_attributes($attr, $attachment, $size) { $attachment_id = $attachment->ID; if (!isset($attr['sizes'])) { $sizes = tevkori_get_sizes($attachment_id, $size); // Build the sizes attribute if sizes were returned. if ($sizes) { $attr['sizes'] = $sizes; } } if (!isset($attr['srcset'])) { $srcset = tevkori_get_srcset($attachment_id, $size); $attr['srcset'] = $srcset; } return $attr; }