如何让CMB2以特定大小显示单个图像

时间:2018-03-28 作者:Noski

尝试让CMB2插件在页面上以WP默认中等大小显示图像。我可以让它显示图像,但该图像可以是用户想要的任何大小。我宁愿它被裁剪成固定大小。

在我设置的CMB职能中:

        add_action( \'cmb2_admin_init\', \'cmb2_page\' );

        function cmb2_page() {

        $prefix = \'cmb_one_\';


        $cmb_two->add_field( array(
          \'name\'          => __( \'Image Loader\', \'cmb2\' ),
          \'desc\'          => \'Upload an image or enter an URL.\',
          \'id\'            => $prefix . \'image_two\',
          \'type\'          => \'file\',
            \'options\' => array(
                \'url\' => true,
            ),
            \'text\'    => array(
                \'add_upload_file_text\' => \'Add Image\' 
            ),
            \'query_args\' => array(
                \'type\' => array(
                    \'image/jpeg\',
                    \'image/png\',
                ),
            ),
            \'preview_size\' => \'medium\', // Image size to use when previewing in the admin.
           ) );

        }
在页面上,我有:

      <?php
          echo $image_two = wp_get_attachment_image( get_post_meta( get_the_ID(), \'cmb_one_image_two\', 1 ), \'medium\' );
      ?>
如果我只使用以下工具,我就可以获得要显示的图像:

      <?php
          echo  \'<img src="\'. $image_two .\'"  alt="image dis">\';
      ?>
但是如果我这样做,就没有办法控制图像的大小了?

1 个回复
最合适的回答,由SO网友:sandrodz 整理而成

您可以获取附件的ID,然后使用该ID获取所需的任何大小。

https://github.com/CMB2/CMB2/wiki/Field-Types#file

文件上传器。默认情况下,它将存储文件url并允许附件或url。This field type will also store the attachment ID (useful for getting different image sizes). It will store it in $id . \'_id\', 因此,如果您的字段id为wiki\\u test\\u image,则该id存储在wiki\\u test\\u image\\id中。您还可以将其限制为仅允许附件(不能手动键入URL),如果您计划使用附件id,这也很有用。该示例显示了其默认值,其中可能包含内联注释的值。

wp_get_attachment_image( get_post_meta( get_the_ID(), \'cmb_one_image_two_id\', 1 ), \'medium\' );
如果要将其裁剪为其他大小:

wp_get_attachment_image( get_post_meta( get_the_ID(), \'cmb_one_image_two_id\', 1 ), \'different_size\' );
并且在functions.php 使用add_image_size

add_image_size( \'different_size\', 220, 180 );

结束

相关推荐

Images in Blog List

我只是改变了主题。我的博客页面列表用于显示我在每篇文章中使用的图像(内容图像,而非特色图像)。我使用图像的URL,而不是媒体库。单个帖子页面显示图像,但博客列表页面不会显示图像,除非我将图像添加到媒体库中。是否有任何代码和/或插件可用于确保在我将图像添加到单个帖子的内容时,该图像包含在博客列表页面上?是否有办法填充过去包含图像但不再在列表页上显示图像的帖子?谢谢