Sufixo de imagens no WordPress

wordpress.png

Atenção: A dica a seguir deixou de funcionar a partir da versão 3.5 do WordPress.

Gostei muito das últimas atualizações do WordPress porque adicionaram funcionalidades que eu obtinha apenas por meio de plugins. O gerenciamento de imagens, por exemplo, faço agora pela Biblioteca de Mídia. O sistema oferece ferramentas básicas de edição de figuras, galerias automáticas e a geração automática de miniaturas de figuras com grandes dimensões.

As miniaturas são sinalizadas por meio de sufixos acrescentados aos seus nomes. Contudo, os sufixos são criados a partir das dimensões (largura x altura) das miniaturas, dificultando uma identificação rápida e eventuais alterações futuras.

As miniaturas deveriam ser nomeadas, de acordo com seu tamanho, com sufixos padronizados como “large”, “medium” e “thumbnail”. Ou, idealmente, com sufixos definidos pelo usuário. Infelizmente, devido à forma como essa rotina foi implementada, até o momento não há plugins para este fim.

Encontrei uma gambiarra um paliativo, proposto por Jstn Ryan, que estou usando no momento:

  1. procurar, no arquivo /wp-includes/media.php, pela definição da variável $suffix:
    if ( !$suffix )
    	$suffix = "{$dst_w}x{$dst_h}";
  2. substituí-la pelo código abaixo:
    if ( !$suffix )
    {
    	switch ($max_w) {
    		case (intval(get_option('large_size_w'))):
    			$suffix = 'large';
    			break;
    		case (intval(get_option('medium_size_w'))):
    			$suffix = 'medium';
    			break;
    		case (intval(get_option('thumbnail_size_w'))):
    			$suffix = 'thumbnail';
    			break;
    		default:
    			$suffix = 'other';
    	}
    }

Está funcionando muito bem. Mas, como é um hack (alteração do código-fonte de um arquivo do WordPress), precisa ser refeito a cada atualização de versão. Nem tudo é perfeito…

Atualização: Um dos males dos hacks é não durarem muito tempo. A partir da versão 3.5 do WordPress, essa dica não funciona mais.

2 comentários sobre “Sufixo de imagens no WordPress

Deixe um comentário: