Php 列出所有图像大小,包括自定义(WordPress)

Php 列出所有图像大小,包括自定义(WordPress),php,wordpress,foreach,Php,Wordpress,Foreach,此脚本主要用于: $_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( "{$siz

此脚本主要用于:

$_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" ) )  . '<br />';
}
我做错了什么

PS:我已经注册了其他图像大小,如下所示:

add_image_size( 'Custom Blog Image', 1600, 800, $crop = true );
add_image_size( 'Additional Food Image', 800, 600, $crop = true );

请尝试以下代码

//get the image size.
$image_sizes = wp_get_additional_image_sizes();
foreach ( $image_sizes as $key => $image_size ) {
    echo "{$key} ({$image_size['width']} x {$image_size['height']})";
}

请尝试以下代码

//get the image size.
$image_sizes = wp_get_additional_image_sizes();
foreach ( $image_sizes as $key => $image_size ) {
    echo "{$key} ({$image_size['width']} x {$image_size['height']})";
}

尝试此代码

此函数将返回所有已注册和默认的尺寸,包括高度、宽度和宽度

function your_thumbnail_sizes() {
        global $_wp_additional_image_sizes;
        $sizes = array();
        $rSizes = array();
        foreach (get_intermediate_image_sizes() as $s) {
            $sizes[$s] = array(0, 0);
            if (in_array($s, array('thumbnail', 'medium', 'medium_large', 'large'))) {
                $sizes[$s][0] = get_option($s . '_size_w');
                $sizes[$s][1] = get_option($s . '_size_h');
            }else {
                if (isset($_wp_additional_image_sizes) && isset($_wp_additional_image_sizes[$s]))
                    $sizes[$s] = array($_wp_additional_image_sizes[$s]['width'], $_wp_additional_image_sizes[$s]['height'],);
            }
        }
        foreach ($sizes as $size => $atts) {
            $rSizes[$size] = $size . ' ' . implode('x', $atts);
        }
        return $rSizes;
    }
像这样

Array
(
    [thumbnail] => thumbnail 150x150
    [medium] => medium 300x300
    [medium_large] => medium_large 768x0
    [large] => large 1024x1024
    [custom-size] => custom-size 220x180
)

尝试此代码

此函数将返回所有已注册和默认的尺寸,包括高度、宽度和宽度

function your_thumbnail_sizes() {
        global $_wp_additional_image_sizes;
        $sizes = array();
        $rSizes = array();
        foreach (get_intermediate_image_sizes() as $s) {
            $sizes[$s] = array(0, 0);
            if (in_array($s, array('thumbnail', 'medium', 'medium_large', 'large'))) {
                $sizes[$s][0] = get_option($s . '_size_w');
                $sizes[$s][1] = get_option($s . '_size_h');
            }else {
                if (isset($_wp_additional_image_sizes) && isset($_wp_additional_image_sizes[$s]))
                    $sizes[$s] = array($_wp_additional_image_sizes[$s]['width'], $_wp_additional_image_sizes[$s]['height'],);
            }
        }
        foreach ($sizes as $size => $atts) {
            $rSizes[$size] = $size . ' ' . implode('x', $atts);
        }
        return $rSizes;
    }
像这样

Array
(
    [thumbnail] => thumbnail 150x150
    [medium] => medium 300x300
    [medium_large] => medium_large 768x0
    [large] => large 1024x1024
    [custom-size] => custom-size 220x180
)

由于WP 5.3,使用此功能就足够了:

wp_get_registered_image_subsizes();

由于WP 5.3,使用此功能就足够了:

wp_get_registered_image_subsizes();

你能给我看一下代码吗,你在哪里注册了新的图像大小?应使用以下函数注册新的图像大小:@SagarBahadurTamang-我已更新了我的问题(最后)以反映该信息。@SagarBahadurTamang-如果有帮助,我刚刚激活了WooCommerce插件,以查看它使用的自定义图像大小是否具有相同的功能。确实如此。这意味着我上面发布的脚本显示自定义图像大小为0 x 0。add_image_size应该在'init'钩子中调用。你做到了吗?是的,我想WooCommerce插件也做到了。你能给我看看代码吗,你在哪里注册了新的图像大小?应使用以下函数注册新的图像大小:@SagarBahadurTamang-我已更新了我的问题(最后)以反映该信息。@SagarBahadurTamang-如果有帮助,我刚刚激活了WooCommerce插件,以查看它使用的自定义图像大小是否具有相同的功能。确实如此。这意味着我上面发布的脚本显示自定义图像大小为0 x 0。add_image_size应该在'init'钩子中调用。你做到了吗?是的,我想WooCommerce插件也做到了。