Kịch bản này chủ yếu hoạt động:
$_wp_additional_image_sizes[$name] = array[$width, $height, $crop];
$image_sizes = get_intermediate_image_sizes[];
foreach [$image_sizes as $size] {
echo $size . ' ';
echo $image_sizes[ $size ][ 'width' ] = intval[ get_option[ "{$size}_size_w" ] ];
echo ' x ';
echo $image_sizes[ $size ][ 'height' ] = intval[ get_option[ "{$size}_size_h" ] ] . '
';
}
Các kích thước hình ảnh WordPress mặc định [hình thu nhỏ, trung bình, lớn, v.v.] hiển thị kích thước chính xác của chúng.
Nhưng vấn đề là kích thước hình ảnh tùy chỉnh luôn hiển thị chiều rộng và chiều cao của chúng là 0.
Đây là những gì được trả lại:
thumbnail 150 x 150
medium 300 x 300
medium_large 768 x 0
large 1024 x 1024
post-thumbnail 0 x 0
Custom Blog Image 0 x 0
Additional Food Image 0 x 0
Tôi đang làm gì sai?
Tái bút: Tôi đã đăng ký các kích thước hình ảnh bổ sung như thế này:
add_image_size[ 'Custom Blog Image', 1600, 800, $crop = true ];
add_image_size[ 'Additional Food Image', 800, 600, $crop = true ];
Tôi có thể sử dụng chức năng nào trong một plugin để có được kích thước của mọi kích thước hình ảnh [trong một mảng tốt nhất] được xác định trong một chủ đề con?
Chỉ để làm rõ, tôi không hỏi làm thế nào để tạo kích thước hình ảnh mới.
Hỏi ngày 11 tháng 11 năm 2011 lúc 18:03Nov 11, 2011 at 18:03
1
Tìm thấy nó ở đây. Câu trả lời là:
global $_wp_additional_image_sizes;
print '';
print_r[ $_wp_additional_image_sizes ];
print '
';
Đã trả lời ngày 11 tháng 11 năm 2011 lúc 18:09Nov 11, 2011 at 18:09
MTTMTTMTT
3,47812 Huy hiệu vàng45 Huy hiệu bạc72 Huy hiệu Đồng12 gold badges45 silver badges72 bronze badges
2
WordPress Core không có phương pháp gốc để có kích thước hình ảnh trung gian [nghĩa là chiều rộng và chiều cao], nhưng hàm trợ giúp sau đây sẽ có tất cả các kích thước hình ảnh đã đăng ký cùng với kích thước của chúng:
/**
* Get all the registered image sizes along with their dimensions
*
* @global array $_wp_additional_image_sizes
*
* @link //core.trac.wordpress.org/ticket/18947 Reference ticket
*
* @return array $image_sizes The image sizes
*/
function _get_all_image_sizes[] {
global $_wp_additional_image_sizes;
$default_image_sizes = get_intermediate_image_sizes[];
foreach [ $default_image_sizes as $size ] {
$image_sizes[ $size ][ 'width' ] = intval[ get_option[ "{$size}_size_w" ] ];
$image_sizes[ $size ][ 'height' ] = intval[ get_option[ "{$size}_size_h" ] ];
$image_sizes[ $size ][ 'crop' ] = get_option[ "{$size}_crop" ] ? get_option[ "{$size}_crop" ] : false;
}
if [ isset[ $_wp_additional_image_sizes ] && count[ $_wp_additional_image_sizes ] ] {
$image_sizes = array_merge[ $image_sizes, $_wp_additional_image_sizes ];
}
return $image_sizes;
}
Sẽ kết quả đầu ra tương tự như:
Array
[
[thumbnail] => Array
[
[width] => 150
[height] => 150
[crop] => 1
]
[medium] => Array
[
[width] => 300
[height] => 300
[crop] =>
]
[medium_large] => Array
[
[width] => 768
[height] => 0
[crop] =>
]
[large] => Array
[
[width] => 1024
[height] => 1024
[crop] =>
]
]
Đã trả lời ngày 6 tháng 1 năm 2017 lúc 21:18Jan 6, 2017 at 21:18
rjbrjbrjb
1.30713 Huy hiệu bạc14 Huy hiệu đồng13 silver badges14 bronze badges
7
Nếu bạn chỉ cần tên của tất cả các kích thước hình ảnh, bạn có thể sử dụng get_intermediate_image_sizes:
Đã trả lời ngày 22 tháng 5 năm 2013 lúc 11:32May 22, 2013 at 11:32
Sqrensqrensqren
2812 Huy hiệu bạc5 Huy hiệu Đồng2 silver badges5 bronze badges
Vì WP 5.3, nó đủ để sử dụng chức năng này:
wp_get_registered_image_subsizes[];
Đã trả lời ngày 27 tháng 7 năm 2020 lúc 15:11Jul 27, 2020 at 15:11
wp-mario.ruwp-mario.ruwp-mario.ru
2692 Huy hiệu bạc4 Huy hiệu đồng2 silver badges4 bronze badges
1
Nếu câu trả lời khác không hoạt động, hãy sử dụng mã này, vì vậy nó sẽ chạy sau khi WordPress được khởi tạo.
add_action['init', 'get_all_image_sizes'];
function get_all_image_sizes[]{
global $_wp_additional_image_sizes;
print '';
print_r[ $_wp_additional_image_sizes ];
print '
';
}
Đã trả lời ngày 12 tháng 12 năm 2016 lúc 10:41Dec 12, 2016 at 10:41
1
Sử dụng các chức năng sau:
get_intermediate_image_sizes[]; // get all the image size names.
wp_get_additional_image_sizes[]; // get all the additional image size data.
wp_get_registered_image_subsizes[]; // get all the image size data.
Đã trả lời 2 ngày trước2 days ago
Người đóng góp mới
Haoqiren là một đóng góp mới cho trang web này. Hãy quan tâm đến việc yêu cầu làm rõ, bình luận và trả lời. Kiểm tra mã ứng xử của chúng tôi.