如果我只使用src来获取图像,如何使用图像的缩略图大小

时间:2017-08-28 作者:James Mitchell

我有一个用于图像的自定义字段,并以这种方式使用它:

<?php $item_img = get_sub_field(\'image\'); ?>
<img src="<?php echo $item_img ?>" />
但我想使用图像的缩略图版本,在wordpress中设置为150x150。

如何使用这种类型的设置?

我必须设置自定义项吗add_image_size() 或者wordpress是否有重复的拇指邮件大小的图像?

2 个回复
SO网友:David Lee

因为您正在使用get_sub_field() 我猜你在have_rows() (中继器),理论上它应该是这样工作的:

$image = get_sub_field(\'image\');
<img src="<?php echo $image[\'url\']; ?>" alt="<?php echo $image[\'alt\'] ?>" />
这就是你能得到的:

$image[\'url\'] //this is the full image
echo $image[\'sizes\'][\'medium\']; //medium image
echo $image[\'sizes\'][\'thumbnail\']; //thumbnail image
echo $image[\'sizes\'][\'yourcustomsize\']; //custom sized image
另一种方法是使用:

$size = \'full\'; // (thumbnail, medium, large, full or custom size)
echo wp_get_attachment_image( $imageID, $size );
现在,如果这些不适用于你,那意味着你的图像仍然保存为URL,而不是对象。尝试重新保存上载图像的帖子/页面,或者如果您有一组图像,则可能需要使用其他插件重新加载并创建sizes.

SO网友:Jacob Peattie

您始终可以在“自定义字段>字段组”中编辑字段以返回ID。然后您可以这样使用它:

<img src="<?php echo wp_get_attachment_image_src( get_sub_field( \'image\' ), \'thumbnail\' )[0]; ?>">
如果它不在您的控件中,并且该字段设置为仅返回url,则可以设置get_sub_field()false 要获取ID,因为ACF始终保存ID,无论该设置如何,并将其设置为false 意味着您获得原始值。

那就是:

<?php $image_id = get_sub_field( \'image\', false ); ?>
<img src="<?php echo wp_get_attachment_image_src( $image_id, \'thumbnail\' )[0]; ?>">

结束

相关推荐

Run WP-CLI using PHP

我已经在Mac上安装了WP-CLI,下一步是使用PHP脚本执行WP-CLI命令。我试图用以下方式实现它,但我没有看到任何事情发生。有人能看看我的代码,告诉我我做错了什么吗?我正在使用Docker并在中安装了WPDocker/xamp/www/wordpress_wwws/htdocs 目录我是否需要从WP目录中执行PHP代码,或者可以在服务器上的任何目录中执行PHP代码?define( \'WP_CLI_ROOT\', \'/usr/local/bin/wp\' ); include WP_CLI

如果我只使用src来获取图像,如何使用图像的缩略图大小 - 小码农CODE - 行之有效找到问题解决它

如果我只使用src来获取图像,如何使用图像的缩略图大小

时间:2017-08-28 作者:James Mitchell

我有一个用于图像的自定义字段,并以这种方式使用它:

<?php $item_img = get_sub_field(\'image\'); ?>
<img src="<?php echo $item_img ?>" />
但我想使用图像的缩略图版本,在wordpress中设置为150x150。

如何使用这种类型的设置?

我必须设置自定义项吗add_image_size() 或者wordpress是否有重复的拇指邮件大小的图像?

2 个回复
SO网友:David Lee

因为您正在使用get_sub_field() 我猜你在have_rows() (中继器),理论上它应该是这样工作的:

$image = get_sub_field(\'image\');
<img src="<?php echo $image[\'url\']; ?>" alt="<?php echo $image[\'alt\'] ?>" />
这就是你能得到的:

$image[\'url\'] //this is the full image
echo $image[\'sizes\'][\'medium\']; //medium image
echo $image[\'sizes\'][\'thumbnail\']; //thumbnail image
echo $image[\'sizes\'][\'yourcustomsize\']; //custom sized image
另一种方法是使用:

$size = \'full\'; // (thumbnail, medium, large, full or custom size)
echo wp_get_attachment_image( $imageID, $size );
现在,如果这些不适用于你,那意味着你的图像仍然保存为URL,而不是对象。尝试重新保存上载图像的帖子/页面,或者如果您有一组图像,则可能需要使用其他插件重新加载并创建sizes.

SO网友:Jacob Peattie

您始终可以在“自定义字段>字段组”中编辑字段以返回ID。然后您可以这样使用它:

<img src="<?php echo wp_get_attachment_image_src( get_sub_field( \'image\' ), \'thumbnail\' )[0]; ?>">
如果它不在您的控件中,并且该字段设置为仅返回url,则可以设置get_sub_field()false 要获取ID,因为ACF始终保存ID,无论该设置如何,并将其设置为false 意味着您获得原始值。

那就是:

<?php $image_id = get_sub_field( \'image\', false ); ?>
<img src="<?php echo wp_get_attachment_image_src( $image_id, \'thumbnail\' )[0]; ?>">

相关推荐

无法在模板函数.php中使用IS_HOME

我试图在标题中加载一个滑块,但只在主页上加载。如果有帮助的话,我正在使用Ultralight模板。我正在尝试(在template functions.php中)执行以下操作:<?php if ( is_page( \'home\' ) ) : ?> dynamic_sidebar( \'Homepage Widget\' ); <?php endif; ?> 但这行不通。现在,通过快速的google,我似乎需要将请