gi_fullsize(); gi_medium(); gi_thumbnail(); Adicionando um parâmetro, ele vai parar dentro da tag de imagem gerada. Por padrão, o plugin retornará uma string contendo a tag da imagem gerada, mas você pode passar o segundo parametro como true para pedir que ele faça a impressão desta string." Version: 0.8 Author: DGmike Author URI: http://dgmike.wordpress.com */ /** * Pega o primeiro arquivo que foi feito o upload filho (relacionado) deste post * * @param object $post Post global gerado pelo the_post() * @return object Primeiro anexo (imagem) do post */ function gi_file ($all = false){ global $post; $images = array (); if ($itens = get_posts(array('post_type' => 'attachment', 'post_parent' => $post->ID)) ) { foreach ($itens as $item) { apply_filters('the_title', $attachment->post_title); $images[] = $item; } } return $all ? $images : reset($images); } /** * Pega as urls geradas de uma imagem * * @param object $image Imagem gerada pelo gi_file() * @param string $size Tamanho de output que você desejaria receber. Os tamanhos disponivéis são: full, medium, thumbnail e all para receber os três tamanhos em um array * @param bool $full Retornar todas as informações? Se true, retornará um array com url, largura e altura * @return array|string */ function gi_url($image, $size, $full = false) { $sizes = array ('all', 'fullsize', 'medium', 'thumbnail'); if (!$image) $image = gi_file(); if (!$image || array_key_exists($size, $sizes) ) return; $sizes = array ('fullsize', 'medium', 'thumbnail'); $urls = array (); foreach ($sizes as $s) { if ($full) { $urls[$s] = wp_get_attachment_image_src($image->ID, $s); } else { list ($url, $width, $height) = wp_get_attachment_image_src($image->ID, $s); $urls[$s] = $url; } } if ($size == 'all') return $urls; return $urls[$size]; } /** * GImage retorna a tag da imagem no tamanho desejado * * @param string $size Tamhno que você deseja retornar * @return string */ function gImage ($size) { $image = gi_file (); return wp_get_attachment_image($image->ID, $size); } /** * Retorna a imagem em Fullsize * * @param bool $print Gostaria de imprimir a tag img? */ function gi_fullsize($print = false) { $return = gImage('fullsize'); if ($print) print $return; else return $return; } /** * Atalho para fullsize * * @param bool $print Gostaria de imprimir a tag img? */ function gi_full ($print = false) { return gi_fullsize($print); } /** * Retorna a imagem em tamanho Medium * * @param bool $print Gostaria de imprimir a tag img? */ function gi_medium($print = false) { $return = gImage('medium'); if ($print) print $return; else return $return; } /** * Retorna a imagem em Thumbnail * * @param bool $print Gostaria de imprimir a tag img? */ function gi_thumbnail($print = false) { $return = gImage('thumbnail'); if ($print) print $return; else return $return; } /** * Atalho para thumbnail * * @param bool $print Gostaria de imprimir a tag img? */ function gi_thumb ($print = false) { return gi_thumbnail($print); } /** * Get a library of images from a post * * @param string $size Escolha um tamanho que voce gostaria que retornasse: all, fullsize, medium, thumbnail * @param bool $print Você gostaria de imprimir o resultado? (somente valido se o $return_as for 'string') * @param string $return_as Escolha: array, brute_array, string * @return string|array */ function gi_library ($size = 'thumbnail', $extra = '', $print = false, $return_as = 'string') { $images = gi_file(true); $imgs = array(); foreach ($images as $image) $imgs[] = gi_url($image, 'all', true); $images = array(); foreach ($imgs as $img) { if ($size == 'all') $images[] = $img; else $images[] = array ('title' => $img['title'], $size => $img[$size]); } if ($return_as == 'brute_array') return $images; $imgs = array(); foreach ($images as $image) { if (in_array($size, array('fullsize', 'medium', 'thumbnail'))) $imgs[] = sprintf('', $image[$size][0], $image[$size][1], $image[$size][2], $image['title'], $extra); if ($size == 'all') { $imgs[] = sprintf('', $image['fullsize'][0], $image['fullsize'][1], $image['fullsize'][2], $image['title'], $extra); $imgs[] = sprintf('', $image['medium'][0], $image['medium'][1], $image['medium'][2], $image['title'], $extra); $imgs[] = sprintf('', $image['thumbnail'][0], $image['thumbnail'][1], $image['thumbnail'][2], $image['title'], $extra); } } if ($return_as == 'array') return $imgs; $imgs = implode("\n", $imgs); if ($return_as == 'string') { if ($print) print $imgs; return $imgs; } } ?>