如何在两个独立的变量中存储特色图像的宽度和高度?

时间:2018-04-21 作者:Nimesh

我添加了这样一个函数来生成自定义图像大小

add_action( \'after_setup_theme\', \'slider_image\');

    function slider_image(){
        add_image_size( \'slide_image\', 540, 405);
    }
我想将宽度和高度存储到2 separate variables, 这样我就可以compare it later 如果特征图像是less than the width or height, 我可以在博客页面上隐藏这样的帖子!

这样做的逻辑对我来说是一种奖励!

如果您能以最好的方式提供帮助,我们将不胜感激!

1 个回复
SO网友:Sally CJ

您始终可以使用wp_get_additional_image_sizes() 函数检索图像“大小”(即宽度、高度和“裁剪”选项),如下所示:

$image_sizes = wp_get_additional_image_sizes();
if ( isset( $image_sizes[\'slide_image\'] ) ) {
    $size = $image_sizes[\'slide_image\'];
    var_dump( $size ); // Demo
    echo $size[\'width\']; // Demo
}

UPDATE

针对您的评论,

我想获得当前帖子的特色图片宽度和高度。。如何做到这一点

使用wp_get_attachment_image_src() 功能:

返回的数组包含四个值:附件图像src的URL、图像文件的宽度、图像文件的高度,以及表示返回数组描述的是中间(生成的)图像大小还是原始的全尺寸上载的布尔值。

—更多关于https://developer.wordpress.org/reference/functions/wp_get_additional_image_sizes/

但无论如何,试试这个function:

// See https://wordpress.stackexchange.com/q/301465/137402
function my_wpse301465( $image_size, $post = null ) {
    $post_thumbnail_id = get_post_thumbnail_id( $post );

    $info = $post_thumbnail_id ?
        wp_get_attachment_image_src( $post_thumbnail_id, $image_size ) : null;

    if ( $info ) {
        $sizes = wp_get_additional_image_sizes();
        $size = isset( $sizes[ $image_size ] ) ? $sizes[ $image_size ] : null;

        return $size ? (
            $info[1] < $size[\'width\'] ||
            $info[2] < $size[\'height\']
        ) : false;
    }
}
下面是您可以如何使用它:

// Or pass a post ID as in my_wpse301465( \'slide_image\', 123 ).
if ( my_wpse301465( \'slide_image\' ) ) {
    echo \'Hide featured image.\';
} else {
    echo \'Show featured image.\';
}

结束

相关推荐

functions php file

好的,我正在编辑我的函数。Wordpress中的php文件(关于我的子主题),我删除了一行代码(在删除之前我复制了代码)。这导致了白色的死亡屏幕,所以我简单地粘贴回我删除的代码(是的,我将它粘贴回我删除它的位置),但我仍然有白色的死亡屏幕。我已经完成了这些功能。我上周完成的一个备份中的php文件(功能齐全),并通过FTP将其上载到正确的文件夹,但没有任何效果。我已经尝试再次激活父主题,并创建了另一个子主题,以便比较这两个功能。php文件(将全新的、有效的子主题与不再工作的原始子主题进行比较),代码看起来是