Willkommen bei WordPress. Dies ist dein erster Beitrag. Bearbeite oder lösche ihn und beginne mit dem Schreiben!
Hallo Welt!
von raredesign | Dez 3, 2019 | Allgemein | 0 Kommentare
Cokiee Shell
Current Path : /var/www/web28/html/wp-content/plugins/autodescription/inc/classes/meta/image/ |
Current File : //var/www/web28/html/wp-content/plugins/autodescription/inc/classes/meta/image/utils.class.php |
<?php /** * @package The_SEO_Framework\Classes\Meta\Image * @subpackage The_SEO_Framework\Meta\Image */ namespace The_SEO_Framework\Meta\Image; \defined( 'THE_SEO_FRAMEWORK_PRESENT' ) or die; /** * The SEO Framework plugin * Copyright (C) 2023 - 2024 Sybre Waaijer, CyberWire B.V. (https://cyberwire.nl/) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License version 3 as published * by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ /** * Holds utility for the Image factory. * * @since 5.0.0 * @access protected * Use tsf()->image()->utils() instead. */ class Utils { /** * Fetches image dimensions. * * @since 5.0.0 * * @param int $src_id The source ID of the image. * @param string $size The size of the image to get. * It falls back to the original image if not found. * @return array The image dimensions, associative: { * The image's dimensions. * * @type int $width The image width in pixels. * @type int $height The image height in pixels. * } */ public static function get_image_dimensions( $src_id, $size ) { $data = \wp_get_attachment_metadata( $src_id ) ?? []; $data = $data['sizes'][ $size ] ?? $data; if ( isset( $data['width'], $data['height'] ) ) return [ 'width' => $data['width'], 'height' => $data['height'], ]; return [ 'width' => 0, 'height' => 0, ]; } /** * Fetches image alt tag. * * @since 5.0.0 * * @param int $src_id The source ID of the image. * @return string The image alt tag. */ public static function get_image_alt_tag( $src_id ) { return \get_post_meta( $src_id, '_wp_attachment_image_alt', true ) ?: ''; } /** * Fetches image caption. * * @since 5.0.0 * * @param int $src_id The source ID of the image. * @return string The image caption. */ public static function get_image_caption( $src_id ) { return \wp_get_attachment_caption( $src_id ) ?: ''; } /** * Fetches image filesize in bytes. Requires an image (re)generated in WP 6.0 or later. * * @since 5.0.0 * * @param int $src_id The source ID of the image. * @param string $size The size of the image used. * @return int The image filesize in bytes. Returns 0 for unprocessed/unprocessable image. */ public static function get_image_filesize( $src_id, $size ) { $data = \wp_get_attachment_metadata( $src_id ) ?: []; return ( $data['sizes'][ $size ]['filesize'] ?? $data['filesize'] ?? 0 ) ?: 0; } /** * Returns the largest acceptable image size's details. * Skips the original image, which may also be acceptable. * * @since 5.0.0 * @todo Can we maintain an aspect ratio? This must be registered first with WP, so it's unlikely. * * @param int $id The image ID. * @param int $max_size The largest acceptable dimension in pixels. Accounts for both width and height. * @param int $max_filesize The largest acceptable filesize in bytes. Default 5MB (5242880). * @return array|false { * Array of image data, or boolean false if no image is available. * * @type string $0 Image source URL. * @type int $1 Image width in pixels. * @type int $2 Image height in pixels. * @type bool $3 Whether the image is a resized image. * } */ public static function get_largest_image_src( $id, $max_size = 4096, $max_filesize = 5242880 ) { // Imply there's a correct ID set. When there's not, the loop won't run. $sizes = \wp_get_attachment_metadata( $id )['sizes'] ?? []; // law = largest accepted width. $law = 0; $size = ''; foreach ( $sizes as $_s => $_d ) { if ( ( $_d['filesize'] ?? 0 ) > $max_filesize ) continue; if ( isset( $_d['width'], $_d['height'] ) && $_d['width'] > $law && $_d['width'] <= $max_size && $_d['height'] <= $max_size ) { $law = $_d['width']; $size = $_s; // Keep looping to find the largest acceptable width ($law). } } return $size ? \wp_get_attachment_image_src( $id, $size ) : false; } }
Cokiee Shell Web 1.0, Coded By Razor
Neueste Kommentare