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 (tốt nhất là trong một mảng) đượ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 một kích thước hình ảnh mới.
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 (tốt nhất là trong một mảng) đượ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 một kích thước hình ảnh mới.
Câu trả lời:
Tìm thấy nó ở đây . Câu trả lời là:
global $_wp_additional_image_sizes;
print '<pre>';
print_r( $_wp_additional_image_sizes );
print '</pre>';
functions.php
tệp sẽ không hoạt động, nhưng hãy gắn nó vào bất kỳ chức năng nào của bạn trong tệp đó và nó sẽ hoạt động.
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_inter liền_image_sizes :
<pre>
<?php print_r(get_intermediate_image_sizes()); ?>
</pre>
Lõi WordPress không có phương thức riêng để lấy kích thước hình ảnh trung gian (nghĩa là chiều rộng và chiều cao), nhưng chức năng trợ giúp sau sẽ nhận đượ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 http://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;
}
Mà sẽ cho kết quả 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] =>
)
)
$default_image_sizes = get_intermediate_image_sizes();
như có một medium_large
kích thước kể từ WP 4.4.
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 '<pre>';
print_r( $_wp_additional_image_sizes );
print '</pre>';
}