Corte amigável de pós-miniaturas?

32

Existe uma maneira de permitir que meus usuários definam a área de recorte de uma miniatura de postagem? As miniaturas são sempre pós-anexos existentes, prefiro não criar um anexo extra por miniatura.

As miniaturas das postagens devem ter 200 x 100 pixels e vir de uma das imagens usadas na postagem. Então, no meu mundo ideal, quando você clica no link "Definir imagem em destaque", você obtém uma visão geral das imagens já incluídas e, ao clicar em uma delas, pode definir a área da cultura (movendo ou redimensionando, mas mantendo a proporção de 2x1). Quando você clica em "OK", a nova miniatura de postagem é salva com o anexo original (no campo _wp_attachment_metadata['sizes']['post-thumbnail'] metadados, por exemplo), não como um novo anexo. Usar uma imagem que já é usada como uma miniatura de postagem para outra postagem não deve ser permitido, ou pelo menos dar um aviso.

Acredito que o editor de imagens incluído não atenda às minhas necessidades, pois você pode optar por editar todas as versões da imagem ou a miniatura comum, mas não apenas a miniatura da postagem. Eu também acho um pouco confuso para saber quais versões eu estou editando, então eu acho que meus usuários terão ainda mais problemas com isso.

Existe um plugin que faz o que eu quero, ou que eu possa facilmente estender às minhas necessidades?

Atualização: exemplo de interface do usuário

Eu realmente gosto da interface do seletor de imagens do Mac OS X Address Book: você seleciona uma imagem e redimensiona um aparador de miniaturas de proporção fixa por meio de um controle deslizante. Você também pode arrastar a imagem de base ao redor. Você pode expandir essa ideia para vários tamanhos de imagem (eu tenho um post-thumbnail e post-thumbnail-1/2 que é metade desse tamanho, por exemplo). Deixe o usuário selecionar o (s) tamanho (s) que ele está editando agora com caixas de seleção e desenhe os retângulos de recorte apropriados na tela.

    
por Jan Fabry 13.09.2010 / 12:18
fonte

8 respostas

11

O código ainda está uma bagunça, mas parece funcionar, mesmo no IE 8. Eu pretendo lançá-lo no repositório, mas enquanto isso você pode jogar com minha versão atual . Para acessá-lo, clique em "Editar imagem" ao adicionar ou editar uma imagem, ela substitui o editor de imagens usual (eles são muito difíceis de combinar). Como a maioria da área de administração usa a miniatura regular e minha versão atual edita a miniatura da postagem, pode parecer que o código não tem efeito, mas tente exibindo uma miniatura de postagem e você deverá vê-la mudar.

Este plugin requer o meu Image Resizer sob demanda , que também ainda é uma bagunça, para fazer o redimensionamento real.

    
por Jan Fabry 16.11.2010 / 17:17
fonte
4

Sua melhor aposta é usar um corte de imagem baseado em javascript e, em seguida, php combinado com ImageMagick ou Image GD.

Ele teria que ser escrito em suas funções ou como um plug-in, pois eu não sei de qualquer plug-in off-the-word, o que é surpreendente.

Há um corte de imagem YUI com a opção de salvar com base no php enlace

Aqui está um tutorial diferente sobre como usar um jquery cropper com php
enlace

Uma terceira opção muito semelhante ao link acima, usando o mesmo jquery cropper, mas código diferente. enlace

Aqui está outro usando o jcrop do jquery, enlace

Quem está preparado para um novo plug-in, isso certamente seria popular:)

    
por Wyck 11.11.2010 / 03:23
fonte
1

Supondo que você já tenha adicionado suporte para post-thumbnails, já que está falando sobre a opção "Imagem em destaque".

Se sim, você tem uma opção para adicionar um novo tamanho de imagem ao array de upload. Então, por padrão, você tem miniatura, médio, grande. No seguinte trecho de código, isso adiciona uma quarta imagem ao sortimento, com base no tamanho que você desejar. Este pedaço de código seria adicionado ao seu arquivo functions.php.

add_image_size( 'new_thumb', 200, 100, true );

"new-thumb" = o nome da nova imagem personalizada
"200" = largura
"100" = altura
"true" = opção de cultura difícil. Isso forçará uma imagem a ser cortada na largura / altura definida. Sem, apenas dimensiona a proporção.

Agora, para exibir a nova miniatura em uma página ou em uma matriz, você deve inserir o seguinte em seu HTML

<?php the_post_thumbnail('new_thumb'); ?>
    
por cnix 29.10.2010 / 22:29
fonte
1

Você pode querer usar CSS para ter grande flexibilidade, corrigir miniaturas em seu tema (se desejado) e evitar confusão de arquivos:

enlace

Lembre-se de que toda a imagem será carregada, por isso não use seus originais de 3MB para isso.

Atualização conforme solicitação de Jan: Se você quiser um recorte dinâmico, considere:

  • Para user = administrator, crie CSS via PHP; você pode apenas vincular ao php que lê as configurações apropriadas e ajustar os parâmetros de recorte de acordo.
  • Para user = visitor, use JavaScript para alterar os parâmetros de recorte no atributo de estilo da imagem.
  • Como uma solução menos invasiva, considere criar um shortcode (através do ótimo plugin Shortcode Exec PHP) como [thumb w = ?? h = ??] url [/ thumb] que você pode traduzir para a tag HTML apropriada com CSS inline.
por Raphael 09.11.2010 / 21:20
fonte
1

Há um plug-in antigo chamado WP Post Thumbnail, que às vezes usamos. Não é perfeito, e há alguns bugs menores com a versão mais recente do WP (ele não é atualizado desde 2008, portanto não é necessariamente confiável). enlace

    
por gabrielk 12.11.2010 / 03:32
fonte
1

Eu acredito que você está procurando por isso: enlace

Eu não tentei fazer isso, mas ele deve oferecer a funcionalidade que você está procurando.

A página do plugin original aqui. enlace

Estou precisando disso para um projeto em que estou trabalhando também.

    
por tomcat23 16.11.2010 / 21:15
fonte
1

Acho que a solução final para esse problema seria modificar o plug-in de enlace

e personalize-o para que qualquer tamanho de imagem personalizado definido em seu arquivo functions.php (usando add_image_size( 'new_thumb', 200, 100, true ); ) seja usado automaticamente e obtenha o código para substituir (ou estender) o link "editar" quando quiser modificar um imagem.

Utilizando essa abordagem, o wordpress pode continuar a criar seus tamanhos de imagem aplicáveis normalmente, mas se você quiser modificar especificamente a área recortada de qualquer imagem específica, poderá substituí-la. esse tamanho. Hmmm ... embora pareça confuso ler sobre isso novamente é exatamente o que eu sinto que está faltando.

Atualmente, acredito que o plug-in salve esses tamanhos de imagem personalizados em um campo personalizado dentro de uma postagem, em vez de na postagem de uma imagem aplicável.

    
por NetConstructor.com 24.11.2010 / 16:08
fonte
1

Eu decidi cortar miniaturas usando o "wp_get_attachment_image" nativo ... aqui vai um exemplo de uma galeria de imagens, com miniaturas cortadas

enlace

Atenciosamente

    
por Alvaro Neto 27.12.2010 / 16:35
fonte