WordPress如何处理上传图像以及如何在代码中使用它们

时间:2011-11-29 作者:Kreker

当我通过标准媒体上载器上载图像时,我注意到它上载了具有相同名称的原始图像,但创建了原始图像的其他裁剪副本,并将其重命名为originalname-150x150或-340-120,依此类推。我仔细检查了管理面板中的“媒体”选项卡,但只有小、中、大图像的尺寸,与wordpress重命名文件的尺寸不同!而且在大多数情况下,它们超过3个!那么,如何配置?我想问题是我正在使用的自定义主题,但不是,我改为默认主题。

还有一个问题,如果wordpress对我上传的图片进行裁剪。。。如何在php代码中使用它们?我可以调用任何函数来获取这些不同大小的图像吗?谢谢

2 个回复
最合适的回答,由SO网友:Joshua Abenazer 整理而成

WordPress按照上传图像的尺寸按比例裁剪图像,除非您指定的缩略图大小用于裁剪缩略图(仅为缩略图提供选项)。因此,将创建的图像重命名为其裁剪到的大小。

默认情况下,WordPress创建4个或更少的图像,具体取决于您上载的图像大小。一个是原始图像,大、中、缩略图。如果上载的图像小于缩略图中提到的大小,则不会创建额外的图像。使用此功能上载图像时,可以创建更多图像大小。

$crop = true; //if you want the image to stay proportional set this to false
add_image_size( \'extra\', 135, 135, $crop);
关于如何使用不同的大小,可以在循环中使用以下代码。

the_post_thumbnail( \'thumbnail\' );
the_post_thumbnail( \'medium\' );
the_post_thumbnail( \'large\' );
the_post_thumbnail( \'full\' ); //this will output the whole image as was uploaded
the_post_thumbnail( \'extra\' ); //if using the above add_image_size code.

SO网友:Andres Yanez

每次上载图像时,WordPress保存原始图像并创建其他尺寸,如缩略图、大尺寸或中尺寸,每个子图像尺寸的尺寸都是根据仪表板->设置->媒体设置中指定的尺寸与原始图像尺寸之间的比例关系计算的,如果需要,您可以使用以下工具添加新尺寸:

<?php add_image_size(); ?>
我不太理解这一部分:

我在“管理”面板中双击了“媒体”选项卡,但其中只有大小图像的尺寸,与wordpress重命名文件的尺寸不同!

关于列出您可以使用的所有帖子图像:

function list_post_image_sizes() {
        global $post;

        $post_images = \'\';

        $image_sizes = get_intermediate_image_sizes();

        $image_sizes[] = \'full\';

        $available_images = array_keys(
        get_children(
            array(
                \'post_parent\' => $post->ID,
                \'post_type\' => \'attachment\',
                \'post_mime_type\' => \'image\',
                \'orderby\' => \'menu_order\',
                \'order\' => \'ASC\'
            )
        )
    );


        if(!empty($available_images))

        foreach($available_images as $image_id) :

    foreach ($image_sizes as $size) :

        $post_images .= wp_get_attachment_image($image_id, $size);  

    endforeach; 

        endforeach;

        echo $post_images;


}

结束

相关推荐

Images don't show up

我刚刚安装了一个新的多站点安装。一切都像我一样工作,只是图像没有显示在任何子网站上。Any idea why the images don\'t show up?我正在共享Windows服务器(由Arvixe.com托管)中的IIS6上运行Wordpress 3.1.1。辅助站点位于子目录而不是子域中。主站点的图像与标题图像一样有效,但子站点中的图像不会显示。我知道这些图片在博客中出现时,正在正确上传。服务器上的dir文件夹。如果我这样导航它们,它们也会出现:http://www.example.com/