更改默认图片大小链接URL

时间:2011-12-22 作者:Asaf Chertkoff

当我从图库中插入带有原始图片链接的单个图片缩略图时,它会给出以下信息:

<a href="http://www.dayadamy.org/wp-content/uploads/2011/12/PC220001.jpg"><img class="alignright size-general-thumb wp-image-2264" title="title of picture" src="http://www.dayadamy.org/wp-content/uploads/2011/12/PC220001-158x130.jpg" alt="alt of picture" width="158" height="130"></a>
但我希望它检查是否有大图片的较小版本(例如1024x1024 witch是我的image\\u大小),以及是否有回声(注意href属性末尾的文件名:

<a href="http://www.dayadamy.org/wp-content/uploads/2011/12/PC220001-1024x1024.jpg"><img class="alignright size-general-thumb wp-image-2264" title="title of picture" src="http://www.dayadamy.org/wp-content/uploads/2011/12/PC220001-158x130.jpg" alt="alt of picture" width="158" height="130"></a>
如果没有这样大小的文件,请按常规进行回显。有人知道怎么做吗?

我之所以要找它,是因为我不想让我的客户开始调整他的数码相机的图像大小。到目前为止,如果我不调整图片的大小,文件的大小将是最大的,在大多数情况下是4600x3400或类似的东西(这是默认情况下数码相机输出的内容)。

任何人谢谢

1 个回复
SO网友:Rob Vermeer

您可以使用:

<?php $image_attributes = wp_get_attachment_image_src( $attachment_id, array(1024,1024) ); ?>
<a href="<?php echo $image_attributes[0]; ?>">xxx</a>
请参见http://codex.wordpress.org/Function_Reference/wp_get_attachment_image_src

如果图片太小,将显示原始图片,否则将显示裁剪版本(1024x1024)。

更新:没有正确理解您的问题。以下是您需要的:

首先,为自定义的最大大小添加缩略图大小(true是硬裁剪,false是软比例裁剪)

add_image_size( \'custom_size\', 1024, 1024, true );
然后将其也添加到函数中。php:

function custom_image_media_send_to_editor($html, $attachment_id, $attachment) {
    $attachment_ = wp_get_attachment_image_src( $attachment_id, \'custom_size\' );
    $attachment[\'url\'] = $attachment_[0];

    $post =& get_post($attachment_id);
    if ( substr($post->post_mime_type, 0, 5) == \'image\' ) {
        $url = $attachment[\'url\'];
        $align = !empty($attachment[\'align\']) ? $attachment[\'align\'] : \'none\';
        $size = !empty($attachment[\'image-size\']) ? $attachment[\'image-size\'] : \'medium\';
        $alt = !empty($attachment[\'image_alt\']) ? $attachment[\'image_alt\'] : \'\';
        $rel = ( $url == get_attachment_link($attachment_id) );

        return get_image_send_to_editor($attachment_id, $attachment[\'post_excerpt\'], $attachment[\'post_title\'], $align, $url, $rel, $size, $alt);
    }

    return $html;
}
add_filter(\'media_send_to_editor\', \'custom_image_media_send_to_editor\', 11, 3);
然后,如果图像较大,您将在帖子中添加的下一个图像将获得裁剪版本的URL,或者完整版本是图像较小。

结束

相关推荐

Gallery CSS Problem

现在,我在函数中使用一个代码来覆盖默认的WordPress gallery CSS。但出于某种原因,WP似乎只想让我在一个图库中每行放3张图片,尽管我有CSS。有人知道怎么解决这个问题吗?我的问题可以在这里找到->http://themeforward.com/demo2/features/gallery-2/ 下面是我的CSS。/*//////////////////////////////////////////////////////////////////// // Galler