WordPress图库中的黑白缩略图

时间:2013-12-27 作者:Anna

我想在页面上有黑白缩略图,我想在鼠标打开和显示大图像时以彩色显示图像(在灯箱中)

我有这个->

add_action(\'after_setup_theme\',\'bw_images_size\');
function bw_images_size() {
    $crop = get_option(\'thumbnail_crop\')==1 ? true : false;
    add_image_size(\'thumbnail-bw\', get_option(\'thumbnail_size_w\'), get_option(\'thumbnail_size_h\'), $crop);
}

add_filter(\'wp_generate_attachment_metadata\',\'bw_images_filter\');
function bw_images_filter($meta) {
    $file = wp_upload_dir();
    $file = trailingslashit($file[\'path\']).$meta[\'sizes\'][\'thumbnail-bw\'][\'file\'];
    list($orig_w, $orig_h, $orig_type) = @getimagesize($file);
    $image = wp_load_image($file);
    imagefilter($image, IMG_FILTER_GRAYSCALE);
    //imagefilter($image, IMG_FILTER_GAUSSIAN_BLUR);
    switch ($orig_type) {
        case IMAGETYPE_GIF:
            $file = str_replace(".gif", "-bw.gif", $file);
            imagegif( $image, $file );
            break;
        case IMAGETYPE_PNG:
            $file = str_replace(".png", "-bw.png", $file);
            imagepng( $image, $file );
            break;
        case IMAGETYPE_JPEG:
            $file = str_replace(".jpg", "-bw.jpg", $file);
            imagejpeg( $image, $file );
            break;
    }
    return $meta;
}
我有4张3尺寸的图像(1024x628、150x100、300x200)和1“name-150x100-bw.jpg”。

但我不知道如何使用这个bw。jpg。以上代码来自http://bavotasan.com/2011/create-black-white-thumbnail-wordpress但进入循环的代码只对帖子中的特色图片有效。

非常感谢。

1 个回复
SO网友:hornj

我认为最好的方法是在content is pulled into the post/page:

<?php add_filter( \'the_content\', \'add_bw_thumbnails\' ) ?>
或当图像inserted into the editor:

add_filter( \'post_thumbnail_html\', \'add_bw_thumbnails\', 10 );
add_filter( \'image_send_to_editor\', \'add_bw_thumbnails\', 10 );
然后,您只需编写函数来进行替换。是否要对所有页面执行此操作,或仅对库中的页面执行此操作,并且是否确定150x150是正确的缩略图大小?

结束

相关推荐

Link post images to post

出于某种原因,我找不到任何好的方法来将帖子图像链接到帖子。我在上找到一个脚本http://wpguy.com/plugins/linked-image/ 它可以工作,但不会删除旧链接,而是将旧链接和图像包装在新的a标记中。我想要的是删除旧链接,这样图像只包装在一个a标记中。这是我目前拥有的脚本:function wpguy_linked_image($content){ $searchfor = \'/(<img[^>]*\\/>)/\'; $r